From 6d1952787981ba78badd4cccbb52b3d06c270435 Mon Sep 17 00:00:00 2001 From: OpenStack Jenkins Date: Tue, 1 Oct 2013 06:15:59 +0000 Subject: [PATCH] Imported Translations from Transifex Change-Id: I3c8e78ae5dfc6563aeaa2172c16249fcfa897950 --- glance/locale/ar/LC_MESSAGES/glance.po | 3370 ++++++++++++++++++++ glance/locale/bg_BG/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/bs/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/ca/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/cs/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/da/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/de/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/en_AU/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/en_GB/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/en_US/LC_MESSAGES/glance.po | 2019 ++++++++---- glance/locale/es/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/es_MX/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/fi_FI/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/fil/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/fr/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/glance.pot | 1924 ++++++++---- glance/locale/hi/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/hr/LC_MESSAGES/glance.po | 3370 ++++++++++++++++++++ glance/locale/hu/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/id/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/it/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/it_IT/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/ja/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/ka_GE/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/kn/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/ko/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/ko_KR/LC_MESSAGES/glance.po | 3373 +++++++++++++++++++++ glance/locale/ms/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/nb/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/ne/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/nl_NL/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/pl_PL/LC_MESSAGES/glance.po | 3370 ++++++++++++++++++++ glance/locale/pt/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/pt_BR/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/ro/LC_MESSAGES/glance.po | 3370 ++++++++++++++++++++ glance/locale/ru/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/ru_RU/LC_MESSAGES/glance.po | 3370 ++++++++++++++++++++ glance/locale/sk/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/sl_SI/LC_MESSAGES/glance.po | 3370 ++++++++++++++++++++ glance/locale/sw_KE/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/tl/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/tl_PH/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/tr/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/tr_TR/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/uk/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/vi_VN/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/zh_CN/LC_MESSAGES/glance.po | 1989 ++++++++---- glance/locale/zh_HK/LC_MESSAGES/glance.po | 3369 ++++++++++++++++++++ glance/locale/zh_TW/LC_MESSAGES/glance.po | 1989 ++++++++---- 49 files changed, 126301 insertions(+), 11155 deletions(-) create mode 100644 glance/locale/ar/LC_MESSAGES/glance.po create mode 100644 glance/locale/bg_BG/LC_MESSAGES/glance.po create mode 100644 glance/locale/ca/LC_MESSAGES/glance.po create mode 100644 glance/locale/es_MX/LC_MESSAGES/glance.po create mode 100644 glance/locale/fi_FI/LC_MESSAGES/glance.po create mode 100644 glance/locale/fil/LC_MESSAGES/glance.po create mode 100644 glance/locale/hi/LC_MESSAGES/glance.po create mode 100644 glance/locale/hr/LC_MESSAGES/glance.po create mode 100644 glance/locale/hu/LC_MESSAGES/glance.po create mode 100644 glance/locale/id/LC_MESSAGES/glance.po create mode 100644 glance/locale/it_IT/LC_MESSAGES/glance.po create mode 100644 glance/locale/ka_GE/LC_MESSAGES/glance.po create mode 100644 glance/locale/kn/LC_MESSAGES/glance.po create mode 100644 glance/locale/ko_KR/LC_MESSAGES/glance.po create mode 100644 glance/locale/ms/LC_MESSAGES/glance.po create mode 100644 glance/locale/nb/LC_MESSAGES/glance.po create mode 100644 glance/locale/ne/LC_MESSAGES/glance.po create mode 100644 glance/locale/nl_NL/LC_MESSAGES/glance.po create mode 100644 glance/locale/pl_PL/LC_MESSAGES/glance.po create mode 100644 glance/locale/pt/LC_MESSAGES/glance.po create mode 100644 glance/locale/ro/LC_MESSAGES/glance.po create mode 100644 glance/locale/ru_RU/LC_MESSAGES/glance.po create mode 100644 glance/locale/sk/LC_MESSAGES/glance.po create mode 100644 glance/locale/sl_SI/LC_MESSAGES/glance.po create mode 100644 glance/locale/sw_KE/LC_MESSAGES/glance.po create mode 100644 glance/locale/tl_PH/LC_MESSAGES/glance.po create mode 100644 glance/locale/tr_TR/LC_MESSAGES/glance.po create mode 100644 glance/locale/vi_VN/LC_MESSAGES/glance.po create mode 100644 glance/locale/zh_HK/LC_MESSAGES/glance.po diff --git a/glance/locale/ar/LC_MESSAGES/glance.po b/glance/locale/ar/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..fc0a41cf1e --- /dev/null +++ b/glance/locale/ar/LC_MESSAGES/glance.po @@ -0,0 +1,3370 @@ +# Arabic translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-09-12 07:56+0000\n" +"Last-Translator: Tom Fifield \n" +"Language-Team: Arabic " +"(http://www.transifex.com/projects/p/openstack/language/ar/)\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/bg_BG/LC_MESSAGES/glance.po b/glance/locale/bg_BG/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..5ec9247e5b --- /dev/null +++ b/glance/locale/bg_BG/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Bulgarian (Bulgaria) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Bulgarian (Bulgaria) " +"(http://www.transifex.com/projects/p/openstack/language/bg_BG/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/bs/LC_MESSAGES/glance.po b/glance/locale/bs/LC_MESSAGES/glance.po index 8e09425580..99032041c7 100644 --- a/glance/locale/bs/LC_MESSAGES/glance.po +++ b/glance/locale/bs/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:38+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: bs \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ca/LC_MESSAGES/glance.po b/glance/locale/ca/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..7815857d18 --- /dev/null +++ b/glance/locale/ca/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Catalan translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Catalan " +"(http://www.transifex.com/projects/p/openstack/language/ca/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "Fitxer syslog invàlid" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/cs/LC_MESSAGES/glance.po b/glance/locale/cs/LC_MESSAGES/glance.po index c253d0ba44..b0a5b21820 100644 --- a/glance/locale/cs/LC_MESSAGES/glance.po +++ b/glance/locale/cs/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:39+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: cs \n" @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -82,26 +82,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -114,20 +114,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -144,17 +150,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -162,31 +168,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -209,7 +219,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -228,434 +238,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -700,42 +962,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -784,77 +1060,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -864,7 +1147,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -874,17 +1157,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -893,105 +1176,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1025,184 +1382,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1212,20 +1598,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1243,22 +1635,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1280,53 +1675,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1358,20 +1753,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1398,13 +1793,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1417,19 +1812,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1439,19 +1834,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1465,32 +1865,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1498,16 +1898,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1600,59 +2032,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1667,210 +2264,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1937,127 +2447,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2076,69 +2827,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2193,144 +2945,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2357,60 +3148,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2419,69 +3223,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2489,25 +3297,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/da/LC_MESSAGES/glance.po b/glance/locale/da/LC_MESSAGES/glance.po index 6dc4efd671..7647a008d4 100644 --- a/glance/locale/da/LC_MESSAGES/glance.po +++ b/glance/locale/da/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:39+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: da \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/de/LC_MESSAGES/glance.po b/glance/locale/de/LC_MESSAGES/glance.po index 88c0d6b7aa..8c889eee80 100644 --- a/glance/locale/de/LC_MESSAGES/glance.po +++ b/glance/locale/de/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:39+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: de \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/en_AU/LC_MESSAGES/glance.po b/glance/locale/en_AU/LC_MESSAGES/glance.po index a8a7f0db97..4117987f4e 100644 --- a/glance/locale/en_AU/LC_MESSAGES/glance.po +++ b/glance/locale/en_AU/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:39+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: en_AU \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/en_GB/LC_MESSAGES/glance.po b/glance/locale/en_GB/LC_MESSAGES/glance.po index 8866bbf3d9..582589044f 100644 --- a/glance/locale/en_GB/LC_MESSAGES/glance.po +++ b/glance/locale/en_GB/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:39+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: en_GB \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/en_US/LC_MESSAGES/glance.po b/glance/locale/en_US/LC_MESSAGES/glance.po index b70493ae75..9ad01b8d14 100644 --- a/glance/locale/en_US/LC_MESSAGES/glance.po +++ b/glance/locale/en_US/LC_MESSAGES/glance.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Glance\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2013-04-10 10:09+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: en_US \n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -80,7 +80,7 @@ msgstr "You are not permitted to delete this image." msgid "You are not permitted to upload data for this image." msgstr "You are not permitted to upload data for this image." -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " @@ -89,7 +89,7 @@ msgstr "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " @@ -98,12 +98,12 @@ msgstr "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "Corrupt image download for image %(image_id)s" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "An error occurred during image.send notification: %(err)s" @@ -116,20 +116,26 @@ msgstr "The location of the policy file." msgid "The default policy to use." msgstr "The default policy to use." -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "Loaded %(rule_type)spolicy rules: %(text_rules)s" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "Unable to find policy file" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "Loading policy from %s" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "Initialized image cache middleware" @@ -148,17 +154,17 @@ msgstr "" "Image cache contained image file for image '%s', however the registry did" " not contain metadata for that image!" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "could not find %s" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "Removing image %s from cache" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "Checksum header is missing." @@ -166,7 +172,7 @@ msgstr "Checksum header is missing." msgid "Initialized image cache management middleware" msgstr "Initialized image cache management middleware" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" @@ -176,11 +182,11 @@ msgstr "" "Otherwise, the owner of the image will be the authenticated user issuing" " the request." -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "Role used to identify an authenticated user as administrator." -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." @@ -188,14 +194,18 @@ msgstr "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "Unable to retrieve request id from context" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "Invalid service catalog json." +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -218,7 +228,7 @@ msgstr "Unknown version. Returning version choices." msgid "Matched version: v%d" msgstr "Matched version: v%d" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "Image with identifier %s not found" @@ -237,12 +247,12 @@ msgstr "Image %s is not active" msgid "Store for image_id not found: %s" msgstr "Store for image_id not found: %s" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "Image name too long: %d" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" @@ -252,250 +262,342 @@ msgstr "" "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "External sourcing not supported for store %s" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "An image with identifier %s already exists" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "Failed to reserve image. Got error: %(e)s" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "Forbidden to reserve image." -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "Copy from external source failed: %s" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "Content-Type must be application/octet-stream" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "Setting image %s to status 'saving'" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "Uploading image data for image %(image_id)s to %(scheme)s store" -#: glance/api/v1/images.py:452 -#, python-format -msgid "" -"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " -"image (%(actual)s) did not match. Setting image status to 'killed'." -msgstr "" -"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " -"image (%(actual)s) did not match. Setting image status to 'killed'." - -#: glance/api/v1/images.py:470 -#, python-format -msgid "" -"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " -"to %(size)d" -msgstr "" -"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " -"to %(size)d" - -#: glance/api/v1/images.py:483 -#, python-format -msgid "Attempt to upload duplicate image: %s" -msgstr "Attempt to upload duplicate image: %s" - -#: glance/api/v1/images.py:489 -#, python-format -msgid "Forbidden upload attempt: %s" -msgstr "Forbidden upload attempt: %s" - -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 -#, python-format -msgid "Image storage media is full: %s" -msgstr "Image storage media is full: %s" - -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 -#, python-format -msgid "Insufficient permissions on image storage media: %s" -msgstr "Insufficient permissions on image storage media: %s" - -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 -#, python-format -msgid "Denying attempt to upload image larger than %d bytes." -msgstr "Denying attempt to upload image larger than %d bytes." - -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "Failed to upload image" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/images.py:584 #, python-format msgid "Failed to activate image. Got error: %(e)s" msgstr "Failed to activate image. Got error: %(e)s" -#: glance/api/v1/images.py:584 -#, python-format -msgid "Unable to kill image %(id)s: %(exc)s" -msgstr "Unable to kill image %(id)s: %(exc)s" +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" -#: glance/api/v1/images.py:619 +#: glance/api/v1/images.py:634 msgid "Triggering asynchronous copy from external source" msgstr "Triggering asynchronous copy from external source" -#: glance/api/v1/images.py:726 +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 msgid "Forbidden to update deleted image." msgstr "Forbidden to update deleted image." -#: glance/api/v1/images.py:744 +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 msgid "Cannot upload to an unqueued image" msgstr "Cannot upload to an unqueued image" -#: glance/api/v1/images.py:761 +#: glance/api/v1/images.py:809 msgid "Attempted to update Location field for an image not in queued status." msgstr "Attempted to update Location field for an image not in queued status." -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 #, python-format msgid "Failed to update image metadata. Got error: %(e)s" msgstr "Failed to update image metadata. Got error: %(e)s" -#: glance/api/v1/images.py:789 +#: glance/api/v1/images.py:851 #, python-format msgid "Failed to find image to update: %(e)s" msgstr "Failed to find image to update: %(e)s" -#: glance/api/v1/images.py:796 +#: glance/api/v1/images.py:858 #, python-format msgid "Forbidden to update image: %(e)s" msgstr "Forbidden to update image: %(e)s" -#: glance/api/v1/images.py:835 +#: glance/api/v1/images.py:892 msgid "Image is protected" msgstr "Image is protected" -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "Forbidden to delete a deleted image." +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" -#: glance/api/v1/images.py:866 +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 #, python-format msgid "Failed to find image to delete: %(e)s" msgstr "Failed to find image to delete: %(e)s" -#: glance/api/v1/images.py:873 +#: glance/api/v1/images.py:936 #, python-format msgid "Forbidden to delete image: %(e)s" msgstr "Forbidden to delete image: %(e)s" -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 #, python-format msgid "Store for scheme %s not found" msgstr "Store for scheme %s not found" -#: glance/api/v1/images.py:912 +#: glance/api/v1/images.py:975 #, python-format msgid "Incoming image size of %s was not convertible to an integer." msgstr "Incoming image size of %s was not convertible to an integer." -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "Denying attempt to upload image larger than %d bytes." + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 msgid "No authenticated user" msgstr "No authenticated user" -#: glance/api/v1/members.py:57 +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 msgid "Unauthorized image access" msgstr "Unauthorized image access" -#: glance/api/v2/image_data.py:59 +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "Attempt to upload duplicate image: %s" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "Forbidden upload attempt: %s" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "Image storage media is full: %s" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "Insufficient permissions on image storage media: %s" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "Unable to upload duplicate image data for image: %s" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "Not allowed to upload image data for image %s" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "Failed to upload image data due to HTTP error" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "Failed to upload image data due to internal error" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "No image data could be found" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "Body expected in request." -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "Member to be added not specified" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "Status not specified" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "An identifier for the image member (tenantId)" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "An identifier for the image" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "Date and time of image member creation" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "Date and time of last modification of image member" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "The status of this image member" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "Failed to find image %(image_id)s to update" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "Property %s does not exist." -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "Property %s already present." -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "Property %s may not be removed." -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "Unable to find '%s' in JSON Schema change" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." @@ -503,7 +605,7 @@ msgstr "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." @@ -511,110 +613,137 @@ msgstr "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "Pointer `%s` does not start with \"/\"." -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." -msgstr "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 #, python-format msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." msgstr "Pointer `%s` contains \"~\" not part of a recognized escape sequence." -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:376 #, python-format msgid "Operation \"%s\" requires a member named \"value\"." msgstr "Operation \"%s\" requires a member named \"value\"." -#: glance/api/v2/images.py:313 +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 msgid "Unrecognized JSON Schema draft version" msgstr "Unrecognized JSON Schema draft version" -#: glance/api/v2/images.py:334 +#: glance/api/v2/images.py:449 msgid "Request body must be a JSON array of operation objects." msgstr "Request body must be a JSON array of operation objects." -#: glance/api/v2/images.py:339 +#: glance/api/v2/images.py:454 msgid "Operations must be JSON objects." msgstr "Operations must be JSON objects." -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 msgid "limit param must be an integer" msgstr "limit param must be an integer" -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 msgid "limit param must be positive" msgstr "limit param must be positive" -#: glance/api/v2/images.py:370 +#: glance/api/v2/images.py:487 #, python-format msgid "Invalid sort direction: %s" msgstr "Invalid sort direction: %s" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "Invalid status: %s" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "Invalid visibility value: %s" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "Descriptive name for the image" -#: glance/api/v2/images.py:496 -msgid "Status of the image" -msgstr "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "Scope of image accessibility" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "If true, image will not be deletable." -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." -msgstr "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" -msgstr "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" -msgstr "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" -msgstr "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "List of strings related to the image" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" -msgstr "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "Amount of ram (in MB) required to boot image." -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "Amount of disk space (in GB) required to boot image." -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " @@ -623,22 +752,155 @@ msgstr "" "Could not find schema properties file %s. Continuing without custom " "properties" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "Unexpected response: %s" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "Unknown auth strategy '%s'" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "Encountered service with no \"type\": %s" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" @@ -648,7 +910,7 @@ msgstr "" " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" @@ -658,32 +920,32 @@ msgstr "" "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "The key file you specified %s does not exist" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "The cert file you specified %s does not exist" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "The CA file you specified %s does not exist" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "Configuring from URL: %s" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "Appending doc_root %(doc_root)s to URL %(url)s" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "Constructed URL: %s" @@ -738,29 +1000,43 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "Deploy the v1 OpenStack Images API. " -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "Deploy the v2 OpenStack Images API. " -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "The hostname/IP of the pydev process listening for debug connections" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "The port on which a pydev process is listening for connections." -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." @@ -768,16 +1044,16 @@ msgstr "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "Invalid syslog facility" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "Loading %(app_name)s from %(conf_file)s" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -830,77 +1106,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "There is not enough disk space on the image storage media." #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "Permission to write image storage media denied." -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "Connect error/bad request to Auth service at URL %(url)s." -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "Auth service at URL %(url)s not found." -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "Authorization failed." -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "You are not authenticated." -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "You are not authorized to complete this action." -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "Image %(image_id)s is protected and cannot be deleted." -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "Data supplied was not valid." -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "Sort key supplied was not valid." -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "Unable to filter using the specified range." -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "Attribute '%(property)s' is read-only." -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "Attribute '%(property)s' is reserved." -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "Redirecting to %(uri)s for authorization." -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "There was an error migrating the database." -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "There was an error connecting to a server" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "There was an error configuring the client." -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -915,7 +1198,7 @@ msgstr "" "The body of response returned:\n" "%(body)s" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -930,7 +1213,7 @@ msgstr "" "The response body:\n" "%(body)s" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." @@ -938,11 +1221,11 @@ msgstr "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "The request returned 500 Internal Server Error." -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -955,22 +1238,22 @@ msgstr "" "The response body:\n" "%(body)s" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "Invalid content type %(content_type)s" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "Registry was not configured correctly on API server. Reason: %(reason)s" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " @@ -979,33 +1262,41 @@ msgstr "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "Deleting images from this store is not supported." -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "Configuration for store failed. Adding images to this store is disabled." -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "'%(strategy)s' is not an available notifier strategy." -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "Maximum redirects (%(redirects)s) was exceeded." -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "Received invalid HTTP redirect." -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "Response from Keystone does not contain a Glance endpoint." -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " @@ -1014,27 +1305,27 @@ msgstr "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "Server worker creation failed: %(reason)s." -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "Unable to load schema: %(reason)s" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "Provided object does not match schema '%(schema)s': %(reason)s" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "Provided header feature is unsupported: %(feature)s" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." @@ -1042,24 +1333,90 @@ msgstr "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "The provided image is too large." -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "Error: cooperative_iter exception %s" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "Read-only access" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "Invalid backend: %s" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1098,7 +1455,7 @@ msgstr "Certificate file to use when starting API server securely." msgid "Private key file to use when starting API server securely." msgstr "Private key file to use when starting API server securely." -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." @@ -1106,7 +1463,14 @@ msgstr "" "The number of child process workers that will be created to service API " "requests." -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" @@ -1114,88 +1478,96 @@ msgstr "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "Could not bind to %s:%s after trying for 30 seconds" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "Starting %d workers" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "Removing dead child %s" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "Not respawning child %d, cannot recover from termination" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "All workers have terminated. Exiting" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "Caught keyboard interrupt. Exiting." -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "Exited" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "Child %d exiting normally" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "Started child %s" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" -msgstr "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "Starting single process server" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "Malformed JSON in request body." -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "Returning %(funcname)s: %(output)s" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "Unable to filter on a range with a non-numeric value." -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "Could not find image %s" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "Unable to get deleted image" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "Unable to get unowned image" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." @@ -1203,11 +1575,11 @@ msgstr "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "The number of times to retry a connection to the SQLserver." -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." @@ -1215,19 +1587,23 @@ msgstr "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "A boolean that determines if the database will be automatically created." -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "Attempted to modify image user did not own." -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "You do not own this image" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " @@ -1236,56 +1612,66 @@ msgstr "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "auto-creating glance registry DB" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "not auto-creating glance registry DB" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "SQL connection failed. %d attempts left." -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "Id not in sort_keys; is sort_keys unique?" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "Unknown sort direction, must be 'desc' or 'asc'" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "database is not under migration control" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "Upgrading database to version %s" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "Downgrading database to version %s" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "database is already under migration control" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "creating table %(table)s" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "dropping table %(table)s" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1300,20 +1686,26 @@ msgstr "" " it to use the swift+http:// scheme, like so: " "swift+http://user:pass@authurl.com/v1/container/obj" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "Invalid store uri %(uri)s: %(reason)s" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "Badly formed credentials '%(creds)s' in Swift URI" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "Badly formed credentials in Swift URI." + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1333,22 +1725,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "Failed to decrypt location value for image %s" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." -msgstr "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "Property %s must be set prior to saving data." -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "Properties %s must be set prior to saving data." -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "Status must be \"pending\", \"accepted\" or \"rejected\"." @@ -1372,12 +1767,12 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "Base directory that the Image Cache uses." -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "Image cache loaded driver '%s'." -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " @@ -1386,11 +1781,11 @@ msgstr "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "Defaulting to SQLite driver." -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " @@ -1399,11 +1794,11 @@ msgstr "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "Image cache has free space, skipping prune..." -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " @@ -1412,12 +1807,12 @@ msgstr "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "Pruning '%(image_id)s' to free %(size)d bytes" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " @@ -1426,7 +1821,7 @@ msgstr "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "Tee'ing image '%s' into cache" @@ -1460,20 +1855,20 @@ msgstr "No metadata found for image '%s'" msgid "Caching image '%s'" msgstr "Caching image '%s'" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "Nothing to prefetch." -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "Found %d images to prefetch" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "Failed to successfully cache all images in queue." -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "Successfully cached all %d images" @@ -1502,13 +1897,13 @@ msgid "Gathering cached image entries." msgstr "Gathering cached image entries." #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1523,19 +1918,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "Error executing SQLite call. Got error: %s" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "Not queueing image '%s'. Already cached." #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "Not queueing image '%s'. Already being written to cache" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "Not queueing image '%s'. Already queued." @@ -1545,19 +1940,24 @@ msgstr "Not queueing image '%s'. Already queued." msgid "Removed invalid cache file %s" msgstr "Removed invalid cache file %s" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "Removed stalled cache file %s" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "Deleting image cache file '%s'" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "Cached image file '%s' doesn't exist, unable to delete" @@ -1575,32 +1975,32 @@ msgstr "" "user_xattr option to the appropriate line for the device housing the " "cache directory." -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "Removing image '%s' from queue after caching it." -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "Queueing image '%s'." -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "No grace period, reaping '%(path)s' immediately" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "Reaped %(reaped)s %(entry_type)s cache entries" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1612,16 +2012,48 @@ msgstr "" "log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " "message queue), or noop (no notifications sent, the default)." -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "Converted strategy alias %s to %s" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "No strategy alias found for %s" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "The host name of the rabbitmq server" @@ -1727,52 +2159,217 @@ msgstr "Notification with priority %(priority)s failed: msg=%(msg)s" msgid "Unable to send notification: %s" msgstr "Unable to send notification: %s" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "Connected to AMQP server on %s" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" -msgstr "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "Deprecated: %s" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "syslog facility must be one of: %s" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "Fatal call to deprecated config: %(msg)s" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "Failed to understand rule %(rule)s" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "No handler for matches of kind %s" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "Failed to understand rule %(rule)r" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "%s not in valid priorities" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " @@ -1781,7 +2378,7 @@ msgstr "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "Failed to load notifier %s. These notifications will not be sent." @@ -1796,222 +2393,123 @@ msgstr "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "Could not send notification to %(topic)s. Payload=%(message)s" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "Address to find the registry server." -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "Port the registry server is listening on." -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" -"The protocol to use for communication with the registry server. Either " -"http or https." - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "The path to the key file to use in SSL connections to the registry server." - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" -"The path to the cert file to use in SSL connections to the registry " -"server." - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "The administrators user name." - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "The administrators password." - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "The tenant name of the adminstrative user." - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "The URL to the keystone service." - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "The strategy to use for authentication." - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "The region for the authentication service." - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "Configuration option was not valid" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "Could not find required configuration option" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "Adding image metadata..." - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "Updating image metadata for image %s..." - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "Deleting image metadata for image %s..." - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "Registry client request %(method)s %(action)s raised %(exc_name)s" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "Invalid marker. Image could not be found." -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "Returning image list" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "Returning detailed image list" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "Unrecognized changes-since value" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "protected must be True, or False" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "Invalid marker format" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "Unsupported sort_key. Acceptable values: %s" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "Unsupported sort_dir. Acceptable values: %s" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "is_public must be None, True, or False" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "Successfully retrieved image %(id)s" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "Image %(id)s not found" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "Access denied to image %(id)s but returning 'not found'" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "Successfully deleted image %(id)s" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "Delete denied for public image %(id)s" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "Rejecting image creation request for invalid image id '%(bad_id)s'" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "Invalid image id format" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "Successfully created image %(id)s" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "Image with identifier %s already exists!" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "Failed to add image metadata. Got error: %(e)s" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "Updating image %(id)s with metadata: %(image_data)r" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "Updating metadata for image %(id)s" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "Update denied for public image %(id)s" @@ -2078,7 +2576,132 @@ msgstr "Member %(id)s not found" msgid "Returning list of images shared with member %(id)s" msgstr "Returning list of images shared with member %(id)s" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" +"The protocol to use for communication with the registry server. Either " +"http or https." + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "The path to the key file to use in SSL connections to the registry server." + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" +"The path to the cert file to use in SSL connections to the registry " +"server." + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "The administrators user name." + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "The administrators password." + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "The tenant name of the adminstrative user." + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "The URL to the keystone service." + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "The strategy to use for authentication." + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "The region for the authentication service." + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "Configuration option was not valid" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "Could not find required configuration option" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "Adding image metadata..." + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "Updating image metadata for image %s..." + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "Deleting image metadata for image %s..." + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "Registry client request %(method)s %(action)s raised %(exc_name)s" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." @@ -2086,7 +2709,7 @@ msgstr "" "List of which store classes and store class locations are currently known" " to glance at startup." -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." @@ -2094,106 +2717,203 @@ msgstr "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -"Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "Turn on/off delayed delete." -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "The amount of time in seconds to delay before performing a delete." -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "Failed to delete image in store at URI: %s" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "Failed to delete image at %s from store (%s)" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" -msgstr "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "Skipping store.set_acls... not implemented." -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "Failed to configure store correctly: %s Disabling add method." -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "Directory to which the Filesystem backend store writes images." -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "No path specified in URI: %s" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "Could not find %s in configuration options." -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "Directory to write image files does not exist (%s). Creating." -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "Unable to create datadir: %s" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "Image file %s not found" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "Found image at %s. Returning in ChunkedFile." -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "Found image at %s." -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "Deleting image at %(fn)s" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "You cannot delete file %s" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "Image file %s does not exist" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "Image file %s already exists!" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " @@ -2202,11 +2922,40 @@ msgstr "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "Unable to remove partial image data for image %s: %s" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "Could not find %(param)s in configuration options." + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2225,7 +2974,7 @@ msgstr "HTTP URL returned a %s status code." msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "The HTTP URL attempted to redirect with an invalid status code." -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." @@ -2233,64 +2982,65 @@ msgstr "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "RADOS pool in which images are stored." -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "RADOS user to authenticate as (only applicable if using cephx.)" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "Ceph configuration file path." -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "URI must start with rbd://" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "Invalid URI: %(uri)s: %(reason)s" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "URI contains non-ascii characters" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "URI must have exactly 1 or 4 components" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "URI cannot contain empty components" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "RBD image %s does not exist" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "Error in store configuration: %s" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "RBD image %s already exists" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "snapshot %s@%s could not be unprotected because it is in use" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" -msgstr "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "RBD image %s already exists" #: glance/store/s3.py:39 msgid "The host where the S3 server is listening." @@ -2355,12 +3105,7 @@ msgstr "Badly formed S3 credentials %s" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "Badly formed S3 URI. Missing s3 service URL." -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "Could not find %(param)s in configuration options." - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " @@ -2369,12 +3114,12 @@ msgstr "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "S3 already has an image at location %s" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " @@ -2383,17 +3128,17 @@ msgstr "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "Writing request body file to temporary file for %s" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "Uploading temporary file to S3 for %s" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " @@ -2402,7 +3147,7 @@ msgstr "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " @@ -2411,12 +3156,12 @@ msgstr "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "Could not find bucket with ID %(bucket_id)s" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" @@ -2425,7 +3170,7 @@ msgstr "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " @@ -2434,12 +3179,12 @@ msgstr "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "Could not find key %(obj)s in bucket %(bucket)s" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " @@ -2449,7 +3194,7 @@ msgstr "" "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." @@ -2457,59 +3202,103 @@ msgstr "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "Daemon Shutdown on KeyboardInterrupt" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "Running application" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "Next run scheduled in %s seconds" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" -msgstr "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" +msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" -msgstr "%s does not exist" +msgid "Can not %s scrub jobs from queue." +msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" -msgstr "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" -msgstr "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." -msgstr "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." -msgstr "Image not found in store (%(id)s)." +msgid "%s file is not exists." +msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "Getting images deleted before %s" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "Whether to use ServiceNET to communicate with the Swift storage servers." @@ -2540,13 +3329,19 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " @@ -2556,7 +3351,7 @@ msgstr "" " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." @@ -2564,7 +3359,7 @@ msgstr "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." @@ -2572,7 +3367,7 @@ msgstr "" "Container within the account that the account should use for storing " "images in Swift." -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" @@ -2580,31 +3375,31 @@ msgstr "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" -#: glance/store/swift.py:89 -msgid "" -"The amount of data written to a temporary disk buffer during the process " -"of chunking the image file." -msgstr "" -"The amount of data written to a temporary disk buffer during the process " -"of chunking the image file." - #: glance/store/swift.py:92 msgid "" -"A boolean value that determines if we create the container if it does not" -" exist." +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." msgstr "" -"A boolean value that determines if we create the container if it does not" -" exist." +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." #: glance/store/swift.py:95 msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" +"A boolean value that determines if we create the container if it does not" +" exist." + +#: glance/store/swift.py:98 +msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." @@ -2612,7 +3407,14 @@ msgstr "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2626,40 +3428,44 @@ msgstr "" " it to use the swift+http:// scheme, like so: " "swift+http://user:pass@authurl.com/v1/container/obj" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "Invalid store URI: %(reason)s" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "Badly formed Swift URI." -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "Swift could not find image at URI." -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "Deleting chunk %s" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "Failed to delete orphaned chunk %s/%s" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "Adding image object '%(obj_name)s' to Swift" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "Cannot determine image size. Adding as a segmented object to Swift." -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " @@ -2668,15 +3474,15 @@ msgstr "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "Deleting final zero-length chunk" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "Swift already has an image at this location" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" @@ -2685,7 +3491,7 @@ msgstr "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" @@ -2694,7 +3500,7 @@ msgstr "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2705,25 +3511,96 @@ msgstr "" "swift_store_create_container_on_put optionto add container to Swift " "automatically." -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "Location is missing user:password information." -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "Badly formed tenant:user '%(user)s' in Swift URI" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "Multi-tenant Swift storage requires a context." -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "Multi-tenant Swift storage requires a service catalog." -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "location: %s data lost" +#~ msgid "Failed to upload image" +#~ msgstr "Failed to upload image" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "Unable to kill image %(id)s: %(exc)s" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "Forbidden to delete a deleted image." + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "Pointer `%s` contains more than one \"/\"." + +#~ msgid "Status of the image" +#~ msgstr "Status of the image" + +#~ msgid "md5 hash of image contents." +#~ msgstr "md5 hash of image contents." + +#~ msgid "Size of image file in bytes" +#~ msgstr "Size of image file in bytes" + +#~ msgid "Date and time of image registration" +#~ msgstr "Date and time of image registration" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "Date and time of the last image modification" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "URL to access the image file kept in external store" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "eventlet 'poll' hub is not available on this platform" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "Max serialization depth exceeded on object: %d %s" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "Image id %(image_id)s already queued for delete" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "image %s could not be removedbecause it is in use" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "Initializing scrubber with conf: %s" + +#~ msgid "%s does not exist" +#~ msgstr "%s does not exist" + +#~ msgid "Deleting %s images" +#~ msgstr "Deleting %s images" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "Deleting %(uri)s" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "Failed to delete image from store (%(id)s)." + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "Image not found in store (%(id)s)." + diff --git a/glance/locale/es/LC_MESSAGES/glance.po b/glance/locale/es/LC_MESSAGES/glance.po index 2013d6c416..a7e82c4f36 100644 --- a/glance/locale/es/LC_MESSAGES/glance.po +++ b/glance/locale/es/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: es \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/es_MX/LC_MESSAGES/glance.po b/glance/locale/es_MX/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..abcb22f173 --- /dev/null +++ b/glance/locale/es_MX/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Spanish (Mexico) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Spanish (Mexico) " +"(http://www.transifex.com/projects/p/openstack/language/es_MX/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/fi_FI/LC_MESSAGES/glance.po b/glance/locale/fi_FI/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..9263ad020f --- /dev/null +++ b/glance/locale/fi_FI/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Finnish (Finland) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Finnish (Finland) " +"(http://www.transifex.com/projects/p/openstack/language/fi_FI/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/fil/LC_MESSAGES/glance.po b/glance/locale/fil/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..7098edc70c --- /dev/null +++ b/glance/locale/fil/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Filipino translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-09-26 22:10+0000\n" +"Last-Translator: Tom Fifield \n" +"Language-Team: Filipino " +"(http://www.transifex.com/projects/p/openstack/language/fil/)\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/fr/LC_MESSAGES/glance.po b/glance/locale/fr/LC_MESSAGES/glance.po index f871bf8a03..c22dd45d4d 100644 --- a/glance/locale/fr/LC_MESSAGES/glance.po +++ b/glance/locale/fr/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: fr \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/glance.pot b/glance/locale/glance.pot index d33a039cf2..b2d65d4091 100644 --- a/glance/locale/glance.pot +++ b/glance/locale/glance.pot @@ -6,16 +6,16 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: glance jenkins.glance.propose.translation.update.5\n" +"Project-Id-Version: glance jenkins.glance.propose.translation.update.181\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+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 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -80,26 +80,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -112,20 +112,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -142,17 +148,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -160,31 +166,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -207,7 +217,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -226,434 +236,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -698,42 +960,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -782,77 +1058,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -862,7 +1145,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -872,17 +1155,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -891,105 +1174,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1023,184 +1380,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1210,20 +1596,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1241,22 +1633,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1278,53 +1673,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1356,20 +1751,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1396,13 +1791,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1415,19 +1810,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1437,19 +1832,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1463,32 +1863,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1496,16 +1896,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1598,59 +2030,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1665,210 +2262,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1935,127 +2445,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2074,69 +2825,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2191,144 +2943,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2355,60 +3146,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2417,69 +3221,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2487,24 +3295,24 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" diff --git a/glance/locale/hi/LC_MESSAGES/glance.po b/glance/locale/hi/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..6e921470b1 --- /dev/null +++ b/glance/locale/hi/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Hindi translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Hindi " +"(http://www.transifex.com/projects/p/openstack/language/hi/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/hr/LC_MESSAGES/glance.po b/glance/locale/hr/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..ad93d4c52d --- /dev/null +++ b/glance/locale/hr/LC_MESSAGES/glance.po @@ -0,0 +1,3370 @@ +# Croatian translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Croatian " +"(http://www.transifex.com/projects/p/openstack/language/hr/)\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "Neispravno syslog područje" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/hu/LC_MESSAGES/glance.po b/glance/locale/hu/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..ee844fe483 --- /dev/null +++ b/glance/locale/hu/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Hungarian translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Hungarian " +"(http://www.transifex.com/projects/p/openstack/language/hu/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "Érvénytelen rendszernapló szolgáltatás" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/id/LC_MESSAGES/glance.po b/glance/locale/id/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..83552dc439 --- /dev/null +++ b/glance/locale/id/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Indonesian translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Indonesian " +"(http://www.transifex.com/projects/p/openstack/language/id/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/it/LC_MESSAGES/glance.po b/glance/locale/it/LC_MESSAGES/glance.po index 52e4008aa7..46c656b22c 100644 --- a/glance/locale/it/LC_MESSAGES/glance.po +++ b/glance/locale/it/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: it \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/it_IT/LC_MESSAGES/glance.po b/glance/locale/it_IT/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..8c5f65a610 --- /dev/null +++ b/glance/locale/it_IT/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Italian (Italy) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Italian (Italy) " +"(http://www.transifex.com/projects/p/openstack/language/it_IT/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ja/LC_MESSAGES/glance.po b/glance/locale/ja/LC_MESSAGES/glance.po index d5facde67b..76de3a47a9 100644 --- a/glance/locale/ja/LC_MESSAGES/glance.po +++ b/glance/locale/ja/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: ja \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ka_GE/LC_MESSAGES/glance.po b/glance/locale/ka_GE/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..2dd40baed3 --- /dev/null +++ b/glance/locale/ka_GE/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Georgian (Georgia) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Georgian (Georgia) " +"(http://www.transifex.com/projects/p/openstack/language/ka_GE/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "სისლოგის არასწორი ობიექტი" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/kn/LC_MESSAGES/glance.po b/glance/locale/kn/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..1b1ac1a70d --- /dev/null +++ b/glance/locale/kn/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Kannada translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-09-17 14:44+0000\n" +"Last-Translator: Tom Fifield \n" +"Language-Team: Kannada " +"(http://www.transifex.com/projects/p/openstack/language/kn/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ko/LC_MESSAGES/glance.po b/glance/locale/ko/LC_MESSAGES/glance.po index f675f66d09..bd09001ee5 100644 --- a/glance/locale/ko/LC_MESSAGES/glance.po +++ b/glance/locale/ko/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: ko \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ko_KR/LC_MESSAGES/glance.po b/glance/locale/ko_KR/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..45ac1de288 --- /dev/null +++ b/glance/locale/ko_KR/LC_MESSAGES/glance.po @@ -0,0 +1,3373 @@ +# Korean (South Korea) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Korean (Korea) " +"(http://www.transifex.com/projects/p/openstack/language/ko_KR/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "올바르지 않은 서비스 카탈로그 json입니다. " + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "limit 매개변수는 정수여야 함" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "limit 매개변수가 양수여야 함" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "올바르지 않은 syslog 기능" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "제공되는 정렬 키가 올바르지 않습니다. " + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "올바르지 않은 백엔드: %s" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "서버를 SSL 모드에서 실행할 때 구성 파일에 cert_file 및 key_file 옵션 값을 모두 지정해야 함" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "%d 작업자 시작 중" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "ID가 sort_keys에 없습니다. sort_keys가 고유합니까?" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "알 수 없는 정렬 방향입니다. 'desc' 또는 'asc'여야 함" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "%(hostname)s:%(port)d에서 AMQP 서버에 다시 연결 중" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "%(hostname)s:%(port)d에서 AMQP 서버에 연결되었음" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" +"%(max_retries)d 차례 시도했지만 %(hostname)s:%(port)d의 AMQP 서버에 연결할 수 없음: " +"%(err_str)s" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" +"%(hostname)s:%(port)d의 AMQP 서버에 접근할 수 없습니다: %(err_str)s. %(sleep_time)d초 " +"후 다시 시도합니다." + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "%s의 AMQP 서버에 연결했음" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "원래 예외가 삭제됨: %s" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "더 이상 사용되지 않음: %s" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "syslog 기능이 다음 중 하나여야 함: %s" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "더 이상 사용되지 않는 구성에 대한 심각한 호출: %(msg)s" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "태스크 실행이 %s초의 간격을 지속함" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "고정 기간 루프 호출에서" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "동적 루프 호출에서" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "%(rule)s 규칙을 이해하지 못했음" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "%s 유형의 일치에 대한 핸들러가 없음" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "%(rule)r 규칙을 이해하지 못했음" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "utils.execute에 대해 알 수 없는 키워드 인수를 가져옴: %r" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "cmd(하위 프로세스) 실행 중: %s" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "결과는 %s입니다." + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "%r 실패. 재시도 중입니다. " + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "cmd(SSH) 실행 중: %s" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "환경이 SSH를 통해 지원되지 않음" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "process_input이 SSH를 통해 지원되지 않음" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "CONF의 전체 세트:" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "%s 발견, 종료 중" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "상위 프로세스가 예기치 않게 정지했습니다. 종료 중" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "포크가 너무 빠름. 정지 중" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "처리되지 않은 예외" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "%d 하위를 시작했음" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "%(pid)d 하위가 %(sig)d 신호에 의해 강제 종료됨" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "%(pid)s 하위가 %(code)d 상태와 함께 종료했음" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "pid %d이(가) 하위 목록에 없음" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "%s 발견, 하위 중지 중" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "%d 하위에서 종료하기를 대기 중임" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "%s이(가) 유효한 우선순위에 없음" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "알림 시스템에 발송하는 중 '%(e)s' 문제점이 발생했습니다. 페이로드=%(payload)s" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "%s 알리미를 로드하지 못했습니다. 이들 알림은 발송되지 않습니다. " + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "rabbit_notifier는 이제 사용되지 않습니다. 대신 rpc_notifier를 사용하십시오. " + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "%(topic)s(으)로 알림을 발송할 수 없습니다. 페이로드=%(message)s" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "Cinderclient 연결이 URL을 사용하여 작성됨: %s" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ms/LC_MESSAGES/glance.po b/glance/locale/ms/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..a57ea41a5a --- /dev/null +++ b/glance/locale/ms/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Malay translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Malay " +"(http://www.transifex.com/projects/p/openstack/language/ms/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/nb/LC_MESSAGES/glance.po b/glance/locale/nb/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..8db1100bcc --- /dev/null +++ b/glance/locale/nb/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Norwegian Bokmål translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Norwegian Bokmål " +"(http://www.transifex.com/projects/p/openstack/language/nb/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "Resultat var %s" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "%r feilet. Prøver på nytt." + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ne/LC_MESSAGES/glance.po b/glance/locale/ne/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..0f5136e605 --- /dev/null +++ b/glance/locale/ne/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Nepali translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 22:38+0000\n" +"Last-Translator: daisy.ycguo \n" +"Language-Team: Nepali " +"(http://www.transifex.com/projects/p/openstack/language/ne/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/nl_NL/LC_MESSAGES/glance.po b/glance/locale/nl_NL/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..67820a1631 --- /dev/null +++ b/glance/locale/nl_NL/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Dutch (Netherlands) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Dutch (Netherlands) " +"(http://www.transifex.com/projects/p/openstack/language/nl_NL/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "Invalide syslog faciliteit" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/pl_PL/LC_MESSAGES/glance.po b/glance/locale/pl_PL/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..3e468f211c --- /dev/null +++ b/glance/locale/pl_PL/LC_MESSAGES/glance.po @@ -0,0 +1,3370 @@ +# Polish (Poland) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Polish (Poland) " +"(http://www.transifex.com/projects/p/openstack/language/pl_PL/)\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && " +"(n%100<10 || n%100>=20) ? 1 : 2)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "Wynik był %s" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/pt/LC_MESSAGES/glance.po b/glance/locale/pt/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..ccacd9d346 --- /dev/null +++ b/glance/locale/pt/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Portuguese translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Portuguese " +"(http://www.transifex.com/projects/p/openstack/language/pt/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/pt_BR/LC_MESSAGES/glance.po b/glance/locale/pt_BR/LC_MESSAGES/glance.po index a4bafd5575..f6a3eb7161 100644 --- a/glance/locale/pt_BR/LC_MESSAGES/glance.po +++ b/glance/locale/pt_BR/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: pt_BR \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ro/LC_MESSAGES/glance.po b/glance/locale/ro/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..68293ced3c --- /dev/null +++ b/glance/locale/ro/LC_MESSAGES/glance.po @@ -0,0 +1,3370 @@ +# Romanian translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Romanian " +"(http://www.transifex.com/projects/p/openstack/language/ro/)\n" +"Plural-Forms: nplurals=3; " +"plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ru/LC_MESSAGES/glance.po b/glance/locale/ru/LC_MESSAGES/glance.po index 8ff021923e..211175c51a 100644 --- a/glance/locale/ru/LC_MESSAGES/glance.po +++ b/glance/locale/ru/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: ru \n" @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -82,26 +82,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -114,20 +114,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -144,17 +150,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -162,31 +168,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -209,7 +219,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -228,434 +238,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -700,42 +962,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -784,77 +1060,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -864,7 +1147,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -874,17 +1157,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -893,105 +1176,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1025,184 +1382,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1212,20 +1598,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1243,22 +1635,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1280,53 +1675,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1358,20 +1753,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1398,13 +1793,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1417,19 +1812,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1439,19 +1834,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1465,32 +1865,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1498,16 +1898,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1600,59 +2032,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1667,210 +2264,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1937,127 +2447,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2076,69 +2827,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2193,144 +2945,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2357,60 +3148,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2419,69 +3223,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2489,25 +3297,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/ru_RU/LC_MESSAGES/glance.po b/glance/locale/ru_RU/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..dcfe0b2eab --- /dev/null +++ b/glance/locale/ru_RU/LC_MESSAGES/glance.po @@ -0,0 +1,3370 @@ +# Russian (Russia) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Russian (Russia) " +"(http://www.transifex.com/projects/p/openstack/language/ru_RU/)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/sk/LC_MESSAGES/glance.po b/glance/locale/sk/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..59a88e58a7 --- /dev/null +++ b/glance/locale/sk/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Slovak translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Slovak " +"(http://www.transifex.com/projects/p/openstack/language/sk/)\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/sl_SI/LC_MESSAGES/glance.po b/glance/locale/sl_SI/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..a1d0478070 --- /dev/null +++ b/glance/locale/sl_SI/LC_MESSAGES/glance.po @@ -0,0 +1,3370 @@ +# Slovenian (Slovenia) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Slovenian (Slovenia) " +"(http://www.transifex.com/projects/p/openstack/language/sl_SI/)\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 " +"|| n%100==4 ? 2 : 3)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/sw_KE/LC_MESSAGES/glance.po b/glance/locale/sw_KE/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..bcfebb5dbb --- /dev/null +++ b/glance/locale/sw_KE/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Swahili (Kenya) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Swahili (Kenya) " +"(http://www.transifex.com/projects/p/openstack/language/sw_KE/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/tl/LC_MESSAGES/glance.po b/glance/locale/tl/LC_MESSAGES/glance.po index 65733a0d0a..9e410fdb44 100644 --- a/glance/locale/tl/LC_MESSAGES/glance.po +++ b/glance/locale/tl/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: tl \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/tl_PH/LC_MESSAGES/glance.po b/glance/locale/tl_PH/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..67df21c28d --- /dev/null +++ b/glance/locale/tl_PH/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Filipino (Philippines) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-09-26 22:10+0000\n" +"Last-Translator: Tom Fifield \n" +"Language-Team: Tagalog (Philippines) " +"(http://www.transifex.com/projects/p/openstack/language/tl_PH/)\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/tr/LC_MESSAGES/glance.po b/glance/locale/tr/LC_MESSAGES/glance.po index 7c68bd1953..8e874ea05a 100644 --- a/glance/locale/tr/LC_MESSAGES/glance.po +++ b/glance/locale/tr/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: tr \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/tr_TR/LC_MESSAGES/glance.po b/glance/locale/tr_TR/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..ff598b2f97 --- /dev/null +++ b/glance/locale/tr_TR/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Turkish (Turkey) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Turkish (Turkey) " +"(http://www.transifex.com/projects/p/openstack/language/tr_TR/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "Sınır parametresi tam sayı olmak zorunda" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "Sınır parametresi pozitif olmak zorunda" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "Geçersiz backend: %s" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "syslog servisi bunlardan biri olmak zorundadır: %s" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "utils.execute için bilinmeyen anahtar kelime argümanları: %r" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "Çalışan komut(alt süreç): %s" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "Sonuç %s" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "%r hatalı. Yeniden deneniyor." + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "Çalışan komut(SSH): %s" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "SSH üzerinde ortam desteklenmemektedir." + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "SSH üzerinde process_input desteklenmemektedir." + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/uk/LC_MESSAGES/glance.po b/glance/locale/uk/LC_MESSAGES/glance.po index 89d7bac23a..b0d278901a 100644 --- a/glance/locale/uk/LC_MESSAGES/glance.po +++ b/glance/locale/uk/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: uk \n" @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -82,26 +82,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -114,20 +114,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -144,17 +150,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -162,31 +168,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -209,7 +219,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -228,434 +238,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -700,42 +962,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -784,77 +1060,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -864,7 +1147,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -874,17 +1157,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -893,105 +1176,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1025,184 +1382,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1212,20 +1598,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1243,22 +1635,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1280,53 +1675,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1358,20 +1753,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1398,13 +1793,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1417,19 +1812,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1439,19 +1834,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1465,32 +1865,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1498,16 +1898,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1600,59 +2032,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1667,210 +2264,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1937,127 +2447,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2076,69 +2827,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2193,144 +2945,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2357,60 +3148,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2419,69 +3223,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2489,25 +3297,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/vi_VN/LC_MESSAGES/glance.po b/glance/locale/vi_VN/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..1f33f79053 --- /dev/null +++ b/glance/locale/vi_VN/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Vietnamese (Vietnam) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Vietnamese (Viet Nam) " +"(http://www.transifex.com/projects/p/openstack/language/vi_VN/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/zh_CN/LC_MESSAGES/glance.po b/glance/locale/zh_CN/LC_MESSAGES/glance.po index 54eeb036db..b4002c6b14 100644 --- a/glance/locale/zh_CN/LC_MESSAGES/glance.po +++ b/glance/locale/zh_CN/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: zh_CN \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/zh_HK/LC_MESSAGES/glance.po b/glance/locale/zh_HK/LC_MESSAGES/glance.po new file mode 100644 index 0000000000..eb0e39a76c --- /dev/null +++ b/glance/locale/zh_HK/LC_MESSAGES/glance.po @@ -0,0 +1,3369 @@ +# Chinese (Traditional, Hong Kong SAR China) translations for glance. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the glance project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Glance\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" +"PO-Revision-Date: 2013-08-30 08:49+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Chinese (Hong Kong) " +"(http://www.transifex.com/projects/p/openstack/language/zh_HK/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: glance/schema.py:56 +#, python-format +msgid "custom properties (%(props)s) conflict with base properties" +msgstr "" + +#: glance/api/authorization.py:90 glance/api/authorization.py:101 +#, python-format +msgid "You cannot get image member for %s" +msgstr "" + +#: glance/api/authorization.py:109 +#, python-format +msgid "You cannot delete image member for %s" +msgstr "" + +#: glance/api/authorization.py:118 +#, python-format +msgid "You cannot add image member for %s" +msgstr "" + +#: glance/api/authorization.py:128 +#, python-format +msgid "You cannot update image member %s" +msgstr "" + +#: glance/api/authorization.py:147 +#, python-format +msgid "You are not permitted to create images owned by '%s'." +msgstr "" + +#: glance/api/authorization.py:165 +msgid "You are not permitted to create image members for the image." +msgstr "" + +#: glance/api/authorization.py:170 glance/api/authorization.py:306 +msgid "Public images do not have members." +msgstr "" + +#: glance/api/authorization.py:185 glance/api/authorization.py:214 +#, python-format +msgid "You are not permitted to modify '%s' on this image." +msgstr "" + +#: glance/api/authorization.py:193 +msgid "You are not permitted to modify locations for this image." +msgstr "" + +#: glance/api/authorization.py:218 +msgid "You are not permitted to modify this image." +msgstr "" + +#: glance/api/authorization.py:231 +msgid "You are not permitted to modify tags on this image." +msgstr "" + +#: glance/api/authorization.py:270 +msgid "You are not permitted to delete this image." +msgstr "" + +#: glance/api/authorization.py:281 +msgid "You are not permitted to upload data for this image." +msgstr "" + +#: glance/api/common.py:44 +#, python-format +msgid "" +"An error occurred reading from backend storage for image %(image_id)s: " +"%(err)s" +msgstr "" + +#: glance/api/common.py:50 +#, python-format +msgid "" +"Backend storage for image %(image_id)s disconnected after writing only " +"%(bytes_written)d bytes" +msgstr "" + +#: glance/api/common.py:54 +#, python-format +msgid "Corrupt image download for image %(image_id)s" +msgstr "" + +#: glance/api/common.py:79 glance/notifier/__init__.py:194 +#, python-format +msgid "An error occurred during image.send notification: %(err)s" +msgstr "" + +#: glance/api/policy.py:34 +msgid "The location of the policy file." +msgstr "" + +#: glance/api/policy.py:36 +msgid "The default policy to use." +msgstr "" + +#: glance/api/policy.py:74 +#, python-format +msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" +msgstr "" + +#: glance/api/policy.py:86 +msgid "Unable to find policy file" +msgstr "" + +#: glance/api/policy.py:96 +#, python-format +msgid "Loading policy from %s" +msgstr "" + +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + +#: glance/api/middleware/cache.py:57 +msgid "Initialized image cache middleware" +msgstr "" + +#: glance/api/middleware/cache.py:113 +#, python-format +msgid "Cache hit for image '%s'" +msgstr "" + +#: glance/api/middleware/cache.py:120 +#, python-format +msgid "" +"Image cache contained image file for image '%s', however the registry did" +" not contain metadata for that image!" +msgstr "" + +#: glance/api/middleware/cache.py:211 +#, python-format +msgid "could not find %s" +msgstr "" + +#: glance/api/middleware/cache.py:219 +#, python-format +msgid "Removing image %s from cache" +msgstr "" + +#: glance/api/middleware/cache.py:231 +msgid "Checksum header is missing." +msgstr "" + +#: glance/api/middleware/cache_manage.py:74 +msgid "Initialized image cache management middleware" +msgstr "" + +#: glance/api/middleware/context.py:31 +msgid "" +"When true, this option sets the owner of an image to be the tenant. " +"Otherwise, the owner of the image will be the authenticated user issuing" +" the request." +msgstr "" + +#: glance/api/middleware/context.py:36 +msgid "Role used to identify an authenticated user as administrator." +msgstr "" + +#: glance/api/middleware/context.py:39 +msgid "" +"Allow unauthenticated users to access the API with read-only privileges. " +"This only applies when using ContextMiddleware." +msgstr "" + +#: glance/api/middleware/context.py:55 +msgid "Unable to retrieve request id from context" +msgstr "" + +#: glance/api/middleware/context.py:112 +msgid "Invalid service catalog json." +msgstr "" + +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:43 +#, python-format +msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:55 +msgid "Using media-type versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:59 +msgid "Using url versioning" +msgstr "" + +#: glance/api/middleware/version_negotiation.py:66 +msgid "Unknown version. Returning version choices." +msgstr "" + +#: glance/api/middleware/version_negotiation.py:71 +#, python-format +msgid "Matched version: v%d" +msgstr "" + +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 +#, python-format +msgid "Image with identifier %s not found" +msgstr "" + +#: glance/api/v1/controller.py:48 +msgid "Forbidden image access" +msgstr "" + +#: glance/api/v1/controller.py:61 +#, python-format +msgid "Image %s is not active" +msgstr "" + +#: glance/api/v1/controller.py:83 +#, python-format +msgid "Store for image_id not found: %s" +msgstr "" + +#: glance/api/v1/images.py:82 +#, python-format +msgid "Image name too long: %d" +msgstr "" + +#: glance/api/v1/images.py:93 +msgid "" +"Invalid mix of disk and container formats. When setting a disk or " +"container format to one of 'aki', 'ari', or 'ami', the container and disk" +" formats must match." +msgstr "" + +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 +#, python-format +msgid "External sourcing not supported for store %s" +msgstr "" + +#: glance/api/v1/images.py:482 +#, python-format +msgid "An image with identifier %s already exists" +msgstr "" + +#: glance/api/v1/images.py:489 +#, python-format +msgid "Failed to reserve image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:496 +msgid "Forbidden to reserve image." +msgstr "" + +#: glance/api/v1/images.py:523 +#, python-format +msgid "Copy from external source failed: %s" +msgstr "" + +#: glance/api/v1/images.py:532 +msgid "Content-Type must be application/octet-stream" +msgstr "" + +#: glance/api/v1/images.py:543 +#, python-format +msgid "Setting image %s to status 'saving'" +msgstr "" + +#: glance/api/v1/images.py:547 +#, python-format +msgid "Uploading image data for image %(image_id)s to %(scheme)s store" +msgstr "" + +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 +#, python-format +msgid "" +"Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " +"image (%(actual)s) did not match. Setting image status to 'killed'." +msgstr "" + +#: glance/api/v1/upload_utils.py:136 +#, python-format +msgid "" +"Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " +"to %(size)d" +msgstr "" + +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 +#, python-format +msgid "Attempt to upload duplicate image: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:172 +#, python-format +msgid "Forbidden upload attempt: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 +#, python-format +msgid "Image storage media is full: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 +#, python-format +msgid "Insufficient permissions on image storage media: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 +#, python-format +msgid "Denying attempt to upload image because it exceeds the .quota: %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:223 +#, python-format +msgid "Received HTTP error while uploading image %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 +#, python-format +msgid "Failed to upload image %s" +msgstr "" + +#: glance/api/v2/image_data.py:58 +#, python-format +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" +msgstr "" + +#: glance/api/v2/image_data.py:70 +#, python-format +msgid "Unable to upload duplicate image data for image: %s" +msgstr "" + +#: glance/api/v2/image_data.py:76 +#, python-format +msgid "Not allowed to upload image data for image %s" +msgstr "" + +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 +msgid "Failed to upload image data due to HTTP error" +msgstr "" + +#: glance/api/v2/image_data.py:119 +msgid "Failed to upload image data due to internal error" +msgstr "" + +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 +msgid "No image data could be found" +msgstr "" + +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 +msgid "Body expected in request." +msgstr "" + +#: glance/api/v2/image_members.py:175 +msgid "Member to be added not specified" +msgstr "" + +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 +msgid "Status not specified" +msgstr "" + +#: glance/api/v2/image_members.py:236 +msgid "An identifier for the image member (tenantId)" +msgstr "" + +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 +msgid "An identifier for the image" +msgstr "" + +#: glance/api/v2/image_members.py:246 +msgid "Date and time of image member creation" +msgstr "" + +#: glance/api/v2/image_members.py:253 +msgid "Date and time of last modification of image member" +msgstr "" + +#: glance/api/v2/image_members.py:258 +msgid "The status of this image member" +msgstr "" + +#: glance/api/v2/images.py:120 +#, python-format +msgid "Failed to find image %(image_id)s to update" +msgstr "" + +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 +#, python-format +msgid "Property %s does not exist." +msgstr "" + +#: glance/api/v2/images.py:158 +#, python-format +msgid "Property %s already present." +msgstr "" + +#: glance/api/v2/images.py:169 +#, python-format +msgid "Property %s may not be removed." +msgstr "" + +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 +#, python-format +msgid "Unable to find '%s' in JSON Schema change" +msgstr "" + +#: glance/api/v2/images.py:316 +msgid "" +"Operation objects must contain only one member named \"add\", \"remove\"," +" or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:321 +msgid "" +"Operation objects must contain exactly one member named \"add\", " +"\"remove\", or \"replace\"." +msgstr "" + +#: glance/api/v2/images.py:358 +#, python-format +msgid "Pointer `%s` does not start with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:361 +#, python-format +msgid "Pointer `%s` contains adjacent \"/\"." +msgstr "" + +#: glance/api/v2/images.py:364 +#, python-format +msgid "Pointer `%s` end with \"/\"." +msgstr "" + +#: glance/api/v2/images.py:367 +#, python-format +msgid "Pointer `%s` does not contains valid token." +msgstr "" + +#: glance/api/v2/images.py:370 +#, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format +msgid "Invalid sort direction: %s" +msgstr "" + +#: glance/api/v2/images.py:494 +#, python-format +msgid "Invalid status: %s" +msgstr "" + +#: glance/api/v2/images.py:503 +#, python-format +msgid "Invalid visibility value: %s" +msgstr "" + +#: glance/api/v2/images.py:623 +msgid "Descriptive name for the image" +msgstr "" + +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:634 +msgid "Scope of image accessibility" +msgstr "" + +#: glance/api/v2/images.py:639 +msgid "If true, image will not be deletable." +msgstr "" + +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:653 +msgid "Format of the container" +msgstr "" + +#: glance/api/v2/images.py:659 +msgid "Format of the disk" +msgstr "" + +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 +msgid "List of strings related to the image" +msgstr "" + +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:692 +msgid "Amount of ram (in MB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:696 +msgid "Amount of disk space (in GB) required to boot image." +msgstr "" + +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 +#, python-format +msgid "" +"Could not find schema properties file %s. Continuing without custom " +"properties" +msgstr "" + +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 +#, python-format +msgid "Unexpected response: %s" +msgstr "" + +#: glance/common/auth.py:256 +#, python-format +msgid "Unknown auth strategy '%s'" +msgstr "" + +#: glance/common/auth.py:277 +#, python-format +msgid "Encountered service with no \"type\": %s" +msgstr "" + +#: glance/common/client.py:238 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a cert," +" however you have failed to supply either a key_file parameter or set the" +" GLANCE_CLIENT_KEY_FILE environ variable" +msgstr "" + +#: glance/common/client.py:246 +msgid "" +"You have selected to use SSL in connecting, and you have supplied a key, " +"however you have failed to supply either a cert_file parameter or set the" +" GLANCE_CLIENT_CERT_FILE environ variable" +msgstr "" + +#: glance/common/client.py:255 +#, python-format +msgid "The key file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:262 +#, python-format +msgid "The cert file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:269 +#, python-format +msgid "The CA file you specified %s does not exist" +msgstr "" + +#: glance/common/client.py:307 +#, python-format +msgid "Configuring from URL: %s" +msgstr "" + +#: glance/common/client.py:319 +#, python-format +msgid "Appending doc_root %(doc_root)s to URL %(url)s" +msgstr "" + +#: glance/common/client.py:407 +#, python-format +msgid "Constructed URL: %s" +msgstr "" + +#: glance/common/config.py:36 +msgid "" +"Partial name of a pipeline in your paste configuration file with the " +"service name removed. For example, if your paste section name is " +"[pipeline:glance-api-keystone] use the value \"keystone\"" +msgstr "" + +#: glance/common/config.py:42 +msgid "Name of the paste configuration file." +msgstr "" + +#: glance/common/config.py:46 +msgid "" +"Whether to allow users to specify image properties beyond what the image " +"schema provides" +msgstr "" + +#: glance/common/config.py:49 +msgid "Python module path of data access API" +msgstr "" + +#: glance/common/config.py:51 +msgid "" +"Default value for the number of items returned by a request if not " +"specified explicitly in the request" +msgstr "" + +#: glance/common/config.py:54 +msgid "Maximum permissible number of items that could be returned by a request" +msgstr "" + +#: glance/common/config.py:57 +msgid "" +"Whether to include the backend image storage location in image " +"properties. Revealing storage location can be a security risk, so use " +"this setting with caution!" +msgstr "" + +#: glance/common/config.py:61 +msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" +"Maximum size of image a user can upload in bytes. Defaults to " +"1099511627776 bytes (1 TB)." +msgstr "" + +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 +msgid "Deploy the v1 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:75 +msgid "Deploy the v2 OpenStack Images API. " +msgstr "" + +#: glance/common/config.py:77 +msgid "The hostname/IP of the pydev process listening for debug connections" +msgstr "" + +#: glance/common/config.py:80 +msgid "The port on which a pydev process is listening for connections." +msgstr "" + +#: glance/common/config.py:83 +msgid "" +"Key used for encrypting sensitive metadata while talking to the registry " +"or database." +msgstr "" + +#: glance/common/config.py:144 +msgid "Invalid syslog facility" +msgstr "" + +#: glance/common/config.py:222 +#, python-format +msgid "Loading %(app_name)s from %(conf_file)s" +msgstr "" + +#: glance/common/config.py:233 +#, python-format +msgid "" +"Unable to load %(app_name)s from configuration file %(conf_file)s.\n" +"Got: %(e)r" +msgstr "" + +#: glance/common/exception.py:39 +msgid "An unknown exception occurred" +msgstr "" + +#: glance/common/exception.py:57 +msgid "Missing required argument." +msgstr "" + +#: glance/common/exception.py:61 +#, python-format +msgid "Missing required credential: %(required)s" +msgstr "" + +#: glance/common/exception.py:65 +#, python-format +msgid "" +"Incorrect auth strategy, expected \"%(expected)s\" but received " +"\"%(received)s\"" +msgstr "" + +#: glance/common/exception.py:70 +msgid "An object with the specified identifier was not found." +msgstr "" + +#: glance/common/exception.py:74 +#, python-format +msgid "Unknown scheme '%(scheme)s' found in URI" +msgstr "" + +#: glance/common/exception.py:78 +msgid "The Store URI was malformed." +msgstr "" + +#: glance/common/exception.py:82 +msgid "An object with the same identifier already exists." +msgstr "" + +#: glance/common/exception.py:86 +msgid "There is not enough disk space on the image storage media." +msgstr "" + +#: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 +msgid "Permission to write image storage media denied." +msgstr "" + +#: glance/common/exception.py:99 +#, python-format +msgid "Connect error/bad request to Auth service at URL %(url)s." +msgstr "" + +#: glance/common/exception.py:103 +#, python-format +msgid "Auth service at URL %(url)s not found." +msgstr "" + +#: glance/common/exception.py:107 +msgid "Authorization failed." +msgstr "" + +#: glance/common/exception.py:111 +msgid "You are not authenticated." +msgstr "" + +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 +msgid "You are not authorized to complete this action." +msgstr "" + +#: glance/common/exception.py:123 +#, python-format +msgid "Image %(image_id)s is protected and cannot be deleted." +msgstr "" + +#: glance/common/exception.py:132 +msgid "Data supplied was not valid." +msgstr "" + +#: glance/common/exception.py:136 +msgid "Sort key supplied was not valid." +msgstr "" + +#: glance/common/exception.py:140 +msgid "Unable to filter using the specified range." +msgstr "" + +#: glance/common/exception.py:144 +#, python-format +msgid "Attribute '%(property)s' is read-only." +msgstr "" + +#: glance/common/exception.py:148 +#, python-format +msgid "Attribute '%(property)s' is reserved." +msgstr "" + +#: glance/common/exception.py:152 +#, python-format +msgid "Redirecting to %(uri)s for authorization." +msgstr "" + +#: glance/common/exception.py:156 +msgid "There was an error migrating the database." +msgstr "" + +#: glance/common/exception.py:160 +msgid "There was an error connecting to a server" +msgstr "" + +#: glance/common/exception.py:164 +msgid "There was an error configuring the client." +msgstr "" + +#: glance/common/exception.py:168 +#, python-format +msgid "" +"The request returned a 302 Multiple Choices. This generally means that " +"you have not included a version indicator in a request URI.\n" +"\n" +"The body of response returned:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:174 +#, python-format +msgid "" +"The request returned a 413 Request Entity Too Large. This generally means" +" that rate limiting or a quota threshold was breached.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:185 +msgid "" +"The request returned 503 Service Unavilable. This generally occurs on " +"service overload or other transient outage." +msgstr "" + +#: glance/common/exception.py:196 +msgid "The request returned 500 Internal Server Error." +msgstr "" + +#: glance/common/exception.py:200 +#, python-format +msgid "" +"The request returned an unexpected status: %(status)s.\n" +"\n" +"The response body:\n" +"%(body)s" +msgstr "" + +#: glance/common/exception.py:205 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: glance/common/exception.py:209 +#, python-format +msgid "Registry was not configured correctly on API server. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:214 +#, python-format +msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" +msgstr "" + +#: glance/common/exception.py:219 +#, python-format +msgid "" +"Driver %(driver_name)s could not be configured correctly. Reason: " +"%(reason)s" +msgstr "" + +#: glance/common/exception.py:224 +msgid "Deleting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 +msgid "Configuration for store failed. Adding images to this store is disabled." +msgstr "" + +#: glance/common/exception.py:241 +#, python-format +msgid "'%(strategy)s' is not an available notifier strategy." +msgstr "" + +#: glance/common/exception.py:245 +#, python-format +msgid "Maximum redirects (%(redirects)s) was exceeded." +msgstr "" + +#: glance/common/exception.py:249 +msgid "Received invalid HTTP redirect." +msgstr "" + +#: glance/common/exception.py:253 +msgid "Response from Keystone does not contain a Glance endpoint." +msgstr "" + +#: glance/common/exception.py:257 +#, python-format +msgid "" +"Multiple 'image' service matches for region %(region)s. This generally " +"means that a region is required and you have not supplied one." +msgstr "" + +#: glance/common/exception.py:263 +#, python-format +msgid "Server worker creation failed: %(reason)s." +msgstr "" + +#: glance/common/exception.py:267 +#, python-format +msgid "Unable to load schema: %(reason)s" +msgstr "" + +#: glance/common/exception.py:271 +#, python-format +msgid "Provided object does not match schema '%(schema)s': %(reason)s" +msgstr "" + +#: glance/common/exception.py:276 +#, python-format +msgid "Provided header feature is unsupported: %(feature)s" +msgstr "" + +#: glance/common/exception.py:280 +msgid "" +"The image cannot be deleted because it is in use through the backend " +"store outside of Glance." +msgstr "" + +#: glance/common/exception.py:285 +msgid "The provided image is too large." +msgstr "" + +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 +#, python-format +msgid "Error: cooperative_iter exception %s" +msgstr "" + +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 +msgid "Read-only access" +msgstr "" + +#: glance/common/utils.py:464 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + +#: glance/common/wsgi.py:50 +msgid "" +"Address to bind the server. Useful when selecting a particular network " +"interface." +msgstr "" + +#: glance/common/wsgi.py:53 +msgid "The port on which the server will listen." +msgstr "" + +#: glance/common/wsgi.py:58 +msgid "The backlog value that will be used when creating the TCP listener socket." +msgstr "" + +#: glance/common/wsgi.py:61 +msgid "" +"The value for the socket option TCP_KEEPIDLE. This isthe time in seconds" +" that the connection must be idle before TCP starts sending keepalive " +"probes." +msgstr "" + +#: glance/common/wsgi.py:64 +msgid "CA certificate file to use to verify connecting clients." +msgstr "" + +#: glance/common/wsgi.py:66 +msgid "Certificate file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:68 +msgid "Private key file to use when starting API server securely." +msgstr "" + +#: glance/common/wsgi.py:74 +msgid "" +"The number of child process workers that will be created to service API " +"requests." +msgstr "" + +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 +msgid "" +"When running server in SSL mode, you must specify both a cert_file and " +"key_file option value in your configuration file" +msgstr "" + +#: glance/common/wsgi.py:172 +#, python-format +msgid "Could not bind to %s:%s after trying for 30 seconds" +msgstr "" + +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 +#, python-format +msgid "Starting %d workers" +msgstr "" + +#: glance/common/wsgi.py:259 +#, python-format +msgid "Removing dead child %s" +msgstr "" + +#: glance/common/wsgi.py:262 +#, python-format +msgid "Not respawning child %d, cannot recover from termination" +msgstr "" + +#: glance/common/wsgi.py:266 +msgid "All workers have terminated. Exiting" +msgstr "" + +#: glance/common/wsgi.py:274 +msgid "Caught keyboard interrupt. Exiting." +msgstr "" + +#: glance/common/wsgi.py:278 +msgid "Exited" +msgstr "" + +#: glance/common/wsgi.py:300 +#, python-format +msgid "Child %d exiting normally" +msgstr "" + +#: glance/common/wsgi.py:305 +#, python-format +msgid "Started child %s" +msgstr "" + +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" +msgstr "" + +#: glance/common/wsgi.py:335 +msgid "Starting single process server" +msgstr "" + +#: glance/common/wsgi.py:537 +msgid "Malformed JSON in request body." +msgstr "" + +#: glance/db/simple/api.py:38 +#, python-format +msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" +msgstr "" + +#: glance/db/simple/api.py:43 +#, python-format +msgid "Returning %(funcname)s: %(output)s" +msgstr "" + +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 +msgid "Unable to filter on a range with a non-numeric value." +msgstr "" + +#: glance/db/simple/api.py:284 +#, python-format +msgid "Could not find image %s" +msgstr "" + +#: glance/db/simple/api.py:288 +msgid "Unable to get deleted image" +msgstr "" + +#: glance/db/simple/api.py:292 +msgid "Unable to get unowned image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 +msgid "" +"Period in seconds after which SQLAlchemy should reestablish its " +"connection to the database." +msgstr "" + +#: glance/db/sqlalchemy/api.py:65 +msgid "The number of times to retry a connection to the SQLserver." +msgstr "" + +#: glance/db/sqlalchemy/api.py:68 +msgid "" +"The amount of time to wait (in seconds) before attempting to retry the " +"SQL connection." +msgstr "" + +#: glance/db/sqlalchemy/api.py:71 +msgid "A boolean that determines if the database will be automatically created." +msgstr "" + +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 +msgid "Attempted to modify image user did not own." +msgstr "" + +#: glance/db/sqlalchemy/api.py:142 +msgid "You do not own this image" +msgstr "" + +#: glance/db/sqlalchemy/api.py:188 +#, python-format +msgid "" +"Error configuring registry database with supplied sql_connection. Got " +"error: %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:198 +msgid "auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:206 +msgid "not auto-creating glance registry DB" +msgstr "" + +#: glance/db/sqlalchemy/api.py:245 +#, python-format +msgid "SQL connection failed. %d attempts left." +msgstr "" + +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 +msgid "Id not in sort_keys; is sort_keys unique?" +msgstr "" + +#: glance/db/sqlalchemy/api.py:518 +msgid "Unknown sort direction, must be 'desc' or 'asc'" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:44 +msgid "database is not under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:59 +#, python-format +msgid "Upgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:74 +#, python-format +msgid "Downgrading database to version %s" +msgstr "" + +#: glance/db/sqlalchemy/migration.py:87 +msgid "database is already under migration control" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 +#, python-format +msgid "creating table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 +#, python-format +msgid "dropping table %(table)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 +msgid "" +"URI cannot contain more than one occurrence of a scheme.If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 +#: glance/store/s3.py:125 +#, python-format +msgid "Invalid store uri %(uri)s: %(reason)s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 +#, python-format +msgid "Badly formed credentials '%(creds)s' in Swift URI" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 +#: glance/store/s3.py:167 +#, python-format +msgid "Badly formed S3 URI: %s" +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:68 +msgid "" +"'metadata_encryption_key' was not specified in the config file or a " +"config file was not specified. This means that this migration is a NOOP." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:88 +#, python-format +msgid "Failed to decrypt location value for image %s" +msgstr "" + +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 +#, python-format +msgid "Property %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:126 +#, python-format +msgid "Properties %s must be set prior to saving data." +msgstr "" + +#: glance/domain/__init__.py:205 +msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." +msgstr "" + +#: glance/image_cache/__init__.py:35 +msgid "The driver to use for image cache management." +msgstr "" + +#: glance/image_cache/__init__.py:37 +msgid "The maximum size in bytes that the cache can use." +msgstr "" + +#: glance/image_cache/__init__.py:39 +msgid "" +"The amount of time to let an image remain in the cache without being " +"accessed" +msgstr "" + +#: glance/image_cache/__init__.py:42 +msgid "Base directory that the Image Cache uses." +msgstr "" + +#: glance/image_cache/__init__.py:64 +#, python-format +msgid "Image cache loaded driver '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:67 +#, python-format +msgid "" +"Image cache driver '%(driver_name)s' failed to load. Got error: " +"'%(import_err)s." +msgstr "" + +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 +msgid "Defaulting to SQLite driver." +msgstr "" + +#: glance/image_cache/__init__.py:86 +#, python-format +msgid "" +"Image cache driver '%(driver_module)s' failed to configure. Got error: " +"'%(config_err)s" +msgstr "" + +#: glance/image_cache/__init__.py:171 +msgid "Image cache has free space, skipping prune..." +msgstr "" + +#: glance/image_cache/__init__.py:175 +#, python-format +msgid "" +"Image cache currently %(overage)d bytes over max size. Starting prune to " +"max size of %(max_size)d " +msgstr "" + +#: glance/image_cache/__init__.py:184 +#, python-format +msgid "Pruning '%(image_id)s' to free %(size)d bytes" +msgstr "" + +#: glance/image_cache/__init__.py:192 +#, python-format +msgid "" +"Pruning finished pruning. Pruned %(total_files_pruned)d and " +"%(total_bytes_pruned)d." +msgstr "" + +#: glance/image_cache/__init__.py:229 +#, python-format +msgid "Tee'ing image '%s' into cache" +msgstr "" + +#: glance/image_cache/__init__.py:248 +#, python-format +msgid "Checksum verification failed. Aborted caching of image '%s'." +msgstr "" + +#: glance/image_cache/__init__.py:258 +#, python-format +msgid "" +"Exception encountered while tee'ing image '%s' into cache: %s. Continuing" +" with response." +msgstr "" + +#: glance/image_cache/prefetcher.py:48 +#, python-format +msgid "Image '%s' is not active. Not caching." +msgstr "" + +#: glance/image_cache/prefetcher.py:53 +#, python-format +msgid "No metadata found for image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:58 +#, python-format +msgid "Caching image '%s'" +msgstr "" + +#: glance/image_cache/prefetcher.py:70 +msgid "Nothing to prefetch." +msgstr "" + +#: glance/image_cache/prefetcher.py:74 +#, python-format +msgid "Found %d images to prefetch" +msgstr "" + +#: glance/image_cache/prefetcher.py:80 +msgid "Failed to successfully cache all images in queue." +msgstr "" + +#: glance/image_cache/prefetcher.py:84 +#, python-format +msgid "Successfully cached all %d images" +msgstr "" + +#: glance/image_cache/drivers/base.py:56 +#, python-format +msgid "Failed to read %s from config" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:40 +msgid "" +"The path to the sqlite file database that will be used for image cache " +"management." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:122 +#, python-format +msgid "Failed to initialize the image cache database. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:161 +#: glance/image_cache/drivers/xattr.py:145 +msgid "Gathering cached image entries." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:300 +#: glance/image_cache/drivers/xattr.py:273 +#, python-format +msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:324 +#: glance/image_cache/drivers/xattr.py:289 +#, python-format +msgid "" +"Fetch of cache file failed (%(e)s), rolling back by moving " +"'%(incomplete_path)s' to '%(invalid_path)s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:386 +#, python-format +msgid "Error executing SQLite call. Got error: %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:402 +#: glance/image_cache/drivers/xattr.py:335 +#, python-format +msgid "Not queueing image '%s'. Already cached." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:407 +#: glance/image_cache/drivers/xattr.py:340 +#, python-format +msgid "Not queueing image '%s'. Already being written to cache" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:413 +#: glance/image_cache/drivers/xattr.py:346 +#, python-format +msgid "Not queueing image '%s'. Already queued." +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:431 +#, python-format +msgid "Removed invalid cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:445 +#, python-format +msgid "Removed stalled cache file %s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 +#, python-format +msgid "Deleting image cache file '%s'" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 +#, python-format +msgid "Cached image file '%s' doesn't exist, unable to delete" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:106 +#, python-format +msgid "" +"The device housing the image cache directory %(image_cache_dir)s does not" +" support xattr. It is likely you need to edit your fstab and add the " +"user_xattr option to the appropriate line for the device housing the " +"cache directory." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:281 +#, python-format +msgid "Removing image '%s' from queue after caching it." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:351 +#, python-format +msgid "Queueing image '%s'." +msgstr "" + +#: glance/image_cache/drivers/xattr.py:381 +#, python-format +msgid "No grace period, reaping '%(path)s' immediately" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:386 +#, python-format +msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" +msgstr "" + +#: glance/image_cache/drivers/xattr.py:391 +#, python-format +msgid "Reaped %(reaped)s %(entry_type)s cache entries" +msgstr "" + +#: glance/notifier/__init__.py:34 +msgid "" +"Notifications can be sent when images are create, updated or deleted. " +"There are three methods of sending notifications, logging (via the " +"log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid " +"message queue), or noop (no notifications sent, the default)." +msgstr "" + +#: glance/notifier/__init__.py:63 +#, python-format +msgid "Converted strategy alias %s to %s" +msgstr "" + +#: glance/notifier/__init__.py:67 +#, python-format +msgid "No strategy alias found for %s" +msgstr "" + +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + +#: glance/notifier/notify_kombu.py:31 +msgid "The host name of the rabbitmq server" +msgstr "" + +#: glance/notifier/notify_kombu.py:33 +msgid "The port on which the rabbitmq server is listening" +msgstr "" + +#: glance/notifier/notify_kombu.py:35 +msgid "A boolean value indicating if the selected rabbitmq server uses SSL." +msgstr "" + +#: glance/notifier/notify_kombu.py:38 +msgid "The user ID for authentication with rabbitmq." +msgstr "" + +#: glance/notifier/notify_kombu.py:40 +msgid "" +"The password that will be used for authentication with the rabbitmq " +"server." +msgstr "" + +#: glance/notifier/notify_kombu.py:43 +msgid "The virtual host used in the rabbitmq connection." +msgstr "" + +#: glance/notifier/notify_kombu.py:45 +msgid "Exchange name to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:48 +msgid "Topic to use for connection when using rabbit strategy." +msgstr "" + +#: glance/notifier/notify_kombu.py:51 +msgid "The maximum number of times to attempt to connect to the AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:54 +msgid "" +"This value multiplied by the number of connection attempts gives the " +"amount of time in seconds to sleep between connection attempts to the " +"AMQP server." +msgstr "" + +#: glance/notifier/notify_kombu.py:58 +msgid "" +"The maximum amount of time to wait between connection attempts. The " +"delay time will be the smaller of this value and the value of " +" * ." +msgstr "" + +#: glance/notifier/notify_kombu.py:110 +#, python-format +msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:114 +#, python-format +msgid "Connecting to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:144 +#, python-format +msgid "Connected to AMQP server on %(hostname)s:%(port)d" +msgstr "" + +#: glance/notifier/notify_kombu.py:173 +#, python-format +msgid "" +"Unable to connect to AMQP server on %(hostname)s:%(port)d after " +"%(max_retries)d tries: %(err_str)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:185 +#, python-format +msgid "" +"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying " +"again in %(sleep_time)d seconds." +msgstr "" + +#: glance/notifier/notify_kombu.py:192 +#, python-format +msgid "Notification with priority %(priority)s failed: msg=%(msg)s" +msgstr "" + +#: glance/notifier/notify_kombu.py:231 +#, python-format +msgid "Unable to send notification: %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:109 +#, python-format +msgid "Connected to AMQP server on %s" +msgstr "" + +#: glance/notifier/notify_qpid.py:137 +#, python-format +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" +msgstr "" + +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 +#, python-format +msgid "Deprecated: %s" +msgstr "" + +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "" + +#: glance/openstack/common/log.py:563 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "" + +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 +#, python-format +msgid "Failed to understand rule %(rule)s" +msgstr "" + +#: glance/openstack/common/policy.py:405 +#, python-format +msgid "No handler for matches of kind %s" +msgstr "" + +#: glance/openstack/common/policy.py:680 +#, python-format +msgid "Failed to understand rule %(rule)r" +msgstr "" + +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 +#, python-format +msgid "%s not in valid priorities" +msgstr "" + +#: glance/openstack/common/notifier/api.py:141 +#, python-format +msgid "" +"Problem '%(e)s' attempting to send to notification system. " +"Payload=%(payload)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:171 +#, python-format +msgid "Failed to load notifier %s. These notifications will not be sent." +msgstr "" + +#: glance/openstack/common/notifier/rabbit_notifier.py:27 +msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." +msgstr "" + +#: glance/openstack/common/notifier/rpc_notifier.py:45 +#: glance/openstack/common/notifier/rpc_notifier2.py:51 +#, python-format +msgid "Could not send notification to %(topic)s. Payload=%(message)s" +msgstr "" + +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 +msgid "Address to find the registry server." +msgstr "" + +#: glance/registry/__init__.py:29 +msgid "Port the registry server is listening on." +msgstr "" + +#: glance/registry/api/v1/images.py:111 +msgid "Invalid marker. Image could not be found." +msgstr "" + +#: glance/registry/api/v1/images.py:144 +msgid "Returning image list" +msgstr "" + +#: glance/registry/api/v1/images.py:163 +msgid "Returning detailed image list" +msgstr "" + +#: glance/registry/api/v1/images.py:216 +msgid "Unrecognized changes-since value" +msgstr "" + +#: glance/registry/api/v1/images.py:221 +msgid "protected must be True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:258 +msgid "Invalid marker format" +msgstr "" + +#: glance/registry/api/v1/images.py:268 +#, python-format +msgid "Unsupported sort_key. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:277 +#, python-format +msgid "Unsupported sort_dir. Acceptable values: %s" +msgstr "" + +#: glance/registry/api/v1/images.py:303 +msgid "is_public must be None, True, or False" +msgstr "" + +#: glance/registry/api/v1/images.py:319 +#, python-format +msgid "Successfully retrieved image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 +#: glance/registry/api/v1/members.py:254 +#, python-format +msgid "Image %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 +#: glance/registry/api/v1/members.py:260 +#, python-format +msgid "Access denied to image %(id)s but returning 'not found'" +msgstr "" + +#: glance/registry/api/v1/images.py:347 +#, python-format +msgid "Successfully deleted image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:351 +#, python-format +msgid "Delete denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:388 +#, python-format +msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" +msgstr "" + +#: glance/registry/api/v1/images.py:391 +msgid "Invalid image id format" +msgstr "" + +#: glance/registry/api/v1/images.py:400 +#, python-format +msgid "Successfully created image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:404 +#, python-format +msgid "Image with identifier %s already exists!" +msgstr "" + +#: glance/registry/api/v1/images.py:408 +#, python-format +msgid "Failed to add image metadata. Got error: %(e)s" +msgstr "" + +#: glance/registry/api/v1/images.py:435 +#, python-format +msgid "Updating image %(id)s with metadata: %(image_data)r" +msgstr "" + +#: glance/registry/api/v1/images.py:444 +#, python-format +msgid "Updating metadata for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/images.py:459 +#, python-format +msgid "Update denied for public image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:58 +#, python-format +msgid "Returning member list for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:93 glance/registry/api/v1/members.py:206 +#: glance/registry/api/v1/members.py:266 +#, python-format +msgid "User lacks permission to share image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:95 glance/registry/api/v1/members.py:208 +#: glance/registry/api/v1/members.py:268 +msgid "No permission to share that image" +msgstr "" + +#: glance/registry/api/v1/members.py:103 glance/registry/api/v1/members.py:119 +#: glance/registry/api/v1/members.py:218 +#, python-format +msgid "Invalid membership association specified for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:106 glance/registry/api/v1/members.py:122 +#: glance/registry/api/v1/members.py:221 +#, python-format +msgid "Invalid membership association: %s" +msgstr "" + +#: glance/registry/api/v1/members.py:170 +#, python-format +msgid "Successfully updated memberships for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:239 +#, python-format +msgid "Successfully updated a membership for image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:278 +#, python-format +msgid "%(id)s is not a member of image %(image_id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:280 glance/registry/api/v1/members.py:297 +msgid "Membership could not be found." +msgstr "" + +#: glance/registry/api/v1/members.py:284 +#, python-format +msgid "Successfully deleted a membership from image %(id)s" +msgstr "" + +#: glance/registry/api/v1/members.py:295 +#, python-format +msgid "Member %(id)s not found" +msgstr "" + +#: glance/registry/api/v1/members.py:300 +#, python-format +msgid "Returning list of images shared with member %(id)s" +msgstr "" + +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 +msgid "" +"List of which store classes and store class locations are currently known" +" to glance at startup." +msgstr "" + +#: glance/store/__init__.py:51 +msgid "" +"Default scheme to use to store image data. The scheme must be registered " +"by one of the stores defined by the 'known_stores' config option." +msgstr "" + +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 +msgid "" +"Directory that the scrubber will use to track information about what to " +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" +msgstr "" + +#: glance/store/__init__.py:61 +msgid "Turn on/off delayed delete." +msgstr "" + +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 +msgid "The amount of time in seconds to delay before performing a delete." +msgstr "" + +#: glance/store/__init__.py:275 +#, python-format +msgid "Failed to delete image in store at URI: %s" +msgstr "" + +#: glance/store/__init__.py:281 +#, python-format +msgid "Failed to delete image at %s from store (%s)" +msgstr "" + +#: glance/store/__init__.py:314 +#, python-format +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." +msgstr "" + +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 +msgid "Skipping store.set_acls... not implemented." +msgstr "" + +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 +#, python-format +msgid "Failed to configure store correctly: %s Disabling add method." +msgstr "" + +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 +msgid "Directory to which the Filesystem backend store writes images." +msgstr "" + +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 +#, python-format +msgid "No path specified in URI: %s" +msgstr "" + +#: glance/store/filesystem.py:128 +#, python-format +msgid "Could not find %s in configuration options." +msgstr "" + +#: glance/store/filesystem.py:135 +#, python-format +msgid "Directory to write image files does not exist (%s). Creating." +msgstr "" + +#: glance/store/filesystem.py:146 +#, python-format +msgid "Unable to create datadir: %s" +msgstr "" + +#: glance/store/filesystem.py:156 +#, python-format +msgid "Image file %s not found" +msgstr "" + +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 +#, python-format +msgid "Found image at %s. Returning in ChunkedFile." +msgstr "" + +#: glance/store/filesystem.py:214 +#, python-format +msgid "Found image at %s." +msgstr "" + +#: glance/store/filesystem.py:233 +#, python-format +msgid "Deleting image at %(fn)s" +msgstr "" + +#: glance/store/filesystem.py:236 +#, python-format +msgid "You cannot delete file %s" +msgstr "" + +#: glance/store/filesystem.py:238 +#, python-format +msgid "Image file %s does not exist" +msgstr "" + +#: glance/store/filesystem.py:264 +#, python-format +msgid "Image file %s already exists!" +msgstr "" + +#: glance/store/filesystem.py:290 +#, python-format +msgid "" +"Wrote %(bytes_written)d bytes to %(filepath)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/filesystem.py:299 +#, python-format +msgid "Unable to remove partial image data for image %s: %s" +msgstr "" + +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + +#: glance/store/http.py:82 +#, python-format +msgid "Credentials '%s' not well-formatted." +msgstr "" + +#: glance/store/http.py:89 +msgid "No address specified in HTTP URL" +msgstr "" + +#: glance/store/http.py:164 +#, python-format +msgid "HTTP URL returned a %s status code." +msgstr "" + +#: glance/store/http.py:170 +msgid "The HTTP URL attempted to redirect with an invalid status code." +msgstr "" + +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 +msgid "" +"Images will be chunked into objects of this size (in megabytes). For best" +" performance, this should be a power of two." +msgstr "" + +#: glance/store/rbd.py:57 +msgid "RADOS pool in which images are stored." +msgstr "" + +#: glance/store/rbd.py:59 +msgid "RADOS user to authenticate as (only applicable if using cephx.)" +msgstr "" + +#: glance/store/rbd.py:62 +msgid "Ceph configuration file path." +msgstr "" + +#: glance/store/rbd.py:104 +msgid "URI must start with rbd://" +msgstr "" + +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 +#, python-format +msgid "Invalid URI: %(uri)s: %(reason)s" +msgstr "" + +#: glance/store/rbd.py:111 +msgid "URI contains non-ascii characters" +msgstr "" + +#: glance/store/rbd.py:122 +msgid "URI must have exactly 1 or 4 components" +msgstr "" + +#: glance/store/rbd.py:126 +msgid "URI cannot contain empty components" +msgstr "" + +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 +#, python-format +msgid "RBD image %s does not exist" +msgstr "" + +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 +#, python-format +msgid "Error in store configuration: %s" +msgstr "" + +#: glance/store/rbd.py:269 +#, python-format +msgid "snapshot %s@%s could not be unprotected because it is in use" +msgstr "" + +#: glance/store/rbd.py:280 +#, python-format +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" +msgstr "" + +#: glance/store/s3.py:39 +msgid "The host where the S3 server is listening." +msgstr "" + +#: glance/store/s3.py:41 +msgid "The S3 query token access key." +msgstr "" + +#: glance/store/s3.py:43 +msgid "The S3 query token secret key." +msgstr "" + +#: glance/store/s3.py:45 +msgid "The S3 bucket to be used to store the Glance data." +msgstr "" + +#: glance/store/s3.py:47 +msgid "" +"The local directory where uploads will be staged before they are " +"transfered into S3." +msgstr "" + +#: glance/store/s3.py:50 +msgid "" +"A boolean to determine if the S3 bucket should be created on upload if it" +" does not exist or if an error should be returned to the user." +msgstr "" + +#: glance/store/s3.py:54 +msgid "" +"The S3 calling format used to determine the bucket. Either subdomain or " +"path can be used." +msgstr "" + +#: glance/store/s3.py:117 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"s3://accesskey:secretkey@https://s3.amazonaws.com/bucket/key-id, you need" +" to change it to use the s3+https:// scheme, like so: " +"s3+https://accesskey:secretkey@s3.amazonaws.com/bucket/key-id" +msgstr "" + +#: glance/store/s3.py:151 +#, python-format +msgid "Badly formed S3 credentials %s" +msgstr "" + +#: glance/store/s3.py:164 +msgid "Badly formed S3 URI. Missing s3 service URL." +msgstr "" + +#: glance/store/s3.py:309 +#, python-format +msgid "" +"Retrieved image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:369 +#, python-format +msgid "S3 already has an image at location %s" +msgstr "" + +#: glance/store/s3.py:373 +#, python-format +msgid "" +"Adding image object to S3 using (s3_host=%(s3_host)s, " +"access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:395 +#, python-format +msgid "Writing request body file to temporary file for %s" +msgstr "" + +#: glance/store/s3.py:407 +#, python-format +msgid "Uploading temporary file to S3 for %s" +msgstr "" + +#: glance/store/s3.py:416 +#, python-format +msgid "" +"Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " +"%(checksum_hex)s" +msgstr "" + +#: glance/store/s3.py:442 +#, python-format +msgid "" +"Deleting image object from S3 using (s3_host=%(s3_host)s, " +"access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" +msgstr "" + +#: glance/store/s3.py:464 +#, python-format +msgid "Could not find bucket with ID %(bucket_id)s" +msgstr "" + +#: glance/store/s3.py:505 +#, python-format +msgid "" +"Failed to add bucket to S3.\n" +"Got error from S3: %(e)s" +msgstr "" + +#: glance/store/s3.py:509 +#, python-format +msgid "" +"The bucket %(bucket)s does not exist in S3. Please set the " +"s3_store_create_bucket_on_put option to add bucket to S3 automatically." +msgstr "" + +#: glance/store/s3.py:528 +#, python-format +msgid "Could not find key %(obj)s in bucket %(bucket)s" +msgstr "" + +#: glance/store/scrubber.py:48 +msgid "" +"A boolean that determines if the scrubber should clean up the files it " +"uses for taking data. Only one server in your deployment should be " +"designated the cleanup host." +msgstr "" + +#: glance/store/scrubber.py:53 +msgid "" +"Items must have a modified time that is older than this value in order to" +" be candidates for cleanup." +msgstr "" + +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 +#, python-format +msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" +msgstr "" + +#: glance/store/scrubber.py:370 +msgid "Daemon Shutdown on KeyboardInterrupt" +msgstr "" + +#: glance/store/scrubber.py:374 +msgid "Running application" +msgstr "" + +#: glance/store/scrubber.py:377 +#, python-format +msgid "Next run scheduled in %s seconds" +msgstr "" + +#: glance/store/scrubber.py:382 +#, python-format +msgid "Initializing scrubber with configuration: %s" +msgstr "" + +#: glance/store/scrubber.py:406 +#, python-format +msgid "Can not %s scrub jobs from queue." +msgstr "" + +#: glance/store/scrubber.py:430 +#, python-format +msgid "Scrubbing image %(id)s from %(count)d locations." +msgstr "" + +#: glance/store/scrubber.py:445 +#, python-format +msgid "Deleting %(uri)s from image %(image_id)s." +msgstr "" + +#: glance/store/scrubber.py:458 +#, python-format +msgid "Failed to delete image %(image_id)s from %(uri)s." +msgstr "" + +#: glance/store/scrubber.py:470 +#, python-format +msgid "%s file is not exists." +msgstr "" + +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 +#, python-format +msgid "Getting images deleted before %s" +msgstr "" + +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + +#: glance/store/swift.py:51 +msgid "Whether to use ServiceNET to communicate with the Swift storage servers." +msgstr "" + +#: glance/store/swift.py:54 +msgid "The address where the Swift authentication service is listening." +msgstr "" + +#: glance/store/swift.py:57 +msgid "The user to authenticate against the Swift authentication service" +msgstr "" + +#: glance/store/swift.py:60 +msgid "" +"Auth key for the user authenticating against the Swift authentication " +"service." +msgstr "" + +#: glance/store/swift.py:63 +msgid "" +"Version of the authentication service to use. Valid versions are 2 for " +"keystone and 1 for swauth and rackspace" +msgstr "" + +#: glance/store/swift.py:67 +msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" +"The region of the swift endpoint to be used for single tenant. This " +"setting is only necessary if the tenant has multiple swift endpoints." +msgstr "" + +#: glance/store/swift.py:74 +msgid "" +"A string giving the endpoint type of the swift service to use (publicURL," +" adminURL or internalURL). This setting is only used if " +"swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:79 +msgid "" +"A string giving the service type of the swift service to use. This " +"setting is only used if swift_store_auth_version is 2." +msgstr "" + +#: glance/store/swift.py:84 +msgid "" +"Container within the account that the account should use for storing " +"images in Swift." +msgstr "" + +#: glance/store/swift.py:88 +msgid "" +"The size, in MB, that Glance will start chunking image files and do a " +"large object manifest in Swift" +msgstr "" + +#: glance/store/swift.py:92 +msgid "" +"The amount of data written to a temporary disk buffer during the process " +"of chunking the image file." +msgstr "" + +#: glance/store/swift.py:95 +msgid "" +"A boolean value that determines if we create the container if it does not" +" exist." +msgstr "" + +#: glance/store/swift.py:98 +msgid "" +"If set to True, enables multi-tenant storage mode which causes Glance " +"images to be stored in tenant specific Swift accounts." +msgstr "" + +#: glance/store/swift.py:102 +msgid "" +"A list of tenants that will be granted read/write access on all Swift " +"containers created by Glance in multi-tenant mode." +msgstr "" + +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 +msgid "" +"URI cannot contain more than one occurrence of a scheme. If you have " +"specified a URI like " +"swift://user:pass@http://authurl.com/v1/container/obj, you need to change" +" it to use the swift+http:// scheme, like so: " +"swift+http://user:pass@authurl.com/v1/container/obj" +msgstr "" + +#: glance/store/swift.py:183 +#, python-format +msgid "Invalid store URI: %(reason)s" +msgstr "" + +#: glance/store/swift.py:227 +msgid "Badly formed Swift URI." +msgstr "" + +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 +msgid "Swift could not find image at URI." +msgstr "" + +#: glance/store/swift.py:326 +#, python-format +msgid "Deleting chunk %s" +msgstr "" + +#: glance/store/swift.py:330 +#, python-format +msgid "Failed to delete orphaned chunk %s/%s" +msgstr "" + +#: glance/store/swift.py:340 +#, python-format +msgid "Adding image object '%(obj_name)s' to Swift" +msgstr "" + +#: glance/store/swift.py:360 +msgid "Cannot determine image size. Adding as a segmented object to Swift." +msgstr "" + +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 +#, python-format +msgid "" +"Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " +"%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" +msgstr "" + +#: glance/store/swift.py:405 +msgid "Deleting final zero-length chunk" +msgstr "" + +#: glance/store/swift.py:442 +msgid "Swift already has an image at this location" +msgstr "" + +#: glance/store/swift.py:444 +#, python-format +msgid "" +"Failed to add object to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:506 +#, python-format +msgid "" +"Failed to add container to Swift.\n" +"Got error from Swift: %(e)s" +msgstr "" + +#: glance/store/swift.py:510 +#, python-format +msgid "" +"The container %(container)s does not exist in Swift. Please set the " +"swift_store_create_container_on_put optionto add container to Swift " +"automatically." +msgstr "" + +#: glance/store/swift.py:554 +msgid "Location is missing user:password information." +msgstr "" + +#: glance/store/swift.py:566 +#, python-format +msgid "Badly formed tenant:user '%(user)s' in Swift URI" +msgstr "" + +#: glance/store/swift.py:593 +msgid "Multi-tenant Swift storage requires a context." +msgstr "" + +#: glance/store/swift.py:597 +msgid "Multi-tenant Swift storage requires a service catalog." +msgstr "" + +#: glance/tests/unit/test_migrations.py:827 +#, python-format +msgid "location: %s data lost" +msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(id)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" + diff --git a/glance/locale/zh_TW/LC_MESSAGES/glance.po b/glance/locale/zh_TW/LC_MESSAGES/glance.po index 9064e66a51..88b1e3bb9b 100644 --- a/glance/locale/zh_TW/LC_MESSAGES/glance.po +++ b/glance/locale/zh_TW/LC_MESSAGES/glance.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-04-17 00:01+0000\n" +"POT-Creation-Date: 2013-10-01 06:15+0000\n" "PO-Revision-Date: 2012-04-26 17:40+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: zh_TW \n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: glance/schema.py:56 #, python-format @@ -81,26 +81,26 @@ msgstr "" msgid "You are not permitted to upload data for this image." msgstr "" -#: glance/api/common.py:41 +#: glance/api/common.py:44 #, python-format msgid "" "An error occurred reading from backend storage for image %(image_id)s: " "%(err)s" msgstr "" -#: glance/api/common.py:47 +#: glance/api/common.py:50 #, python-format msgid "" "Backend storage for image %(image_id)s disconnected after writing only " "%(bytes_written)d bytes" msgstr "" -#: glance/api/common.py:51 +#: glance/api/common.py:54 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" -#: glance/api/common.py:76 glance/notifier/__init__.py:193 +#: glance/api/common.py:79 glance/notifier/__init__.py:194 #, python-format msgid "An error occurred during image.send notification: %(err)s" msgstr "" @@ -113,20 +113,26 @@ msgstr "" msgid "The default policy to use." msgstr "" -#: glance/api/policy.py:73 +#: glance/api/policy.py:74 #, python-format msgid "Loaded %(rule_type)spolicy rules: %(text_rules)s" msgstr "" -#: glance/api/policy.py:85 +#: glance/api/policy.py:86 msgid "Unable to find policy file" msgstr "" -#: glance/api/policy.py:95 +#: glance/api/policy.py:96 #, python-format msgid "Loading policy from %s" msgstr "" +#: glance/api/policy.py:212 glance/quota/__init__.py:170 +#: glance/store/__init__.py:586 +#, python-format +msgid "Invalid locations: %s" +msgstr "" + #: glance/api/middleware/cache.py:57 msgid "Initialized image cache middleware" msgstr "" @@ -143,17 +149,17 @@ msgid "" " not contain metadata for that image!" msgstr "" -#: glance/api/middleware/cache.py:198 +#: glance/api/middleware/cache.py:211 #, python-format msgid "could not find %s" msgstr "" -#: glance/api/middleware/cache.py:206 +#: glance/api/middleware/cache.py:219 #, python-format msgid "Removing image %s from cache" msgstr "" -#: glance/api/middleware/cache.py:218 +#: glance/api/middleware/cache.py:231 msgid "Checksum header is missing." msgstr "" @@ -161,31 +167,35 @@ msgstr "" msgid "Initialized image cache management middleware" msgstr "" -#: glance/api/middleware/context.py:30 +#: glance/api/middleware/context.py:31 msgid "" "When true, this option sets the owner of an image to be the tenant. " "Otherwise, the owner of the image will be the authenticated user issuing" " the request." msgstr "" -#: glance/api/middleware/context.py:35 +#: glance/api/middleware/context.py:36 msgid "Role used to identify an authenticated user as administrator." msgstr "" -#: glance/api/middleware/context.py:38 +#: glance/api/middleware/context.py:39 msgid "" "Allow unauthenticated users to access the API with read-only privileges. " "This only applies when using ContextMiddleware." msgstr "" -#: glance/api/middleware/context.py:54 +#: glance/api/middleware/context.py:55 msgid "Unable to retrieve request id from context" msgstr "" -#: glance/api/middleware/context.py:106 +#: glance/api/middleware/context.py:112 msgid "Invalid service catalog json." msgstr "" +#: glance/api/middleware/gzip.py:35 +msgid "Initialized gzip middleware" +msgstr "" + #: glance/api/middleware/version_negotiation.py:43 #, python-format msgid "Determining version of request: %(method)s %(path)s Accept: %(accept)s" @@ -208,7 +218,7 @@ msgstr "" msgid "Matched version: v%d" msgstr "" -#: glance/api/v1/controller.py:43 glance/api/v1/members.py:53 +#: glance/api/v1/controller.py:43 glance/api/v1/members.py:74 #, python-format msgid "Image with identifier %s not found" msgstr "" @@ -227,434 +237,686 @@ msgstr "" msgid "Store for image_id not found: %s" msgstr "" -#: glance/api/v1/images.py:80 +#: glance/api/v1/images.py:82 #, python-format msgid "Image name too long: %d" msgstr "" -#: glance/api/v1/images.py:91 +#: glance/api/v1/images.py:93 msgid "" "Invalid mix of disk and container formats. When setting a disk or " "container format to one of 'aki', 'ari', or 'ami', the container and disk" " formats must match." msgstr "" -#: glance/api/v1/images.py:281 +#: glance/api/v1/images.py:165 glance/api/v1/images.py:209 +#: glance/api/v1/images.py:243 +#, python-format +msgid "Property '%s' is protected" +msgstr "" + +#: glance/api/v1/images.py:387 #, python-format msgid "External sourcing not supported for store %s" msgstr "" -#: glance/api/v1/images.py:374 +#: glance/api/v1/images.py:482 #, python-format msgid "An image with identifier %s already exists" msgstr "" -#: glance/api/v1/images.py:381 +#: glance/api/v1/images.py:489 #, python-format msgid "Failed to reserve image. Got error: %(e)s" msgstr "" -#: glance/api/v1/images.py:388 +#: glance/api/v1/images.py:496 msgid "Forbidden to reserve image." msgstr "" -#: glance/api/v1/images.py:415 +#: glance/api/v1/images.py:523 #, python-format msgid "Copy from external source failed: %s" msgstr "" -#: glance/api/v1/images.py:424 +#: glance/api/v1/images.py:532 msgid "Content-Type must be application/octet-stream" msgstr "" -#: glance/api/v1/images.py:435 +#: glance/api/v1/images.py:543 #, python-format msgid "Setting image %s to status 'saving'" msgstr "" -#: glance/api/v1/images.py:439 +#: glance/api/v1/images.py:547 #, python-format msgid "Uploading image data for image %(image_id)s to %(scheme)s store" msgstr "" -#: glance/api/v1/images.py:452 +#: glance/api/v1/images.py:584 +#, python-format +msgid "Failed to activate image. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:623 +msgid "It's invalid to provide multiple image sources." +msgstr "" + +#: glance/api/v1/images.py:634 +msgid "Triggering asynchronous copy from external source" +msgstr "" + +#: glance/api/v1/images.py:649 +#, python-format +msgid "" +"Provided image size must match the stored image size. (provided size: " +"%(ps)d, stored size: %(ss)d)ps" +msgstr "" + +#: glance/api/v1/images.py:763 +msgid "Forbidden to update deleted image." +msgstr "" + +#: glance/api/v1/images.py:774 +#, python-format +msgid "Forbidden to modify '%s' of active image." +msgstr "" + +#: glance/api/v1/images.py:792 +msgid "Cannot upload to an unqueued image" +msgstr "" + +#: glance/api/v1/images.py:809 +msgid "Attempted to update Location field for an image not in queued status." +msgstr "" + +#: glance/api/v1/images.py:844 glance/registry/api/v1/images.py:448 +#, python-format +msgid "Failed to update image metadata. Got error: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:851 +#, python-format +msgid "Failed to find image to update: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:858 +#, python-format +msgid "Forbidden to update image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:892 +msgid "Image is protected" +msgstr "" + +#: glance/api/v1/images.py:899 +#, python-format +msgid "Forbidden to delete a %s image." +msgstr "" + +#: glance/api/v1/images.py:904 +#, python-format +msgid "Image %s not found." +msgstr "" + +#: glance/api/v1/images.py:929 glance/store/scrubber.py:179 +#, python-format +msgid "Failed to find image to delete: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:936 +#, python-format +msgid "Forbidden to delete image: %(e)s" +msgstr "" + +#: glance/api/v1/images.py:959 glance/store/__init__.py:198 +#, python-format +msgid "Store for scheme %s not found" +msgstr "" + +#: glance/api/v1/images.py:975 +#, python-format +msgid "Incoming image size of %s was not convertible to an integer." +msgstr "" + +#: glance/api/v1/images.py:999 glance/api/v1/upload_utils.py:199 +#, python-format +msgid "Denying attempt to upload image larger than %d bytes." +msgstr "" + +#: glance/api/v1/members.py:39 glance/registry/api/v1/members.py:34 +msgid "No authenticated user" +msgstr "" + +#: glance/api/v1/members.py:51 +#, python-format +msgid "Image with identifier %s has been deleted." +msgstr "" + +#: glance/api/v1/members.py:78 +msgid "Unauthorized image access" +msgstr "" + +#: glance/api/v1/upload_utils.py:74 +#, python-format +msgid "Unable to kill image %(id)s: " +msgstr "" + +#: glance/api/v1/upload_utils.py:109 +#, python-format +msgid "Cleaning up %s after exceeding the quota %s" +msgstr "" + +#: glance/api/v1/upload_utils.py:118 #, python-format msgid "" "Supplied %(attr)s (%(supplied)s) and %(attr)s generated from uploaded " "image (%(actual)s) did not match. Setting image status to 'killed'." msgstr "" -#: glance/api/v1/images.py:470 +#: glance/api/v1/upload_utils.py:136 #, python-format msgid "" "Updating image %(image_id)s data. Checksum set to %(checksum)s, size set " "to %(size)d" msgstr "" -#: glance/api/v1/images.py:483 +#: glance/api/v1/upload_utils.py:147 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload." +msgstr "" + +#: glance/api/v1/upload_utils.py:163 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" -#: glance/api/v1/images.py:489 +#: glance/api/v1/upload_utils.py:172 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" -#: glance/api/v1/images.py:497 glance/api/v2/image_data.py:72 -#: glance/notifier/__init__.py:203 +#: glance/api/v1/upload_utils.py:181 glance/api/v2/image_data.py:85 +#: glance/api/v2/image_data.py:91 glance/notifier/__init__.py:204 #, python-format msgid "Image storage media is full: %s" msgstr "" -#: glance/api/v1/images.py:505 glance/api/v2/image_data.py:78 -#: glance/notifier/__init__.py:206 +#: glance/api/v1/upload_utils.py:190 glance/api/v2/image_data.py:109 +#: glance/notifier/__init__.py:208 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" -#: glance/api/v1/images.py:513 glance/api/v1/images.py:936 +#: glance/api/v1/upload_utils.py:209 glance/api/v2/images.py:126 #, python-format -msgid "Denying attempt to upload image larger than %d bytes." +msgid "Denying attempt to upload image because it exceeds the .quota: %s" msgstr "" -#: glance/api/v1/images.py:529 -msgid "Failed to upload image" -msgstr "" - -#: glance/api/v1/images.py:554 +#: glance/api/v1/upload_utils.py:223 #, python-format -msgid "Failed to activate image. Got error: %(e)s" +msgid "Received HTTP error while uploading image %s" msgstr "" -#: glance/api/v1/images.py:584 +#: glance/api/v1/upload_utils.py:230 +msgid "Client disconnected before sending all data to backend" +msgstr "" + +#: glance/api/v1/upload_utils.py:238 #, python-format -msgid "Unable to kill image %(id)s: %(exc)s" +msgid "Failed to upload image %s" msgstr "" -#: glance/api/v1/images.py:619 -msgid "Triggering asynchronous copy from external source" -msgstr "" - -#: glance/api/v1/images.py:726 -msgid "Forbidden to update deleted image." -msgstr "" - -#: glance/api/v1/images.py:744 -msgid "Cannot upload to an unqueued image" -msgstr "" - -#: glance/api/v1/images.py:761 -msgid "Attempted to update Location field for an image not in queued status." -msgstr "" - -#: glance/api/v1/images.py:782 glance/registry/api/v1/images.py:409 +#: glance/api/v2/image_data.py:58 #, python-format -msgid "Failed to update image metadata. Got error: %(e)s" +msgid "" +"Image %s could not be found after upload.The image may have been deleted " +"during the upload: %s" msgstr "" -#: glance/api/v1/images.py:789 -#, python-format -msgid "Failed to find image to update: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:796 -#, python-format -msgid "Forbidden to update image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:835 -msgid "Image is protected" -msgstr "" - -#: glance/api/v1/images.py:842 -msgid "Forbidden to delete a deleted image." -msgstr "" - -#: glance/api/v1/images.py:866 -#, python-format -msgid "Failed to find image to delete: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:873 -#, python-format -msgid "Forbidden to delete image: %(e)s" -msgstr "" - -#: glance/api/v1/images.py:896 glance/store/__init__.py:193 -#, python-format -msgid "Store for scheme %s not found" -msgstr "" - -#: glance/api/v1/images.py:912 -#, python-format -msgid "Incoming image size of %s was not convertible to an integer." -msgstr "" - -#: glance/api/v1/members.py:34 glance/registry/api/v1/members.py:34 -msgid "No authenticated user" -msgstr "" - -#: glance/api/v1/members.py:57 -msgid "Unauthorized image access" -msgstr "" - -#: glance/api/v2/image_data.py:59 +#: glance/api/v2/image_data.py:70 #, python-format msgid "Unable to upload duplicate image data for image: %s" msgstr "" -#: glance/api/v2/image_data.py:64 +#: glance/api/v2/image_data.py:76 #, python-format msgid "Not allowed to upload image data for image %s" msgstr "" -#: glance/api/v2/image_data.py:84 +#: glance/api/v2/image_data.py:97 +#, python-format +msgid "Image exceeds the storage quota: %s" +msgstr "" + +#: glance/api/v2/image_data.py:103 +msgid "The incoming image is too large: %" +msgstr "" + +#: glance/api/v2/image_data.py:115 msgid "Failed to upload image data due to HTTP error" msgstr "" -#: glance/api/v2/image_data.py:88 +#: glance/api/v2/image_data.py:119 msgid "Failed to upload image data due to internal error" msgstr "" -#: glance/api/v2/image_data.py:102 glance/store/__init__.py:395 +#: glance/api/v2/image_data.py:133 glance/store/__init__.py:652 msgid "No image data could be found" msgstr "" -#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:190 +#: glance/api/v2/image_members.py:164 glance/api/v2/images.py:276 msgid "Body expected in request." msgstr "" -#: glance/api/v2/image_members.py:173 +#: glance/api/v2/image_members.py:175 msgid "Member to be added not specified" msgstr "" -#: glance/api/v2/image_members.py:182 +#: glance/api/v2/image_members.py:178 +msgid "Member can't be empty" +msgstr "" + +#: glance/api/v2/image_members.py:187 msgid "Status not specified" msgstr "" -#: glance/api/v2/image_members.py:231 +#: glance/api/v2/image_members.py:236 msgid "An identifier for the image member (tenantId)" msgstr "" -#: glance/api/v2/image_members.py:235 glance/api/v2/images.py:485 +#: glance/api/v2/image_members.py:240 glance/api/v2/images.py:617 msgid "An identifier for the image" msgstr "" -#: glance/api/v2/image_members.py:241 +#: glance/api/v2/image_members.py:246 msgid "Date and time of image member creation" msgstr "" -#: glance/api/v2/image_members.py:248 +#: glance/api/v2/image_members.py:253 msgid "Date and time of last modification of image member" msgstr "" -#: glance/api/v2/image_members.py:253 +#: glance/api/v2/image_members.py:258 msgid "The status of this image member" msgstr "" -#: glance/api/v2/images.py:118 +#: glance/api/v2/images.py:120 #, python-format msgid "Failed to find image %(image_id)s to update" msgstr "" -#: glance/api/v2/images.py:134 glance/api/v2/images.py:153 +#: glance/api/v2/images.py:146 glance/api/v2/images.py:174 #, python-format msgid "Property %s does not exist." msgstr "" -#: glance/api/v2/images.py:141 +#: glance/api/v2/images.py:158 #, python-format msgid "Property %s already present." msgstr "" -#: glance/api/v2/images.py:148 +#: glance/api/v2/images.py:169 #, python-format msgid "Property %s may not be removed." msgstr "" -#: glance/api/v2/images.py:222 glance/api/v2/images.py:244 +#: glance/api/v2/images.py:206 +msgid "Cannot replace locations from a non-empty list to a non-empty list." +msgstr "" + +#: glance/api/v2/images.py:229 +msgid "Invalid position for adding a location." +msgstr "" + +#: glance/api/v2/images.py:244 +msgid "Invalid position for removing a location." +msgstr "" + +#: glance/api/v2/images.py:308 glance/api/v2/images.py:330 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" -#: glance/api/v2/images.py:230 +#: glance/api/v2/images.py:316 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" -#: glance/api/v2/images.py:235 +#: glance/api/v2/images.py:321 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" -#: glance/api/v2/images.py:271 +#: glance/api/v2/images.py:358 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" -#: glance/api/v2/images.py:274 +#: glance/api/v2/images.py:361 #, python-format -msgid "Pointer `%s` contains more than one \"/\"." +msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" -#: glance/api/v2/images.py:277 +#: glance/api/v2/images.py:364 #, python-format -msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgid "Pointer `%s` end with \"/\"." msgstr "" -#: glance/api/v2/images.py:283 +#: glance/api/v2/images.py:367 #, python-format -msgid "Operation \"%s\" requires a member named \"value\"." -msgstr "" - -#: glance/api/v2/images.py:313 -msgid "Unrecognized JSON Schema draft version" -msgstr "" - -#: glance/api/v2/images.py:334 -msgid "Request body must be a JSON array of operation objects." -msgstr "" - -#: glance/api/v2/images.py:339 -msgid "Operations must be JSON objects." -msgstr "" - -#: glance/api/v2/images.py:359 glance/registry/api/v1/images.py:209 -msgid "limit param must be an integer" -msgstr "" - -#: glance/api/v2/images.py:363 glance/registry/api/v1/images.py:212 -msgid "limit param must be positive" +msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:370 #, python-format +msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." +msgstr "" + +#: glance/api/v2/images.py:376 +#, python-format +msgid "Operation \"%s\" requires a member named \"value\"." +msgstr "" + +#: glance/api/v2/images.py:416 +#, python-format +msgid "Invalid JSON pointer for this resource: '/%s'" +msgstr "" + +#: glance/api/v2/images.py:428 +msgid "Unrecognized JSON Schema draft version" +msgstr "" + +#: glance/api/v2/images.py:449 +msgid "Request body must be a JSON array of operation objects." +msgstr "" + +#: glance/api/v2/images.py:454 +msgid "Operations must be JSON objects." +msgstr "" + +#: glance/api/v2/images.py:476 glance/registry/api/v1/images.py:246 +msgid "limit param must be an integer" +msgstr "" + +#: glance/api/v2/images.py:480 glance/registry/api/v1/images.py:249 +msgid "limit param must be positive" +msgstr "" + +#: glance/api/v2/images.py:487 +#, python-format msgid "Invalid sort direction: %s" msgstr "" -#: glance/api/v2/images.py:377 +#: glance/api/v2/images.py:494 #, python-format msgid "Invalid status: %s" msgstr "" -#: glance/api/v2/images.py:386 +#: glance/api/v2/images.py:503 #, python-format msgid "Invalid visibility value: %s" msgstr "" -#: glance/api/v2/images.py:491 +#: glance/api/v2/images.py:623 msgid "Descriptive name for the image" msgstr "" -#: glance/api/v2/images.py:496 -msgid "Status of the image" +#: glance/api/v2/images.py:628 +msgid "Status of the image (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:502 +#: glance/api/v2/images.py:634 msgid "Scope of image accessibility" msgstr "" -#: glance/api/v2/images.py:507 +#: glance/api/v2/images.py:639 msgid "If true, image will not be deletable." msgstr "" -#: glance/api/v2/images.py:511 -msgid "md5 hash of image contents." +#: glance/api/v2/images.py:643 +msgid "md5 hash of image contents. (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:517 -msgid "Size of image file in bytes" +#: glance/api/v2/images.py:649 +msgid "Size of image file in bytes (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:534 -msgid "Date and time of image registration" +#: glance/api/v2/images.py:653 +msgid "Format of the container" msgstr "" -#: glance/api/v2/images.py:541 -msgid "Date and time of the last image modification" +#: glance/api/v2/images.py:659 +msgid "Format of the disk" msgstr "" -#: glance/api/v2/images.py:546 +#: glance/api/v2/images.py:665 +msgid "Date and time of image registration (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:673 +msgid "Date and time of the last image modification (READ-ONLY)" +msgstr "" + +#: glance/api/v2/images.py:679 msgid "List of strings related to the image" msgstr "" -#: glance/api/v2/images.py:554 -msgid "URL to access the image file kept in external store" +#: glance/api/v2/images.py:687 +msgid "URL to access the image file kept in external store (READ-ONLY)" msgstr "" -#: glance/api/v2/images.py:559 +#: glance/api/v2/images.py:692 msgid "Amount of ram (in MB) required to boot image." msgstr "" -#: glance/api/v2/images.py:563 +#: glance/api/v2/images.py:696 msgid "Amount of disk space (in GB) required to boot image." msgstr "" -#: glance/api/v2/images.py:603 +#: glance/api/v2/images.py:726 +msgid "A set of URLs to access the image file kept in external store" +msgstr "" + +#: glance/api/v2/images.py:765 #, python-format msgid "" "Could not find schema properties file %s. Continuing without custom " "properties" msgstr "" -#: glance/common/auth.py:186 glance/common/auth.py:224 +#: glance/cmd/replicator.py:52 +#, python-format +msgid "" +"The image %s is already present on the slave, but our check for it did " +"not find it. This indicates that we do not have permissions to see all " +"the images on the slave server." +msgstr "" + +#: glance/cmd/replicator.py:102 +#, python-format +msgid "" +"Request: %(method)s http://%(server)s:%(port)s%(url)s with headers " +"%(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:115 +#, python-format +msgid "Response: %(code)s %(status)s %(headers)s" +msgstr "" + +#: glance/cmd/replicator.py:237 glance/cmd/replicator.py:256 +msgid "Image post done" +msgstr "" + +#: glance/cmd/replicator.py:279 glance/cmd/replicator.py:314 +#: glance/cmd/replicator.py:399 glance/cmd/replicator.py:478 +#: glance/cmd/replicator.py:555 +msgid "Too few arguments." +msgstr "" + +#: glance/cmd/replicator.py:284 glance/cmd/replicator.py:320 +#: glance/cmd/replicator.py:405 glance/cmd/replicator.py:485 +#: glance/cmd/replicator.py:562 +msgid "Bad format of the given arguments." +msgstr "" + +#: glance/cmd/replicator.py:295 +#, python-format +msgid "Considering image: %(image)s" +msgstr "" + +#: glance/cmd/replicator.py:300 +#, python-format +msgid "Total size is %d bytes across %d images" +msgstr "" + +#: glance/cmd/replicator.py:328 glance/cmd/replicator.py:418 +#, python-format +msgid "Considering: %s" +msgstr "" + +#: glance/cmd/replicator.py:332 +msgid "... storing" +msgstr "" + +#: glance/cmd/replicator.py:343 +msgid "... image is active" +msgstr "" + +#: glance/cmd/replicator.py:363 +#, python-format +msgid "metadata diff -- master has extra keys: %(keys)s" +msgstr "" + +#: glance/cmd/replicator.py:369 +#, python-format +msgid "" +"metadata diff -- value differs for key %(key)s: master " +"\"%(master_value)s\" vs slave \"%(slave_value)s\"" +msgstr "" + +#: glance/cmd/replicator.py:427 +#, python-format +msgid "Stripping %(header)s from saved metadata" +msgstr "" + +#: glance/cmd/replicator.py:435 +#, python-format +msgid "Image %s already present" +msgstr "" + +#: glance/cmd/replicator.py:439 glance/cmd/replicator.py:519 +#: glance/cmd/replicator.py:585 +#, python-format +msgid "Stripping %(header)s from slave metadata" +msgstr "" + +#: glance/cmd/replicator.py:444 glance/cmd/replicator.py:524 +msgid "... metadata has changed" +msgstr "" + +#: glance/cmd/replicator.py:451 +msgid "... dump is missing image data, skipping" +msgstr "" + +#: glance/cmd/replicator.py:500 +#, python-format +msgid "Considering %(id)s" +msgstr "" + +#: glance/cmd/replicator.py:503 glance/cmd/replicator.py:515 +#: glance/cmd/replicator.py:581 +#, python-format +msgid "Stripping %(header)s from master metadata" +msgstr "" + +#: glance/cmd/replicator.py:530 +#, python-format +msgid "%s is being synced" +msgstr "" + +#: glance/cmd/replicator.py:591 +#, python-format +msgid "" +"%(image_id)s: field %(key)s differs (source is %(master_value)s, " +"destination is %(slave_value)s)" +msgstr "" + +#: glance/cmd/replicator.py:601 +#, python-format +msgid "%(image_id)s is identical" +msgstr "" + +#: glance/cmd/replicator.py:605 +#, python-format +msgid "%s: entirely missing from the destination" +msgstr "" + +#: glance/cmd/replicator.py:712 +#, python-format +msgid "Unknown command: %s" +msgstr "" + +#: glance/common/auth.py:188 glance/common/auth.py:228 #, python-format msgid "Unexpected response: %s" msgstr "" -#: glance/common/auth.py:250 +#: glance/common/auth.py:256 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" -#: glance/common/auth.py:271 +#: glance/common/auth.py:277 #, python-format msgid "Encountered service with no \"type\": %s" msgstr "" -#: glance/common/client.py:236 +#: glance/common/client.py:238 msgid "" "You have selected to use SSL in connecting, and you have supplied a cert," " however you have failed to supply either a key_file parameter or set the" " GLANCE_CLIENT_KEY_FILE environ variable" msgstr "" -#: glance/common/client.py:244 +#: glance/common/client.py:246 msgid "" "You have selected to use SSL in connecting, and you have supplied a key, " "however you have failed to supply either a cert_file parameter or set the" " GLANCE_CLIENT_CERT_FILE environ variable" msgstr "" -#: glance/common/client.py:253 +#: glance/common/client.py:255 #, python-format msgid "The key file you specified %s does not exist" msgstr "" -#: glance/common/client.py:260 +#: glance/common/client.py:262 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" -#: glance/common/client.py:267 +#: glance/common/client.py:269 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" -#: glance/common/client.py:305 +#: glance/common/client.py:307 #, python-format msgid "Configuring from URL: %s" msgstr "" -#: glance/common/client.py:317 +#: glance/common/client.py:319 #, python-format msgid "Appending doc_root %(doc_root)s to URL %(url)s" msgstr "" -#: glance/common/client.py:396 +#: glance/common/client.py:407 #, python-format msgid "Constructed URL: %s" msgstr "" @@ -699,42 +961,56 @@ msgstr "" #: glance/common/config.py:61 msgid "" +"Whether to include the backend image locations in image properties. " +"Revealing storage location can be a security risk, so use this setting " +"with caution! The overrides show_image_direct_url." +msgstr "" + +#: glance/common/config.py:66 +msgid "" "Maximum size of image a user can upload in bytes. Defaults to " "1099511627776 bytes (1 TB)." msgstr "" -#: glance/common/config.py:64 +#: glance/common/config.py:69 +msgid "" +"Set a system wide quota for every user. This value is the total number " +"of bytes that a user can use across all storage systems. A value of 0 " +"means unlimited." +msgstr "" + +#: glance/common/config.py:73 msgid "Deploy the v1 OpenStack Images API. " msgstr "" -#: glance/common/config.py:66 +#: glance/common/config.py:75 msgid "Deploy the v2 OpenStack Images API. " msgstr "" -#: glance/common/config.py:68 +#: glance/common/config.py:77 msgid "The hostname/IP of the pydev process listening for debug connections" msgstr "" -#: glance/common/config.py:71 +#: glance/common/config.py:80 msgid "The port on which a pydev process is listening for connections." msgstr "" -#: glance/common/config.py:74 +#: glance/common/config.py:83 msgid "" "Key used for encrypting sensitive metadata while talking to the registry " "or database." msgstr "" -#: glance/common/config.py:135 +#: glance/common/config.py:144 msgid "Invalid syslog facility" msgstr "" -#: glance/common/config.py:209 +#: glance/common/config.py:222 #, python-format msgid "Loading %(app_name)s from %(conf_file)s" msgstr "" -#: glance/common/config.py:220 +#: glance/common/config.py:233 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -783,77 +1059,84 @@ msgid "There is not enough disk space on the image storage media." msgstr "" #: glance/common/exception.py:90 +#, python-format +msgid "" +"The size of the data %(image_size)s will exceed the limit. %(remaining)s " +"bytes remaining." +msgstr "" + +#: glance/common/exception.py:95 msgid "Permission to write image storage media denied." msgstr "" -#: glance/common/exception.py:94 +#: glance/common/exception.py:99 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: glance/common/exception.py:98 +#: glance/common/exception.py:103 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: glance/common/exception.py:102 +#: glance/common/exception.py:107 msgid "Authorization failed." msgstr "" -#: glance/common/exception.py:106 +#: glance/common/exception.py:111 msgid "You are not authenticated." msgstr "" -#: glance/common/exception.py:110 glance/common/exception.py:114 -#: glance/common/exception.py:123 +#: glance/common/exception.py:115 glance/common/exception.py:119 +#: glance/common/exception.py:128 msgid "You are not authorized to complete this action." msgstr "" -#: glance/common/exception.py:118 +#: glance/common/exception.py:123 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" -#: glance/common/exception.py:127 +#: glance/common/exception.py:132 msgid "Data supplied was not valid." msgstr "" -#: glance/common/exception.py:131 +#: glance/common/exception.py:136 msgid "Sort key supplied was not valid." msgstr "" -#: glance/common/exception.py:135 +#: glance/common/exception.py:140 msgid "Unable to filter using the specified range." msgstr "" -#: glance/common/exception.py:139 +#: glance/common/exception.py:144 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" -#: glance/common/exception.py:143 +#: glance/common/exception.py:148 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" -#: glance/common/exception.py:147 +#: glance/common/exception.py:152 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: glance/common/exception.py:151 +#: glance/common/exception.py:156 msgid "There was an error migrating the database." msgstr "" -#: glance/common/exception.py:155 +#: glance/common/exception.py:160 msgid "There was an error connecting to a server" msgstr "" -#: glance/common/exception.py:159 +#: glance/common/exception.py:164 msgid "There was an error configuring the client." msgstr "" -#: glance/common/exception.py:163 +#: glance/common/exception.py:168 #, python-format msgid "" "The request returned a 302 Multiple Choices. This generally means that " @@ -863,7 +1146,7 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:169 +#: glance/common/exception.py:174 #, python-format msgid "" "The request returned a 413 Request Entity Too Large. This generally means" @@ -873,17 +1156,17 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:180 +#: glance/common/exception.py:185 msgid "" "The request returned 503 Service Unavilable. This generally occurs on " "service overload or other transient outage." msgstr "" -#: glance/common/exception.py:191 +#: glance/common/exception.py:196 msgid "The request returned 500 Internal Server Error." msgstr "" -#: glance/common/exception.py:195 +#: glance/common/exception.py:200 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" @@ -892,105 +1175,179 @@ msgid "" "%(body)s" msgstr "" -#: glance/common/exception.py:200 +#: glance/common/exception.py:205 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" -#: glance/common/exception.py:204 +#: glance/common/exception.py:209 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:209 +#: glance/common/exception.py:214 #, python-format msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s" msgstr "" -#: glance/common/exception.py:214 +#: glance/common/exception.py:219 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" -#: glance/common/exception.py:219 +#: glance/common/exception.py:224 msgid "Deleting images from this store is not supported." msgstr "" -#: glance/common/exception.py:223 +#: glance/common/exception.py:228 +msgid "Getting images from this store is not supported." +msgstr "" + +#: glance/common/exception.py:232 +msgid "Adding images to this store is not supported." +msgstr "" + +#: glance/common/exception.py:236 msgid "Configuration for store failed. Adding images to this store is disabled." msgstr "" -#: glance/common/exception.py:228 +#: glance/common/exception.py:241 #, python-format msgid "'%(strategy)s' is not an available notifier strategy." msgstr "" -#: glance/common/exception.py:232 +#: glance/common/exception.py:245 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: glance/common/exception.py:236 +#: glance/common/exception.py:249 msgid "Received invalid HTTP redirect." msgstr "" -#: glance/common/exception.py:240 +#: glance/common/exception.py:253 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" -#: glance/common/exception.py:244 +#: glance/common/exception.py:257 #, python-format msgid "" "Multiple 'image' service matches for region %(region)s. This generally " "means that a region is required and you have not supplied one." msgstr "" -#: glance/common/exception.py:250 +#: glance/common/exception.py:263 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" -#: glance/common/exception.py:254 +#: glance/common/exception.py:267 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" -#: glance/common/exception.py:258 +#: glance/common/exception.py:271 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" -#: glance/common/exception.py:263 +#: glance/common/exception.py:276 #, python-format msgid "Provided header feature is unsupported: %(feature)s" msgstr "" -#: glance/common/exception.py:267 +#: glance/common/exception.py:280 msgid "" "The image cannot be deleted because it is in use through the backend " "store outside of Glance." msgstr "" -#: glance/common/exception.py:272 +#: glance/common/exception.py:285 msgid "The provided image is too large." msgstr "" -#: glance/common/utils.py:87 +#: glance/common/exception.py:289 +#, python-format +msgid "%(cls)s exception was raised in the last rpc call: %(val)s" +msgstr "" + +#: glance/common/property_utils.py:34 +msgid "The location of the property protection file." +msgstr "" + +#: glance/common/property_utils.py:59 +#, python-format +msgid "Couldn't find property protection file %s:%s." +msgstr "" + +#: glance/common/property_utils.py:89 +#, python-format +msgid "Encountered a malformed property protection rule %s:%s." +msgstr "" + +#: glance/common/rpc.py:140 +msgid "Request must be a list of commands" +msgstr "" + +#: glance/common/rpc.py:145 +#, python-format +msgid "Bad Command: %s" +msgstr "" + +#: glance/common/rpc.py:152 +#, python-format +msgid "Wrong command structure: %s" +msgstr "" + +#: glance/common/rpc.py:161 +msgid "Command not found" +msgstr "" + +#: glance/common/rpc.py:183 +#, python-format +msgid "" +"RPC Call Error: %(val)s\n" +"%(tb)s" +msgstr "" + +#: glance/common/utils.py:105 #, python-format msgid "Error: cooperative_iter exception %s" msgstr "" -#: glance/common/utils.py:409 +#: glance/common/utils.py:253 +#, python-format +msgid "Bad header: %(header_name)s" +msgstr "" + +#: glance/common/utils.py:418 msgid "Read-only access" msgstr "" -#: glance/common/utils.py:453 +#: glance/common/utils.py:464 #, python-format msgid "Invalid backend: %s" msgstr "" +#: glance/common/utils.py:495 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. Error: %s" +msgstr "" + +#: glance/common/utils.py:499 +#, python-format +msgid "There is a problem with your %s %s. Please verify it. OpenSSL error: %s" +msgstr "" + +#: glance/common/utils.py:510 +#, python-format +msgid "" +"There is a problem with your key pair. Please verify that cert %s and " +"key %s belong together. OpenSSL error %s" +msgstr "" + #: glance/common/wsgi.py:50 msgid "" "Address to bind the server. Useful when selecting a particular network " @@ -1024,184 +1381,213 @@ msgstr "" msgid "Private key file to use when starting API server securely." msgstr "" -#: glance/common/wsgi.py:73 +#: glance/common/wsgi.py:74 msgid "" "The number of child process workers that will be created to service API " "requests." msgstr "" -#: glance/common/wsgi.py:126 +#: glance/common/wsgi.py:77 +msgid "" +"Name of eventlet hub to use. Traditionally, we have only supported " +"'poll', however 'selects' may be appropriate for some platforms. See " +"http://eventlet.net/doc/hubs.html for more details." +msgstr "" + +#: glance/common/wsgi.py:134 msgid "" "When running server in SSL mode, you must specify both a cert_file and " "key_file option value in your configuration file" msgstr "" -#: glance/common/wsgi.py:159 +#: glance/common/wsgi.py:172 #, python-format msgid "Could not bind to %s:%s after trying for 30 seconds" msgstr "" -#: glance/common/wsgi.py:214 +#: glance/common/wsgi.py:244 glance/openstack/common/service.py:240 #, python-format msgid "Starting %d workers" msgstr "" -#: glance/common/wsgi.py:230 +#: glance/common/wsgi.py:259 #, python-format msgid "Removing dead child %s" msgstr "" -#: glance/common/wsgi.py:233 +#: glance/common/wsgi.py:262 #, python-format msgid "Not respawning child %d, cannot recover from termination" msgstr "" -#: glance/common/wsgi.py:237 +#: glance/common/wsgi.py:266 msgid "All workers have terminated. Exiting" msgstr "" -#: glance/common/wsgi.py:245 +#: glance/common/wsgi.py:274 msgid "Caught keyboard interrupt. Exiting." msgstr "" -#: glance/common/wsgi.py:249 +#: glance/common/wsgi.py:278 msgid "Exited" msgstr "" -#: glance/common/wsgi.py:271 +#: glance/common/wsgi.py:300 #, python-format msgid "Child %d exiting normally" msgstr "" -#: glance/common/wsgi.py:276 +#: glance/common/wsgi.py:305 #, python-format msgid "Started child %s" msgstr "" -#: glance/common/wsgi.py:289 -msgid "eventlet 'poll' hub is not available on this platform" +#: glance/common/wsgi.py:318 +#, python-format +msgid "eventlet '%s' hub is not available on this platform" msgstr "" -#: glance/common/wsgi.py:304 +#: glance/common/wsgi.py:335 msgid "Starting single process server" msgstr "" -#: glance/common/wsgi.py:488 +#: glance/common/wsgi.py:537 msgid "Malformed JSON in request body." msgstr "" -#: glance/db/simple/api.py:37 +#: glance/db/simple/api.py:38 #, python-format msgid "Calling %(funcname)s: args=%(args)s, kwargs=%(kwargs)s" msgstr "" -#: glance/db/simple/api.py:42 +#: glance/db/simple/api.py:43 #, python-format msgid "Returning %(funcname)s: %(output)s" msgstr "" -#: glance/db/simple/api.py:174 glance/db/sqlalchemy/api.py:591 +#: glance/db/simple/api.py:212 glance/db/sqlalchemy/api.py:648 msgid "Unable to filter on a range with a non-numeric value." msgstr "" -#: glance/db/simple/api.py:236 +#: glance/db/simple/api.py:284 #, python-format msgid "Could not find image %s" msgstr "" -#: glance/db/simple/api.py:240 +#: glance/db/simple/api.py:288 msgid "Unable to get deleted image" msgstr "" -#: glance/db/simple/api.py:244 +#: glance/db/simple/api.py:292 msgid "Unable to get unowned image" msgstr "" -#: glance/db/sqlalchemy/api.py:54 +#: glance/db/sqlalchemy/api.py:56 +#, python-format +msgid "" +"A valid SQLAlchemy connection string for the registry database. Default: " +"%(default)s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:62 msgid "" "Period in seconds after which SQLAlchemy should reestablish its " "connection to the database." msgstr "" -#: glance/db/sqlalchemy/api.py:57 +#: glance/db/sqlalchemy/api.py:65 msgid "The number of times to retry a connection to the SQLserver." msgstr "" -#: glance/db/sqlalchemy/api.py:60 +#: glance/db/sqlalchemy/api.py:68 msgid "" "The amount of time to wait (in seconds) before attempting to retry the " "SQL connection." msgstr "" -#: glance/db/sqlalchemy/api.py:63 +#: glance/db/sqlalchemy/api.py:71 msgid "A boolean that determines if the database will be automatically created." msgstr "" -#: glance/db/sqlalchemy/api.py:119 +#: glance/db/sqlalchemy/api.py:74 +msgid "Enable debug logging in sqlalchemy which prints every query and result" +msgstr "" + +#: glance/db/sqlalchemy/api.py:141 msgid "Attempted to modify image user did not own." msgstr "" -#: glance/db/sqlalchemy/api.py:120 +#: glance/db/sqlalchemy/api.py:142 msgid "You do not own this image" msgstr "" -#: glance/db/sqlalchemy/api.py:166 +#: glance/db/sqlalchemy/api.py:188 #, python-format msgid "" "Error configuring registry database with supplied sql_connection. Got " "error: %s" msgstr "" -#: glance/db/sqlalchemy/api.py:176 +#: glance/db/sqlalchemy/api.py:198 msgid "auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:184 +#: glance/db/sqlalchemy/api.py:206 msgid "not auto-creating glance registry DB" msgstr "" -#: glance/db/sqlalchemy/api.py:223 +#: glance/db/sqlalchemy/api.py:245 #, python-format msgid "SQL connection failed. %d attempts left." msgstr "" -#: glance/db/sqlalchemy/api.py:431 +#: glance/db/sqlalchemy/api.py:333 +#, python-format +msgid "No image found with ID %s" +msgstr "" + +#: glance/db/sqlalchemy/api.py:339 +#, python-format +msgid "Forbidding request, image %s not visible" +msgstr "" + +#: glance/db/sqlalchemy/api.py:460 msgid "Id not in sort_keys; is sort_keys unique?" msgstr "" -#: glance/db/sqlalchemy/api.py:479 +#: glance/db/sqlalchemy/api.py:518 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" -#: glance/db/sqlalchemy/migration.py:49 +#: glance/db/sqlalchemy/migration.py:44 msgid "database is not under migration control" msgstr "" -#: glance/db/sqlalchemy/migration.py:64 +#: glance/db/sqlalchemy/migration.py:59 #, python-format msgid "Upgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:79 +#: glance/db/sqlalchemy/migration.py:74 #, python-format msgid "Downgrading database to version %s" msgstr "" -#: glance/db/sqlalchemy/migration.py:92 +#: glance/db/sqlalchemy/migration.py:87 msgid "database is already under migration control" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:95 +#: glance/db/sqlalchemy/migrate_repo/schema.py:98 #, python-format msgid "creating table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/schema.py:101 +#: glance/db/sqlalchemy/migrate_repo/schema.py:104 #, python-format msgid "dropping table %(table)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:107 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:83 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:146 msgid "" "URI cannot contain more than one occurrence of a scheme.If you have " @@ -1211,20 +1597,26 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:114 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:90 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:153 #: glance/store/s3.py:125 #, python-format msgid "Invalid store uri %(uri)s: %(reason)s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:144 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:121 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:184 #, python-format msgid "Badly formed credentials '%(creds)s' in Swift URI" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:166 +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:134 +#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 +#: glance/store/swift.py:209 +msgid "Badly formed credentials in Swift URI." +msgstr "" + +#: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:152 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:215 #: glance/store/s3.py:167 #, python-format @@ -1242,22 +1634,25 @@ msgstr "" msgid "Failed to decrypt location value for image %s" msgstr "" -#: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:197 -#: glance/store/swift.py:201 -msgid "Badly formed credentials in Swift URI." +#: glance/domain/__init__.py:27 +msgid "Supported values for the 'container_format' image attribute" msgstr "" -#: glance/domain/__init__.py:103 +#: glance/domain/__init__.py:32 +msgid "Supported values for the 'disk_format' image attribute" +msgstr "" + +#: glance/domain/__init__.py:124 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:105 +#: glance/domain/__init__.py:126 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" -#: glance/domain/__init__.py:158 +#: glance/domain/__init__.py:205 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" @@ -1279,53 +1674,53 @@ msgstr "" msgid "Base directory that the Image Cache uses." msgstr "" -#: glance/image_cache/__init__.py:66 +#: glance/image_cache/__init__.py:64 #, python-format msgid "Image cache loaded driver '%s'." msgstr "" -#: glance/image_cache/__init__.py:69 +#: glance/image_cache/__init__.py:67 #, python-format msgid "" "Image cache driver '%(driver_name)s' failed to load. Got error: " "'%(import_err)s." msgstr "" -#: glance/image_cache/__init__.py:74 glance/image_cache/__init__.py:91 +#: glance/image_cache/__init__.py:72 glance/image_cache/__init__.py:89 msgid "Defaulting to SQLite driver." msgstr "" -#: glance/image_cache/__init__.py:88 +#: glance/image_cache/__init__.py:86 #, python-format msgid "" "Image cache driver '%(driver_module)s' failed to configure. Got error: " "'%(config_err)s" msgstr "" -#: glance/image_cache/__init__.py:173 +#: glance/image_cache/__init__.py:171 msgid "Image cache has free space, skipping prune..." msgstr "" -#: glance/image_cache/__init__.py:177 +#: glance/image_cache/__init__.py:175 #, python-format msgid "" "Image cache currently %(overage)d bytes over max size. Starting prune to " "max size of %(max_size)d " msgstr "" -#: glance/image_cache/__init__.py:186 +#: glance/image_cache/__init__.py:184 #, python-format msgid "Pruning '%(image_id)s' to free %(size)d bytes" msgstr "" -#: glance/image_cache/__init__.py:194 +#: glance/image_cache/__init__.py:192 #, python-format msgid "" "Pruning finished pruning. Pruned %(total_files_pruned)d and " "%(total_bytes_pruned)d." msgstr "" -#: glance/image_cache/__init__.py:231 +#: glance/image_cache/__init__.py:229 #, python-format msgid "Tee'ing image '%s' into cache" msgstr "" @@ -1357,20 +1752,20 @@ msgstr "" msgid "Caching image '%s'" msgstr "" -#: glance/image_cache/prefetcher.py:66 +#: glance/image_cache/prefetcher.py:70 msgid "Nothing to prefetch." msgstr "" -#: glance/image_cache/prefetcher.py:70 +#: glance/image_cache/prefetcher.py:74 #, python-format msgid "Found %d images to prefetch" msgstr "" -#: glance/image_cache/prefetcher.py:76 +#: glance/image_cache/prefetcher.py:80 msgid "Failed to successfully cache all images in queue." msgstr "" -#: glance/image_cache/prefetcher.py:80 +#: glance/image_cache/prefetcher.py:84 #, python-format msgid "Successfully cached all %d images" msgstr "" @@ -1397,13 +1792,13 @@ msgid "Gathering cached image entries." msgstr "" #: glance/image_cache/drivers/sqlite.py:300 -#: glance/image_cache/drivers/xattr.py:275 +#: glance/image_cache/drivers/xattr.py:273 #, python-format msgid "Fetch finished, moving '%(incomplete_path)s' to '%(final_path)s'" msgstr "" #: glance/image_cache/drivers/sqlite.py:324 -#: glance/image_cache/drivers/xattr.py:291 +#: glance/image_cache/drivers/xattr.py:289 #, python-format msgid "" "Fetch of cache file failed (%(e)s), rolling back by moving " @@ -1416,19 +1811,19 @@ msgid "Error executing SQLite call. Got error: %s" msgstr "" #: glance/image_cache/drivers/sqlite.py:402 -#: glance/image_cache/drivers/xattr.py:337 +#: glance/image_cache/drivers/xattr.py:335 #, python-format msgid "Not queueing image '%s'. Already cached." msgstr "" #: glance/image_cache/drivers/sqlite.py:407 -#: glance/image_cache/drivers/xattr.py:342 +#: glance/image_cache/drivers/xattr.py:340 #, python-format msgid "Not queueing image '%s'. Already being written to cache" msgstr "" #: glance/image_cache/drivers/sqlite.py:413 -#: glance/image_cache/drivers/xattr.py:348 +#: glance/image_cache/drivers/xattr.py:346 #, python-format msgid "Not queueing image '%s'. Already queued." msgstr "" @@ -1438,19 +1833,24 @@ msgstr "" msgid "Removed invalid cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:443 +#: glance/image_cache/drivers/sqlite.py:445 #, python-format msgid "Removed stalled cache file %s" msgstr "" -#: glance/image_cache/drivers/sqlite.py:474 -#: glance/image_cache/drivers/xattr.py:437 +#: glance/image_cache/drivers/sqlite.py:447 +#, python-format +msgid "Failed to delete file %(path)s. Got error: %(e)s" +msgstr "" + +#: glance/image_cache/drivers/sqlite.py:481 +#: glance/image_cache/drivers/xattr.py:435 #, python-format msgid "Deleting image cache file '%s'" msgstr "" -#: glance/image_cache/drivers/sqlite.py:477 -#: glance/image_cache/drivers/xattr.py:440 +#: glance/image_cache/drivers/sqlite.py:484 +#: glance/image_cache/drivers/xattr.py:438 #, python-format msgid "Cached image file '%s' doesn't exist, unable to delete" msgstr "" @@ -1464,32 +1864,32 @@ msgid "" "cache directory." msgstr "" -#: glance/image_cache/drivers/xattr.py:283 +#: glance/image_cache/drivers/xattr.py:281 #, python-format msgid "Removing image '%s' from queue after caching it." msgstr "" -#: glance/image_cache/drivers/xattr.py:353 +#: glance/image_cache/drivers/xattr.py:351 #, python-format msgid "Queueing image '%s'." msgstr "" -#: glance/image_cache/drivers/xattr.py:383 +#: glance/image_cache/drivers/xattr.py:381 #, python-format msgid "No grace period, reaping '%(path)s' immediately" msgstr "" -#: glance/image_cache/drivers/xattr.py:388 +#: glance/image_cache/drivers/xattr.py:386 #, python-format msgid "Cache entry '%(path)s' exceeds grace period, (%(age)i s > %(grace)i s)" msgstr "" -#: glance/image_cache/drivers/xattr.py:393 +#: glance/image_cache/drivers/xattr.py:391 #, python-format msgid "Reaped %(reaped)s %(entry_type)s cache entries" msgstr "" -#: glance/notifier/__init__.py:33 +#: glance/notifier/__init__.py:34 msgid "" "Notifications can be sent when images are create, updated or deleted. " "There are three methods of sending notifications, logging (via the " @@ -1497,16 +1897,48 @@ msgid "" "message queue), or noop (no notifications sent, the default)." msgstr "" -#: glance/notifier/__init__.py:62 +#: glance/notifier/__init__.py:63 #, python-format msgid "Converted strategy alias %s to %s" msgstr "" -#: glance/notifier/__init__.py:66 +#: glance/notifier/__init__.py:67 #, python-format msgid "No strategy alias found for %s" msgstr "" +#: glance/notifier/__init__.py:213 +#, python-format +msgid "Cannot save data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:218 +#, python-format +msgid "Unable to upload duplicate image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:223 +#, python-format +msgid "Not allowed to upload image data for image %s: %s" +msgstr "" + +#: glance/notifier/__init__.py:228 +#, python-format +msgid "" +"Image %s could not be found after upload. The image may have been deleted" +" during the upload: %s" +msgstr "" + +#: glance/notifier/__init__.py:234 +#, python-format +msgid "Failed to upload image data for image %s due to HTTP error: %s" +msgstr "" + +#: glance/notifier/__init__.py:240 +#, python-format +msgid "Failed to upload image data for image %s due to internal error: %s" +msgstr "" + #: glance/notifier/notify_kombu.py:31 msgid "The host name of the rabbitmq server" msgstr "" @@ -1599,59 +2031,224 @@ msgstr "" msgid "Unable to send notification: %s" msgstr "" -#: glance/notifier/notify_qpid.py:110 +#: glance/notifier/notify_qpid.py:109 #, python-format msgid "Connected to AMQP server on %s" msgstr "" -#: glance/openstack/common/jsonutils.py:88 +#: glance/notifier/notify_qpid.py:137 #, python-format -msgid "Max serialization depth exceeded on object: %d %s" +msgid "Notification error. Priority: %(priority)s Message: %(msg)s" msgstr "" -#: glance/openstack/common/log.py:225 +#: glance/openstack/common/excutils.py:48 +#, python-format +msgid "Original exception being dropped: %s" +msgstr "" + +#: glance/openstack/common/fileutils.py:64 +#, python-format +msgid "Reloading cached file %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:100 +#, python-format +msgid "Could not release the acquired lock `%s`" +msgstr "" + +#: glance/openstack/common/lockutils.py:166 +#, python-format +msgid "Got semaphore \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:175 +#, python-format +msgid "Attempting to grab file lock \"%(lock)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:185 +#, python-format +msgid "Created lock path: %s" +msgstr "" + +#: glance/openstack/common/lockutils.py:203 +#, python-format +msgid "Got file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:207 +#, python-format +msgid "Released file lock \"%(lock)s\" at %(path)s" +msgstr "" + +#: glance/openstack/common/lockutils.py:244 +#, python-format +msgid "Got semaphore / lock \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/lockutils.py:248 +#, python-format +msgid "Semaphore / lock released \"%(function)s\"" +msgstr "" + +#: glance/openstack/common/log.py:244 #, python-format msgid "Deprecated: %s" msgstr "" -#: glance/openstack/common/log.py:358 +#: glance/openstack/common/log.py:347 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "" + +#: glance/openstack/common/log.py:397 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: glance/openstack/common/log.py:518 +#: glance/openstack/common/log.py:563 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" -#: glance/openstack/common/policy.py:394 +#: glance/openstack/common/loopingcall.py:84 +#, python-format +msgid "task run outlasted interval by %s sec" +msgstr "" + +#: glance/openstack/common/loopingcall.py:91 +msgid "in fixed duration looping call" +msgstr "" + +#: glance/openstack/common/loopingcall.py:131 +#, python-format +msgid "Dynamic looping call sleeping for %.02f seconds" +msgstr "" + +#: glance/openstack/common/loopingcall.py:138 +msgid "in dynamic looping call" +msgstr "" + +#: glance/openstack/common/policy.py:395 #, python-format msgid "Failed to understand rule %(rule)s" msgstr "" -#: glance/openstack/common/policy.py:404 +#: glance/openstack/common/policy.py:405 #, python-format msgid "No handler for matches of kind %s" msgstr "" -#: glance/openstack/common/policy.py:679 +#: glance/openstack/common/policy.py:680 #, python-format msgid "Failed to understand rule %(rule)r" msgstr "" -#: glance/openstack/common/notifier/api.py:126 +#: glance/openstack/common/processutils.py:127 +#, python-format +msgid "Got unknown keyword args to utils.execute: %r" +msgstr "" + +#: glance/openstack/common/processutils.py:142 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:167 +#: glance/openstack/common/processutils.py:240 +#, python-format +msgid "Result was %s" +msgstr "" + +#: glance/openstack/common/processutils.py:179 +#, python-format +msgid "%r failed. Retrying." +msgstr "" + +#: glance/openstack/common/processutils.py:219 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: glance/openstack/common/processutils.py:221 +msgid "Environment not supported over SSH" +msgstr "" + +#: glance/openstack/common/processutils.py:225 +msgid "process_input not supported over SSH" +msgstr "" + +#: glance/openstack/common/service.py:112 +#: glance/openstack/common/service.py:275 +msgid "Full set of CONF:" +msgstr "" + +#: glance/openstack/common/service.py:121 +#: glance/openstack/common/service.py:218 +#, python-format +msgid "Caught %s, exiting" +msgstr "" + +#: glance/openstack/common/service.py:164 +msgid "Parent process has died unexpectedly, exiting" +msgstr "" + +#: glance/openstack/common/service.py:200 +msgid "Forking too fast, sleeping" +msgstr "" + +#: glance/openstack/common/service.py:223 +msgid "Unhandled exception" +msgstr "" + +#: glance/openstack/common/service.py:230 +#, python-format +msgid "Started child %d" +msgstr "" + +#: glance/openstack/common/service.py:257 +#, python-format +msgid "Child %(pid)d killed by signal %(sig)d" +msgstr "" + +#: glance/openstack/common/service.py:261 +#, python-format +msgid "Child %(pid)s exited with status %(code)d" +msgstr "" + +#: glance/openstack/common/service.py:265 +#, python-format +msgid "pid %d not in child list" +msgstr "" + +#: glance/openstack/common/service.py:293 +#, python-format +msgid "Caught %s, stopping children" +msgstr "" + +#: glance/openstack/common/service.py:304 +#, python-format +msgid "Waiting on %d children to exit" +msgstr "" + +#: glance/openstack/common/strutils.py:72 +#, python-format +msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" +msgstr "" + +#: glance/openstack/common/notifier/api.py:125 #, python-format msgid "%s not in valid priorities" msgstr "" -#: glance/openstack/common/notifier/api.py:142 +#: glance/openstack/common/notifier/api.py:141 #, python-format msgid "" "Problem '%(e)s' attempting to send to notification system. " "Payload=%(payload)s" msgstr "" -#: glance/openstack/common/notifier/api.py:172 +#: glance/openstack/common/notifier/api.py:171 #, python-format msgid "Failed to load notifier %s. These notifications will not be sent." msgstr "" @@ -1666,210 +2263,123 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: glance/registry/__init__.py:34 +#: glance/quota/__init__.py:154 +#, python-format +msgid "Cleaning up %s after exceeding the quota." +msgstr "" + +#: glance/registry/__init__.py:27 msgid "Address to find the registry server." msgstr "" -#: glance/registry/__init__.py:36 +#: glance/registry/__init__.py:29 msgid "Port the registry server is listening on." msgstr "" -#: glance/registry/__init__.py:40 -msgid "" -"The protocol to use for communication with the registry server. Either " -"http or https." -msgstr "" - -#: glance/registry/__init__.py:43 -msgid "The path to the key file to use in SSL connections to the registry server." -msgstr "" - -#: glance/registry/__init__.py:46 -msgid "" -"The path to the cert file to use in SSL connections to the registry " -"server." -msgstr "" - -#: glance/registry/__init__.py:49 -msgid "" -"The path to the certifying authority cert file to use in SSL connections " -"to the registry server." -msgstr "" - -#: glance/registry/__init__.py:52 -msgid "" -"When using SSL in connections to the registry server, do not require " -"validation via a certifying authority." -msgstr "" - -#: glance/registry/__init__.py:56 -msgid "" -"The period of time, in seconds, that the API server will wait for a " -"registry request to complete. A value of 0 implies no timeout." -msgstr "" - -#: glance/registry/__init__.py:62 -msgid "The administrators user name." -msgstr "" - -#: glance/registry/__init__.py:64 -msgid "The administrators password." -msgstr "" - -#: glance/registry/__init__.py:66 -msgid "The tenant name of the adminstrative user." -msgstr "" - -#: glance/registry/__init__.py:68 -msgid "The URL to the keystone service." -msgstr "" - -#: glance/registry/__init__.py:70 -msgid "The strategy to use for authentication." -msgstr "" - -#: glance/registry/__init__.py:72 -msgid "The region for the authentication service." -msgstr "" - -#: glance/registry/__init__.py:97 -msgid "Configuration option was not valid" -msgstr "" - -#: glance/registry/__init__.py:101 -msgid "Could not find required configuration option" -msgstr "" - -#: glance/registry/__init__.py:164 -msgid "Adding image metadata..." -msgstr "" - -#: glance/registry/__init__.py:171 -#, python-format -msgid "Updating image metadata for image %s..." -msgstr "" - -#: glance/registry/__init__.py:177 -#, python-format -msgid "Deleting image metadata for image %s..." -msgstr "" - -#: glance/registry/client.py:93 -#, python-format -msgid "" -"Registry request %(method)s %(action)s HTTP %(status)s request id " -"%(request_id)s" -msgstr "" - -#: glance/registry/client.py:99 -#, python-format -msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" -msgstr "" - -#: glance/registry/api/v1/images.py:74 +#: glance/registry/api/v1/images.py:111 msgid "Invalid marker. Image could not be found." msgstr "" -#: glance/registry/api/v1/images.py:107 +#: glance/registry/api/v1/images.py:144 msgid "Returning image list" msgstr "" -#: glance/registry/api/v1/images.py:126 +#: glance/registry/api/v1/images.py:163 msgid "Returning detailed image list" msgstr "" -#: glance/registry/api/v1/images.py:179 +#: glance/registry/api/v1/images.py:216 msgid "Unrecognized changes-since value" msgstr "" -#: glance/registry/api/v1/images.py:184 +#: glance/registry/api/v1/images.py:221 msgid "protected must be True, or False" msgstr "" -#: glance/registry/api/v1/images.py:221 +#: glance/registry/api/v1/images.py:258 msgid "Invalid marker format" msgstr "" -#: glance/registry/api/v1/images.py:231 +#: glance/registry/api/v1/images.py:268 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:240 +#: glance/registry/api/v1/images.py:277 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" -#: glance/registry/api/v1/images.py:266 +#: glance/registry/api/v1/images.py:303 msgid "is_public must be None, True, or False" msgstr "" -#: glance/registry/api/v1/images.py:282 +#: glance/registry/api/v1/images.py:319 #, python-format msgid "Successfully retrieved image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:285 glance/registry/api/v1/images.py:324 -#: glance/registry/api/v1/images.py:414 glance/registry/api/v1/members.py:47 +#: glance/registry/api/v1/images.py:322 glance/registry/api/v1/images.py:361 +#: glance/registry/api/v1/images.py:453 glance/registry/api/v1/members.py:47 #: glance/registry/api/v1/members.py:81 glance/registry/api/v1/members.py:194 #: glance/registry/api/v1/members.py:254 #, python-format msgid "Image %(id)s not found" msgstr "" -#: glance/registry/api/v1/images.py:291 glance/registry/api/v1/images.py:320 -#: glance/registry/api/v1/images.py:426 glance/registry/api/v1/members.py:53 +#: glance/registry/api/v1/images.py:328 glance/registry/api/v1/images.py:357 +#: glance/registry/api/v1/images.py:465 glance/registry/api/v1/members.py:53 #: glance/registry/api/v1/members.py:87 glance/registry/api/v1/members.py:200 #: glance/registry/api/v1/members.py:260 #, python-format msgid "Access denied to image %(id)s but returning 'not found'" msgstr "" -#: glance/registry/api/v1/images.py:310 +#: glance/registry/api/v1/images.py:347 #, python-format msgid "Successfully deleted image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:314 +#: glance/registry/api/v1/images.py:351 #, python-format msgid "Delete denied for public image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:351 +#: glance/registry/api/v1/images.py:388 #, python-format msgid "Rejecting image creation request for invalid image id '%(bad_id)s'" msgstr "" -#: glance/registry/api/v1/images.py:354 +#: glance/registry/api/v1/images.py:391 msgid "Invalid image id format" msgstr "" -#: glance/registry/api/v1/images.py:362 +#: glance/registry/api/v1/images.py:400 #, python-format msgid "Successfully created image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:366 +#: glance/registry/api/v1/images.py:404 #, python-format msgid "Image with identifier %s already exists!" msgstr "" -#: glance/registry/api/v1/images.py:370 +#: glance/registry/api/v1/images.py:408 #, python-format msgid "Failed to add image metadata. Got error: %(e)s" msgstr "" -#: glance/registry/api/v1/images.py:397 +#: glance/registry/api/v1/images.py:435 #, python-format msgid "Updating image %(id)s with metadata: %(image_data)r" msgstr "" -#: glance/registry/api/v1/images.py:405 +#: glance/registry/api/v1/images.py:444 #, python-format msgid "Updating metadata for image %(id)s" msgstr "" -#: glance/registry/api/v1/images.py:420 +#: glance/registry/api/v1/images.py:459 #, python-format msgid "Update denied for public image %(id)s" msgstr "" @@ -1936,127 +2446,368 @@ msgstr "" msgid "Returning list of images shared with member %(id)s" msgstr "" -#: glance/store/__init__.py:44 +#: glance/registry/api/v2/rpc.py:44 +#, python-format +msgid "Registry service can't use %s" +msgstr "" + +#: glance/registry/client/__init__.py:22 +msgid "" +"The protocol to use for communication with the registry server. Either " +"http or https." +msgstr "" + +#: glance/registry/client/__init__.py:25 +msgid "The path to the key file to use in SSL connections to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:28 +msgid "" +"The path to the cert file to use in SSL connections to the registry " +"server." +msgstr "" + +#: glance/registry/client/__init__.py:31 +msgid "" +"The path to the certifying authority cert file to use in SSL connections " +"to the registry server." +msgstr "" + +#: glance/registry/client/__init__.py:34 +msgid "" +"When using SSL in connections to the registry server, do not require " +"validation via a certifying authority." +msgstr "" + +#: glance/registry/client/__init__.py:38 +msgid "" +"The period of time, in seconds, that the API server will wait for a " +"registry request to complete. A value of 0 implies no timeout." +msgstr "" + +#: glance/registry/client/__init__.py:45 +msgid "" +"Whether to pass through the user token when making requests to the " +"registry." +msgstr "" + +#: glance/registry/client/__init__.py:48 +msgid "The administrators user name." +msgstr "" + +#: glance/registry/client/__init__.py:50 +msgid "The administrators password." +msgstr "" + +#: glance/registry/client/__init__.py:52 +msgid "The tenant name of the adminstrative user." +msgstr "" + +#: glance/registry/client/__init__.py:54 +msgid "The URL to the keystone service." +msgstr "" + +#: glance/registry/client/__init__.py:56 +msgid "The strategy to use for authentication." +msgstr "" + +#: glance/registry/client/__init__.py:58 +msgid "The region for the authentication service." +msgstr "" + +#: glance/registry/client/v1/api.py:35 +msgid "" +"Whether to pass through headers containing user and tenant information " +"when making requests to the registry. This allows the registry to use the" +" context middleware without the keystoneclients' auth_token middleware, " +"removing calls to the keystone auth service. It is recommended that when " +"using this option, secure communication between glance api and glance " +"registry is ensured by means other than auth_token middleware." +msgstr "" + +#: glance/registry/client/v1/api.py:80 glance/registry/client/v2/api.py:62 +msgid "Configuration option was not valid" +msgstr "" + +#: glance/registry/client/v1/api.py:84 glance/registry/client/v2/api.py:66 +msgid "Could not find required configuration option" +msgstr "" + +#: glance/registry/client/v1/api.py:161 +msgid "Adding image metadata..." +msgstr "" + +#: glance/registry/client/v1/api.py:168 +#, python-format +msgid "Updating image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/api.py:174 +#, python-format +msgid "Deleting image metadata for image %s..." +msgstr "" + +#: glance/registry/client/v1/client.py:113 +#, python-format +msgid "" +"Registry request %(method)s %(action)s HTTP %(status)s request id " +"%(request_id)s" +msgstr "" + +#: glance/registry/client/v1/client.py:119 +#, python-format +msgid "Registry client request %(method)s %(action)s raised %(exc_name)s" +msgstr "" + +#: glance/store/__init__.py:48 msgid "" "List of which store classes and store class locations are currently known" " to glance at startup." msgstr "" -#: glance/store/__init__.py:47 +#: glance/store/__init__.py:51 msgid "" "Default scheme to use to store image data. The scheme must be registered " "by one of the stores defined by the 'known_stores' config option." msgstr "" -#: glance/store/__init__.py:52 +#: glance/store/__init__.py:56 glance/store/scrubber.py:40 msgid "" "Directory that the scrubber will use to track information about what to " -"delete. Make sure this is also set in glance-api.conf" +"delete. Make sure this is set in glance-api.conf and glance-scrubber.conf" msgstr "" -#: glance/store/__init__.py:56 +#: glance/store/__init__.py:61 msgid "Turn on/off delayed delete." msgstr "" -#: glance/store/__init__.py:58 +#: glance/store/__init__.py:63 glance/store/scrubber.py:45 msgid "The amount of time in seconds to delay before performing a delete." msgstr "" -#: glance/store/__init__.py:267 +#: glance/store/__init__.py:275 #, python-format msgid "Failed to delete image in store at URI: %s" msgstr "" -#: glance/store/__init__.py:273 +#: glance/store/__init__.py:281 #, python-format msgid "Failed to delete image at %s from store (%s)" msgstr "" -#: glance/store/__init__.py:286 +#: glance/store/__init__.py:314 #, python-format -msgid "Image id %(image_id)s already queued for delete" +msgid "" +"The image metadata key %s has an invalid type of %s. Only dict, list, " +"and unicode are supported." msgstr "" -#: glance/store/__init__.py:312 +#: glance/store/__init__.py:336 +#, python-format +msgid "" +"The storage driver %s returned invalid metadata %sThis must be a " +"dictionary type" +msgstr "" + +#: glance/store/__init__.py:344 +#, python-format +msgid "A bad metadata structure was returned from the %s storage driver: %s. %s." +msgstr "" + +#: glance/store/__init__.py:369 msgid "Skipping store.set_acls... not implemented." msgstr "" -#: glance/store/base.py:43 +#: glance/store/__init__.py:419 +#, python-format +msgid "Invalid location: %s" +msgstr "" + +#: glance/store/__init__.py:591 +#, python-format +msgid "Original locations is not empty: %s" +msgstr "" + +#: glance/store/__init__.py:661 +#, python-format +msgid "Get image %(id)s data from %(loc)s failed: %(err)s." +msgstr "" + +#: glance/store/__init__.py:666 +#, python-format +msgid "Glance tried all locations to get data for image %s but all have failed." +msgstr "" + +#: glance/store/base.py:37 glance/tests/unit/test_store_base.py:46 +#, python-format +msgid "Caught '%(exception)s' exception." +msgstr "" + +#: glance/store/base.py:58 #, python-format msgid "Failed to configure store correctly: %s Disabling add method." msgstr "" -#: glance/store/filesystem.py:39 +#: glance/store/cinder.py:90 +#, python-format +msgid "Cinderclient connection created using URL: %s" +msgstr "" + +#: glance/store/cinder.py:120 +msgid "URI must start with cinder://" +msgstr "" + +#: glance/store/cinder.py:128 +#, python-format +msgid "URI contains invalid volume ID: %s" +msgstr "" + +#: glance/store/cinder.py:151 +msgid "Cinder storage requires a context." +msgstr "" + +#: glance/store/cinder.py:155 +msgid "Cinder storage requires a service catalog." +msgstr "" + +#: glance/store/cinder.py:177 +#, python-format +msgid "Failed to get image size due to volume can not be found: %s" +msgstr "" + +#: glance/store/cinder.py:182 +#, python-format +msgid "Failed to get image size due to internal error: %s" +msgstr "" + +#: glance/store/filesystem.py:41 msgid "Directory to which the Filesystem backend store writes images." msgstr "" -#: glance/store/filesystem.py:68 +#: glance/store/filesystem.py:44 +msgid "" +"The path to a file which contains the metadata to be returned with any " +"location associated with this store. The file must contain a valid JSON " +"dict." +msgstr "" + +#: glance/store/filesystem.py:75 #, python-format msgid "No path specified in URI: %s" msgstr "" -#: glance/store/filesystem.py:120 +#: glance/store/filesystem.py:128 #, python-format msgid "Could not find %s in configuration options." msgstr "" -#: glance/store/filesystem.py:127 +#: glance/store/filesystem.py:135 #, python-format msgid "Directory to write image files does not exist (%s). Creating." msgstr "" -#: glance/store/filesystem.py:138 +#: glance/store/filesystem.py:146 #, python-format msgid "Unable to create datadir: %s" msgstr "" -#: glance/store/filesystem.py:148 +#: glance/store/filesystem.py:156 #, python-format msgid "Image file %s not found" msgstr "" -#: glance/store/filesystem.py:164 +#: glance/store/filesystem.py:171 +#, python-format +msgid "" +"The JSON in the metadata file %s could not be used: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:177 +#, python-format +msgid "" +"The path for the metadata file %s could not be opened: %s An empty " +"dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:183 +#, python-format +msgid "" +"An error occured processing the storage systems meta data file: %s. An " +"empty dictionary will be returned to the client." +msgstr "" + +#: glance/store/filesystem.py:199 #, python-format msgid "Found image at %s. Returning in ChunkedFile." msgstr "" -#: glance/store/filesystem.py:179 +#: glance/store/filesystem.py:214 #, python-format msgid "Found image at %s." msgstr "" -#: glance/store/filesystem.py:198 +#: glance/store/filesystem.py:233 #, python-format msgid "Deleting image at %(fn)s" msgstr "" -#: glance/store/filesystem.py:201 +#: glance/store/filesystem.py:236 #, python-format msgid "You cannot delete file %s" msgstr "" -#: glance/store/filesystem.py:203 +#: glance/store/filesystem.py:238 #, python-format msgid "Image file %s does not exist" msgstr "" -#: glance/store/filesystem.py:228 +#: glance/store/filesystem.py:264 #, python-format msgid "Image file %s already exists!" msgstr "" -#: glance/store/filesystem.py:253 +#: glance/store/filesystem.py:290 #, python-format msgid "" "Wrote %(bytes_written)d bytes to %(filepath)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/filesystem.py:262 +#: glance/store/filesystem.py:299 #, python-format msgid "Unable to remove partial image data for image %s: %s" msgstr "" +#: glance/store/gridfs.py:100 +msgid "Missing dependecies: pymongo" +msgstr "" + +#: glance/store/gridfs.py:116 glance/store/s3.py:254 glance/store/swift.py:317 +#, python-format +msgid "Could not find %(param)s in configuration options." +msgstr "" + +#: glance/store/gridfs.py:160 +#, python-format +msgid "Could not find %s image in GridFS" +msgstr "" + +#: glance/store/gridfs.py:183 +#, python-format +msgid "GridFS already has an image at location %s" +msgstr "" + +#: glance/store/gridfs.py:186 +#, python-format +msgid "Adding a new image to GridFS with id %s and size %s" +msgstr "" + +#: glance/store/gridfs.py:198 +#, python-format +msgid "Uploaded image %s, md5 %s, length %s to GridFS" +msgstr "" + #: glance/store/http.py:82 #, python-format msgid "Credentials '%s' not well-formatted." @@ -2075,69 +2826,70 @@ msgstr "" msgid "The HTTP URL attempted to redirect with an invalid status code." msgstr "" -#: glance/store/rbd.py:51 +#: glance/store/rbd.py:53 glance/store/sheepdog.py:43 msgid "" "Images will be chunked into objects of this size (in megabytes). For best" " performance, this should be a power of two." msgstr "" -#: glance/store/rbd.py:55 +#: glance/store/rbd.py:57 msgid "RADOS pool in which images are stored." msgstr "" -#: glance/store/rbd.py:57 +#: glance/store/rbd.py:59 msgid "RADOS user to authenticate as (only applicable if using cephx.)" msgstr "" -#: glance/store/rbd.py:60 +#: glance/store/rbd.py:62 msgid "Ceph configuration file path." msgstr "" -#: glance/store/rbd.py:102 +#: glance/store/rbd.py:104 msgid "URI must start with rbd://" msgstr "" -#: glance/store/rbd.py:103 glance/store/rbd.py:110 glance/store/rbd.py:121 -#: glance/store/rbd.py:125 +#: glance/store/rbd.py:105 glance/store/rbd.py:112 glance/store/rbd.py:123 +#: glance/store/rbd.py:127 #, python-format msgid "Invalid URI: %(uri)s: %(reason)s" msgstr "" -#: glance/store/rbd.py:109 +#: glance/store/rbd.py:111 msgid "URI contains non-ascii characters" msgstr "" -#: glance/store/rbd.py:120 +#: glance/store/rbd.py:122 msgid "URI must have exactly 1 or 4 components" msgstr "" -#: glance/store/rbd.py:124 +#: glance/store/rbd.py:126 msgid "URI cannot contain empty components" msgstr "" -#: glance/store/rbd.py:158 glance/store/rbd.py:297 +#: glance/store/rbd.py:160 glance/store/rbd.py:224 glance/store/rbd.py:278 #, python-format msgid "RBD image %s does not exist" msgstr "" -#: glance/store/rbd.py:185 +#: glance/store/rbd.py:187 glance/store/sheepdog.py:198 +#: glance/store/sheepdog.py:206 #, python-format msgid "Error in store configuration: %s" msgstr "" -#: glance/store/rbd.py:254 -#, python-format -msgid "RBD image %s already exists" -msgstr "" - -#: glance/store/rbd.py:288 +#: glance/store/rbd.py:269 #, python-format msgid "snapshot %s@%s could not be unprotected because it is in use" msgstr "" -#: glance/store/rbd.py:299 +#: glance/store/rbd.py:280 #, python-format -msgid "image %s could not be removedbecause it is in use" +msgid "image %s could not be removed because it is in use" +msgstr "" + +#: glance/store/rbd.py:314 +#, python-format +msgid "RBD image %s already exists" msgstr "" #: glance/store/s3.py:39 @@ -2192,144 +2944,183 @@ msgstr "" msgid "Badly formed S3 URI. Missing s3 service URL." msgstr "" -#: glance/store/s3.py:253 glance/store/swift.py:308 -#, python-format -msgid "Could not find %(param)s in configuration options." -msgstr "" - -#: glance/store/s3.py:308 +#: glance/store/s3.py:309 #, python-format msgid "" "Retrieved image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:367 +#: glance/store/s3.py:369 #, python-format msgid "S3 already has an image at location %s" msgstr "" -#: glance/store/s3.py:371 +#: glance/store/s3.py:373 #, python-format msgid "" "Adding image object to S3 using (s3_host=%(s3_host)s, " "access_key=%(access_key)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:393 +#: glance/store/s3.py:395 #, python-format msgid "Writing request body file to temporary file for %s" msgstr "" -#: glance/store/s3.py:405 +#: glance/store/s3.py:407 #, python-format msgid "Uploading temporary file to S3 for %s" msgstr "" -#: glance/store/s3.py:414 +#: glance/store/s3.py:416 #, python-format msgid "" "Wrote %(size)d bytes to S3 key named %(obj_name)s with checksum " "%(checksum_hex)s" msgstr "" -#: glance/store/s3.py:440 +#: glance/store/s3.py:442 #, python-format msgid "" "Deleting image object from S3 using (s3_host=%(s3_host)s, " "access_key=%(accesskey)s, bucket=%(bucket)s, key=%(obj_name)s)" msgstr "" -#: glance/store/s3.py:462 +#: glance/store/s3.py:464 #, python-format msgid "Could not find bucket with ID %(bucket_id)s" msgstr "" -#: glance/store/s3.py:503 +#: glance/store/s3.py:505 #, python-format msgid "" "Failed to add bucket to S3.\n" "Got error from S3: %(e)s" msgstr "" -#: glance/store/s3.py:507 +#: glance/store/s3.py:509 #, python-format msgid "" "The bucket %(bucket)s does not exist in S3. Please set the " "s3_store_create_bucket_on_put option to add bucket to S3 automatically." msgstr "" -#: glance/store/s3.py:526 +#: glance/store/s3.py:528 #, python-format msgid "Could not find key %(obj)s in bucket %(bucket)s" msgstr "" -#: glance/store/scrubber.py:37 +#: glance/store/scrubber.py:48 msgid "" "A boolean that determines if the scrubber should clean up the files it " "uses for taking data. Only one server in your deployment should be " "designated the cleanup host." msgstr "" -#: glance/store/scrubber.py:42 +#: glance/store/scrubber.py:53 msgid "" "Items must have a modified time that is older than this value in order to" " be candidates for cleanup." msgstr "" -#: glance/store/scrubber.py:52 +#: glance/store/scrubber.py:136 +#, python-format +msgid "%s file can not be read." +msgstr "" + +#: glance/store/scrubber.py:160 +#, python-format +msgid "%s file can not be wrote." +msgstr "" + +#: glance/store/scrubber.py:211 +#, python-format +msgid "%s directory does not exist." +msgstr "" + +#: glance/store/scrubber.py:357 #, python-format msgid "Starting Daemon: wakeup_time=%(wakeup_time)s threads=%(threads)s" msgstr "" -#: glance/store/scrubber.py:65 +#: glance/store/scrubber.py:370 msgid "Daemon Shutdown on KeyboardInterrupt" msgstr "" -#: glance/store/scrubber.py:69 +#: glance/store/scrubber.py:374 msgid "Running application" msgstr "" -#: glance/store/scrubber.py:72 +#: glance/store/scrubber.py:377 #, python-format msgid "Next run scheduled in %s seconds" msgstr "" -#: glance/store/scrubber.py:88 +#: glance/store/scrubber.py:382 #, python-format -msgid "Initializing scrubber with conf: %s" +msgid "Initializing scrubber with configuration: %s" msgstr "" -#: glance/store/scrubber.py:104 +#: glance/store/scrubber.py:406 #, python-format -msgid "%s does not exist" +msgid "Can not %s scrub jobs from queue." msgstr "" -#: glance/store/scrubber.py:126 glance/store/scrubber.py:197 +#: glance/store/scrubber.py:430 #, python-format -msgid "Deleting %s images" +msgid "Scrubbing image %(id)s from %(count)d locations." msgstr "" -#: glance/store/scrubber.py:139 +#: glance/store/scrubber.py:445 #, python-format -msgid "Deleting %(uri)s" +msgid "Deleting %(uri)s from image %(image_id)s." msgstr "" -#: glance/store/scrubber.py:147 +#: glance/store/scrubber.py:458 #, python-format -msgid "Failed to delete image from store (%(id)s)." +msgid "Failed to delete image %(image_id)s from %(uri)s." msgstr "" -#: glance/store/scrubber.py:151 +#: glance/store/scrubber.py:470 #, python-format -msgid "Image not found in store (%(id)s)." +msgid "%s file is not exists." msgstr "" -#: glance/store/scrubber.py:170 +#: glance/store/scrubber.py:475 +#, python-format +msgid "%s file contains conflicting cleanup timestamp." +msgstr "" + +#: glance/store/scrubber.py:494 +#, python-format +msgid "%s file can not be created." +msgstr "" + +#: glance/store/scrubber.py:508 #, python-format msgid "Getting images deleted before %s" msgstr "" +#: glance/store/sheepdog.py:47 +msgid "Port of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:49 +msgid "IP address of sheep daemon." +msgstr "" + +#: glance/store/sheepdog.py:226 glance/store/sheepdog.py:245 +#: glance/store/sheepdog.py:306 +#, python-format +msgid "Sheepdog image %s does not exist" +msgstr "" + +#: glance/store/sheepdog.py:267 +#, python-format +msgid "Sheepdog image %s already exists" +msgstr "" + #: glance/store/swift.py:51 msgid "Whether to use ServiceNET to communicate with the Swift storage servers." msgstr "" @@ -2356,60 +3147,73 @@ msgstr "" #: glance/store/swift.py:67 msgid "" +"If True, swiftclient won't check for a valid SSL certificate when " +"authenticating." +msgstr "" + +#: glance/store/swift.py:70 +msgid "" "The region of the swift endpoint to be used for single tenant. This " "setting is only necessary if the tenant has multiple swift endpoints." msgstr "" -#: glance/store/swift.py:71 +#: glance/store/swift.py:74 msgid "" "A string giving the endpoint type of the swift service to use (publicURL," " adminURL or internalURL). This setting is only used if " "swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:76 +#: glance/store/swift.py:79 msgid "" "A string giving the service type of the swift service to use. This " "setting is only used if swift_store_auth_version is 2." msgstr "" -#: glance/store/swift.py:81 +#: glance/store/swift.py:84 msgid "" "Container within the account that the account should use for storing " "images in Swift." msgstr "" -#: glance/store/swift.py:85 +#: glance/store/swift.py:88 msgid "" "The size, in MB, that Glance will start chunking image files and do a " "large object manifest in Swift" msgstr "" -#: glance/store/swift.py:89 +#: glance/store/swift.py:92 msgid "" "The amount of data written to a temporary disk buffer during the process " "of chunking the image file." msgstr "" -#: glance/store/swift.py:92 +#: glance/store/swift.py:95 msgid "" "A boolean value that determines if we create the container if it does not" " exist." msgstr "" -#: glance/store/swift.py:95 +#: glance/store/swift.py:98 msgid "" "If set to True, enables multi-tenant storage mode which causes Glance " "images to be stored in tenant specific Swift accounts." msgstr "" -#: glance/store/swift.py:99 +#: glance/store/swift.py:102 msgid "" "A list of tenants that will be granted read/write access on all Swift " "containers created by Glance in multi-tenant mode." msgstr "" -#: glance/store/swift.py:169 +#: glance/store/swift.py:106 +msgid "" +"If set to False, disables SSL layer compression of https swift requests. " +"Setting to False may improve performance for images which are already in " +"a compressed format, eg qcow2." +msgstr "" + +#: glance/store/swift.py:177 msgid "" "URI cannot contain more than one occurrence of a scheme. If you have " "specified a URI like " @@ -2418,69 +3222,73 @@ msgid "" "swift+http://user:pass@authurl.com/v1/container/obj" msgstr "" -#: glance/store/swift.py:175 +#: glance/store/swift.py:183 #, python-format msgid "Invalid store URI: %(reason)s" msgstr "" -#: glance/store/swift.py:219 +#: glance/store/swift.py:227 msgid "Badly formed Swift URI." msgstr "" -#: glance/store/swift.py:279 glance/store/swift.py:475 -#: glance/store/swift.py:634 +#: glance/store/swift.py:288 glance/store/swift.py:485 +#: glance/store/swift.py:646 msgid "Swift could not find image at URI." msgstr "" -#: glance/store/swift.py:317 +#: glance/store/swift.py:326 #, python-format msgid "Deleting chunk %s" msgstr "" -#: glance/store/swift.py:321 +#: glance/store/swift.py:330 #, python-format msgid "Failed to delete orphaned chunk %s/%s" msgstr "" -#: glance/store/swift.py:331 +#: glance/store/swift.py:340 #, python-format msgid "Adding image object '%(obj_name)s' to Swift" msgstr "" -#: glance/store/swift.py:351 +#: glance/store/swift.py:360 msgid "Cannot determine image size. Adding as a segmented object to Swift." msgstr "" -#: glance/store/swift.py:385 +#: glance/store/swift.py:388 +msgid "Error during chunked upload to backend, deleting stale chunks" +msgstr "" + +#: glance/store/swift.py:396 #, python-format msgid "" "Wrote chunk %(chunk_name)s (%(chunk_id)d/%(total_chunks)s) of length " "%(bytes_read)d to Swift returning MD5 of content: %(chunk_etag)s" msgstr "" -#: glance/store/swift.py:394 +#: glance/store/swift.py:405 msgid "Deleting final zero-length chunk" msgstr "" -#: glance/store/swift.py:431 +#: glance/store/swift.py:442 msgid "Swift already has an image at this location" msgstr "" -#: glance/store/swift.py:433 +#: glance/store/swift.py:444 #, python-format msgid "" "Failed to add object to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:496 +#: glance/store/swift.py:506 #, python-format msgid "" "Failed to add container to Swift.\n" "Got error from Swift: %(e)s" msgstr "" -#: glance/store/swift.py:500 +#: glance/store/swift.py:510 #, python-format msgid "" "The container %(container)s does not exist in Swift. Please set the " @@ -2488,25 +3296,92 @@ msgid "" "automatically." msgstr "" -#: glance/store/swift.py:544 +#: glance/store/swift.py:554 msgid "Location is missing user:password information." msgstr "" -#: glance/store/swift.py:556 +#: glance/store/swift.py:566 #, python-format msgid "Badly formed tenant:user '%(user)s' in Swift URI" msgstr "" -#: glance/store/swift.py:582 +#: glance/store/swift.py:593 msgid "Multi-tenant Swift storage requires a context." msgstr "" -#: glance/store/swift.py:586 +#: glance/store/swift.py:597 msgid "Multi-tenant Swift storage requires a service catalog." msgstr "" -#: glance/tests/unit/test_migrations.py:641 +#: glance/tests/unit/test_migrations.py:827 #, python-format msgid "location: %s data lost" msgstr "" +#~ msgid "Failed to upload image" +#~ msgstr "" + +#~ msgid "Unable to kill image %(id)s: %(exc)s" +#~ msgstr "" + +#~ msgid "Forbidden to delete a deleted image." +#~ msgstr "" + +#~ msgid "Pointer `%s` contains more than one \"/\"." +#~ msgstr "" + +#~ msgid "Status of the image" +#~ msgstr "" + +#~ msgid "md5 hash of image contents." +#~ msgstr "" + +#~ msgid "Size of image file in bytes" +#~ msgstr "" + +#~ msgid "Date and time of image registration" +#~ msgstr "" + +#~ msgid "Date and time of the last image modification" +#~ msgstr "" + +#~ msgid "URL to access the image file kept in external store" +#~ msgstr "" + +#~ msgid "eventlet 'poll' hub is not available on this platform" +#~ msgstr "" + +#~ msgid "Max serialization depth exceeded on object: %d %s" +#~ msgstr "" + +#~ msgid "" +#~ "Directory that the scrubber will use " +#~ "to track information about what to " +#~ "delete. Make sure this is also " +#~ "set in glance-api.conf" +#~ msgstr "" + +#~ msgid "Image id %(image_id)s already queued for delete" +#~ msgstr "" + +#~ msgid "image %s could not be removedbecause it is in use" +#~ msgstr "" + +#~ msgid "Initializing scrubber with conf: %s" +#~ msgstr "" + +#~ msgid "%s does not exist" +#~ msgstr "" + +#~ msgid "Deleting %s images" +#~ msgstr "" + +#~ msgid "Deleting %(uri)s" +#~ msgstr "" + +#~ msgid "Failed to delete image from store (%(id)s)." +#~ msgstr "" + +#~ msgid "Image not found in store (%(id)s)." +#~ msgstr "" +