# Translations template for glance. # Copyright (C) 2018 ORGANIZATION # This file is distributed under the same license as the glance project. # FIRST AUTHOR , 2018. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: glance VERSION\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" "POT-Creation-Date: 2018-02-09 11:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.3.4\n" #: glance/location.py:100 msgid "Invalid location" msgstr "" #: glance/location.py:335 msgid "Invalid locations" msgstr "" #: glance/location.py:345 #, python-format msgid "Original locations is not empty: %s" msgstr "" #: glance/location.py:449 msgid "Signature verification failed" msgstr "" #: glance/notifier.py:37 msgid "" "\n" "Default publisher_id for outgoing Glance notifications.\n" "\n" "This is the value that the notification driver will use to identify\n" "messages for events originating from the Glance service. Typically,\n" "this is the hostname of the instance that generated the message.\n" "\n" "Possible values:\n" " * Any reasonable instance identifier, for example: image.host1\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/notifier.py:53 msgid "" "\n" "List of notifications to be disabled.\n" "\n" "Specify a list of notifications that should not be emitted.\n" "A notification can be given either as a notification type to\n" "disable a single event notification, or as a notification group\n" "prefix to disable all event notifications within a group.\n" "\n" "Possible values:\n" " A comma-separated list of individual notification types or\n" " notification groups to be disabled. Currently supported groups:\n" " * image\n" " * image.member\n" " * task\n" " * metadef_namespace\n" " * metadef_object\n" " * metadef_property\n" " * metadef_resource_type\n" " * metadef_tag\n" " For a complete listing and description of each event refer to:\n" " http://docs.openstack.org/developer/glance/notifications.html\n" "\n" " The values must be specified as: .\n" " For example: image.create,task.success,metadef_tag\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/api/v1/upload_utils.py:226 glance/api/v2/image_data.py:199 #: glance/notifier.py:429 #, python-format msgid "Image storage media is full: %s" msgstr "" #: glance/api/v1/upload_utils.py:236 glance/api/v2/image_data.py:223 #: glance/notifier.py:434 #, python-format msgid "Insufficient permissions on image storage media: %s" msgstr "" #: glance/notifier.py:439 #, python-format msgid "Cannot save data for image %(image_id)s: %(error)s" msgstr "" #: glance/notifier.py:446 #, python-format msgid "Unable to upload duplicate image data for image%(image_id)s: %(error)s" msgstr "" #: glance/notifier.py:453 #, python-format msgid "Not allowed to upload image data for image %(image_id)s: %(error)s" msgstr "" #: glance/notifier.py:461 #, python-format msgid "" "Image %(image_id)s could not be found after upload. The image may have " "been deleted during the upload: %(error)s" msgstr "" #: glance/notifier.py:469 #, python-format msgid "" "Failed to upload image data for image %(image_id)s due to HTTP error: " "%(error)s" msgstr "" #: glance/notifier.py:476 #, python-format msgid "" "Failed to upload image data for image %(image_id)s due to internal error:" " %(error)s" msgstr "" #: glance/schema.py:79 #, python-format msgid "custom properties (%(props)s) conflict with base properties" msgstr "" #: glance/scrubber.py:37 msgid "" "\n" "The amount of time, in seconds, to delay image scrubbing.\n" "\n" "When delayed delete is turned on, an image is put into ``pending_delete``" "\n" "state upon deletion until the scrubber deletes its image data. Typically," " soon\n" "after the image is put into ``pending_delete`` state, it is available for" "\n" "scrubbing. However, scrubbing can be delayed until a later point using " "this\n" "configuration option. This option denotes the time period an image spends" " in\n" "``pending_delete`` state before it is available for scrubbing.\n" "\n" "It is important to realize that this has storage implications. The larger" " the\n" "``scrub_time``, the longer the time to reclaim backend storage from " "deleted\n" "images.\n" "\n" "Possible values:\n" " * Any non-negative integer\n" "\n" "Related options:\n" " * ``delayed_delete``\n" "\n" msgstr "" #: glance/scrubber.py:59 msgid "" "\n" "The size of thread pool to be used for scrubbing images.\n" "\n" "When there are a large number of images to scrub, it is beneficial to " "scrub\n" "images in parallel so that the scrub queue stays in control and the " "backend\n" "storage is reclaimed in a timely fashion. This configuration option " "denotes\n" "the maximum number of images to be scrubbed in parallel. The default " "value is\n" "one, which signifies serial scrubbing. Any value above one indicates " "parallel\n" "scrubbing.\n" "\n" "Possible values:\n" " * Any non-zero positive integer\n" "\n" "Related options:\n" " * ``delayed_delete``\n" "\n" msgstr "" #: glance/scrubber.py:77 msgid "" "\n" "Turn on/off delayed delete.\n" "\n" "Typically when an image is deleted, the ``glance-api`` service puts the " "image\n" "into ``deleted`` state and deletes its data at the same time. Delayed " "delete\n" "is a feature in Glance that delays the actual deletion of image data " "until a\n" "later point in time (as determined by the configuration option " "``scrub_time``).\n" "When delayed delete is turned on, the ``glance-api`` service puts the " "image\n" "into ``pending_delete`` state upon deletion and leaves the image data in " "the\n" "storage backend for the image scrubber to delete at a later time. The " "image\n" "scrubber will move the image into ``deleted`` state upon successful " "deletion\n" "of image data.\n" "\n" "NOTE: When delayed delete is turned on, image scrubber MUST be running as" " a\n" "periodic task to prevent the backend storage from filling up with " "undesired\n" "usage.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * ``scrub_time``\n" " * ``wakeup_time``\n" " * ``scrub_pool_size``\n" "\n" msgstr "" #: glance/api/middleware/context.py:49 glance/scrubber.py:113 msgid "" "\n" "Role used to identify an authenticated user as administrator.\n" "\n" "Provide a string value representing a Keystone role to identify an\n" "administrative user. Users with this role will be granted\n" "administrative privileges. The default value for this option is\n" "'admin'.\n" "\n" "Possible values:\n" " * A string value which is a valid Keystone role\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/registry/client/v1/api.py:35 glance/scrubber.py:130 msgid "" "\n" "Send headers received from identity when making requests to\n" "registry.\n" "\n" "Typically, Glance registry can be deployed in multiple flavors,\n" "which may or may not include authentication. For example,\n" "``trusted-auth`` is a flavor that does not require the registry\n" "service to authenticate the requests it receives. However, the\n" "registry service may still need a user context to be populated to\n" "serve the requests. This can be achieved by the caller\n" "(the Glance API usually) passing through the headers it received\n" "from authenticating with identity for the same request. The typical\n" "headers sent are ``X-User-Id``, ``X-Tenant-Id``, ``X-Roles``,\n" "``X-Identity-Status`` and ``X-Service-Catalog``.\n" "\n" "Provide a boolean value to determine whether to send the identity\n" "headers to provide tenant and user information along with the\n" "requests to registry service. By default, this option is set to\n" "``False``, which means that user and tenant information is not\n" "available readily. It must be obtained by authenticating. Hence, if\n" "this is set to ``False``, ``flavor`` must be set to value that\n" "either includes authentication or authenticated user context.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * flavor\n" "\n" msgstr "" #: glance/scrubber.py:165 msgid "" "\n" "Time interval, in seconds, between scrubber runs in daemon mode.\n" "\n" "Scrubber can be run either as a cron job or daemon. When run as a daemon," " this\n" "configuration time specifies the time period between two runs. When the\n" "scrubber wakes up, it fetches and scrubs all ``pending_delete`` images " "that\n" "are available for scrubbing after taking ``scrub_time`` into " "consideration.\n" "\n" "If the wakeup time is set to a large number, there may be a large number " "of\n" "images to be scrubbed for each run. Also, this impacts how quickly the " "backend\n" "storage is reclaimed.\n" "\n" "Possible values:\n" " * Any non-negative integer\n" "\n" "Related options:\n" " * ``daemon``\n" " * ``delayed_delete``\n" "\n" msgstr "" #: glance/scrubber.py:191 msgid "" "\n" "Run scrubber as a daemon.\n" "\n" "This boolean configuration option indicates whether scrubber should\n" "run as a long-running process that wakes up at regular intervals to\n" "scrub images. The wake up interval can be specified using the\n" "configuration option ``wakeup_time``.\n" "\n" "If this configuration option is set to ``False``, which is the\n" "default value, scrubber runs once to scrub images and exits. In this\n" "case, if the operator wishes to implement continuous scrubbing of\n" "images, scrubber needs to be scheduled as a cron job.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * ``wakeup_time``\n" "\n" msgstr "" #: glance/api/authorization.py:117 msgid "Only shared images have members." msgstr "" #: glance/api/authorization.py:141 glance/api/authorization.py:152 #, python-format msgid "You cannot get image member for %s" msgstr "" #: glance/api/authorization.py:160 #, python-format msgid "You cannot delete image member for %s" msgstr "" #: glance/api/authorization.py:169 #, python-format msgid "You cannot add image member for %s" msgstr "" #: glance/api/authorization.py:178 #, python-format msgid "You cannot update image member %s" msgstr "" #: glance/api/authorization.py:197 #, python-format msgid "You are not permitted to create images owned by '%s'." msgstr "" #: glance/api/authorization.py:220 msgid "You are not permitted to create image members for the image." msgstr "" #: glance/api/authorization.py:239 #, python-format msgid "You are not permitted to modify '%(attr)s' on this %(resource)s." msgstr "" #: glance/api/authorization.py:249 msgid "You are not permitted to modify locations for this image." msgstr "" #: glance/api/authorization.py:273 #, python-format msgid "You are not permitted to modify '%s' on this image." msgstr "" #: glance/api/authorization.py:277 msgid "You are not permitted to modify this image." msgstr "" #: glance/api/authorization.py:290 msgid "You are not permitted to modify tags on this image." msgstr "" #: glance/api/authorization.py:330 msgid "You are not permitted to delete this image." msgstr "" #: glance/api/authorization.py:337 msgid "You are not permitted to upload data for this image." msgstr "" #: glance/api/authorization.py:341 msgid "You are not permitted to deactivate this image." msgstr "" #: glance/api/authorization.py:345 msgid "You are not permitted to reactivate this image." msgstr "" #: glance/api/authorization.py:382 glance/api/authorization.py:386 #: glance/api/authorization.py:390 msgid "You are not permitted to set status on this task." msgstr "" #: glance/api/authorization.py:449 #, python-format msgid "You are not permitted to create this task with owner as: %s" msgstr "" #: glance/api/authorization.py:514 msgid "You are not permitted to delete this namespace." msgstr "" #: glance/api/authorization.py:518 msgid "You are not permitted to update this namespace." msgstr "" #: glance/api/authorization.py:544 #, python-format msgid "You are not permitted to create namespace owned by '%s'" msgstr "" #: glance/api/authorization.py:603 msgid "You are not permitted to delete this object." msgstr "" #: glance/api/authorization.py:607 msgid "You are not permitted to update this object." msgstr "" #: glance/api/authorization.py:632 #, python-format msgid "You are not permitted to create object owned by '%s'" msgstr "" #: glance/api/authorization.py:695 msgid "You are not permitted to delete this meta_resource_type." msgstr "" #: glance/api/authorization.py:721 #, python-format msgid "You are not permitted to create resource_type owned by '%s'" msgstr "" #: glance/api/authorization.py:779 msgid "You are not permitted to delete this property." msgstr "" #: glance/api/authorization.py:783 msgid "You are not permitted to update this property." msgstr "" #: glance/api/authorization.py:808 #, python-format msgid "You are not permitted to create property owned by '%s'" msgstr "" #: glance/api/authorization.py:866 msgid "You are not permitted to delete this tag." msgstr "" #: glance/api/authorization.py:870 msgid "You are not permitted to update this tag." msgstr "" #: glance/api/authorization.py:891 msgid "Owner must be specified to create a tag." msgstr "" #: glance/api/authorization.py:894 #, python-format msgid "You are not permitted to create a tag in the namespace owned by '%s'" msgstr "" #: glance/api/common.py:65 #, python-format msgid "Corrupt image download for image %(image_id)s" msgstr "" #: glance/api/policy.py:159 glance/quota/__init__.py:363 #, python-format msgid "Invalid locations: %s" msgstr "" #: glance/api/glare/versions.py:35 glance/api/versions.py:35 msgid "" "\n" "Public url endpoint to use for Glance/Glare versions response.\n" "\n" "This is the public url endpoint that will appear in the Glance/Glare\n" "\"versions\" response. If no value is specified, the endpoint that is\n" "displayed in the version's response is that of the host running the\n" "API service. Change the endpoint to represent the proxy URL if the\n" "API service is running behind a proxy. If the service is running\n" "behind a load balancer, add the load balancer's URL for this value.\n" "\n" "Possible values:\n" " * None\n" " * Proxy URL\n" " * Load balancer URL\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/api/glare/v0_1/glare.py:121 #, python-format msgid "The format of the version %s is not valid. Use semver notation" msgstr "" #: glance/api/glare/v0_1/glare.py:188 #, python-format msgid "Invalid Content-Type for work with %s" msgstr "" #: glance/api/glare/v0_1/glare.py:225 msgid "Invalid request PATCH for work with blob" msgstr "" #: glance/api/glare/v0_1/glare.py:239 #, python-format msgid "Denying attempt to upload artifact because it exceeds the quota: %s" msgstr "" #: glance/api/glare/v0_1/glare.py:263 #, python-format msgid "Failed to find artifact %(artifact_id)s to delete" msgstr "" #: glance/api/glare/v0_1/glare.py:267 #, python-format msgid "Artifact %s could not be deleted because it is in use: %s" msgstr "" #: glance/api/glare/v0_1/glare.py:296 msgid "Unable to PUT to non-empty collection" msgstr "" #: glance/api/glare/v0_1/glare.py:299 msgid "Index is out of range" msgstr "" #: glance/api/glare/v0_1/glare.py:322 #, python-format msgid "Not a blob property '%s'" msgstr "" #: glance/api/glare/v0_1/glare.py:330 #, python-format msgid "Not a list property '%s'" msgstr "" #: glance/api/glare/v0_1/glare.py:344 msgid "Error in store configuration. Adding artifacts to store is disabled." msgstr "" #: glance/api/glare/v0_1/glare.py:366 #, python-format msgid "Artifact storage media is full: %s" msgstr "" #: glance/api/glare/v0_1/glare.py:374 #, python-format msgid "Artifact exceeds the storage quota: %s" msgstr "" #: glance/api/glare/v0_1/glare.py:382 #, python-format msgid "The incoming artifact blob is too large: %s" msgstr "" #: glance/api/glare/v0_1/glare.py:390 #, python-format msgid "Insufficient permissions on artifact storage media: %s" msgstr "" #: glance/api/glare/v0_1/glare.py:423 msgid "Index is required" msgstr "" #: glance/api/glare/v0_1/glare.py:431 msgid "Not a list property" msgstr "" #: glance/api/glare/v0_1/glare.py:435 msgid "Not a downloadable entity" msgstr "" #: glance/api/glare/v0_1/glare.py:529 glance/api/v2/image_members.py:253 #: glance/api/v2/images.py:381 glance/api/v2/metadef_namespaces.py:415 #: glance/api/v2/metadef_objects.py:244 glance/api/v2/metadef_properties.py:192 #: glance/api/v2/metadef_resource_types.py:151 #: glance/api/v2/metadef_tags.py:282 glance/api/v2/tasks.py:152 #: glance/tests/functional/v2/test_metadef_resourcetypes.py:145 msgid "Body expected in request." msgstr "" #: glance/api/glare/v0_1/glare.py:577 #, python-format msgid "Invalid headers \"Content-Type\": %s" msgstr "" #: glance/api/glare/v0_1/glare.py:615 #, python-format msgid "Invalid json body: %s" msgstr "" #: glance/api/glare/v0_1/glare.py:628 msgid "Only list indexes are allowed for blob lists" msgstr "" #: glance/api/glare/v0_1/glare.py:649 msgid "Limit param must be an integer" msgstr "" #: glance/api/glare/v0_1/glare.py:653 msgid "Limit param must be positive" msgstr "" #: glance/api/glare/v0_1/glare.py:657 #, python-format msgid "Limit param must not be higher than %d" msgstr "" #: glance/api/glare/v0_1/glare.py:667 #, python-format msgid "" "Invalid sort key: %(sort_key)s. If type version is not set it must be one" " of the following: %(available)s." msgstr "" #: glance/api/glare/v0_1/glare.py:678 #, python-format msgid "Invalid sort key: %(sort_key)s. You cannot sort by this property" msgstr "" #: glance/api/glare/v0_1/glare.py:687 glance/api/v2/images.py:620 #: glance/api/v2/metadef_namespaces.py:452 glance/api/v2/metadef_objects.py:290 #: glance/api/v2/metadef_tags.py:288 glance/api/v2/tasks.py:158 #, python-format msgid "Invalid sort direction: %s" msgstr "" #: glance/api/middleware/context.py:29 msgid "" "\n" "Set the image owner to tenant or the authenticated user.\n" "\n" "Assign a boolean value to determine the owner of an image. When set to\n" "True, the owner of the image is the tenant. When set to False, the\n" "owner of the image will be the authenticated user issuing the request.\n" "Setting it to False makes the image private to the associated user and\n" "sharing with other users within the same tenant (or \"project\")\n" "requires explicit image sharing via image membership.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/api/middleware/context.py:66 msgid "" "\n" "Allow limited access to unauthenticated users.\n" "\n" "Assign a boolean to determine API access for unathenticated\n" "users. When set to False, the API cannot be accessed by\n" "unauthenticated users. When set to True, unauthenticated users can\n" "access the API with read-only privileges. This however only applies\n" "when using ContextMiddleware.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/api/middleware/context.py:85 msgid "" "\n" "Limit the request ID length.\n" "\n" "Provide an integer value to limit the length of the request ID to\n" "the specified length. The default value is 64. Users can change this\n" "to any ineteger value between 0 and 16384 however keeping in mind that\n" "a larger value may flood the logs.\n" "\n" "Possible values:\n" " * Integer value between 0 and 16384\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/api/middleware/context.py:170 msgid "Invalid service catalog json." msgstr "" #: glance/api/middleware/context.py:175 #, python-format msgid "x-openstack-request-id is too long, max size %s" msgstr "" #: glance/api/v1/controller.py:44 glance/api/v1/members.py:81 #, python-format msgid "Image with identifier %s not found" msgstr "" #: glance/api/v1/controller.py:49 msgid "Forbidden image access" msgstr "" #: glance/api/v1/controller.py:61 #, python-format msgid "Image %s is deactivated" msgstr "" #: glance/api/v1/controller.py:66 #, python-format msgid "Image %s is not active" msgstr "" #: glance/api/v1/controller.py:88 #, python-format msgid "Store for image_id not found: %s" msgstr "" #: glance/api/v1/controller.py:93 #, python-format msgid "Data for image_id not found: %s" msgstr "" #: glance/api/v1/images.py:87 #, python-format msgid "Invalid time format for %s." msgstr "" #: glance/api/v1/images.py:102 #, python-format msgid "Invalid disk format '%s' for image." msgstr "" #: glance/api/v1/images.py:107 #, python-format msgid "Invalid container format '%s' for image." msgstr "" #: glance/api/v1/images.py:117 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:132 #, python-format msgid "Image name too long: %d" msgstr "" #: glance/api/v1/images.py:139 #, python-format msgid "Invalid checksum '%s': can't exceed 32 characters" msgstr "" #: glance/api/v1/images.py:217 #, python-format msgid "" "The limit has been exceeded on the number of allowed image properties. " "Attempted: %(num)s, Maximum: %(quota)s" msgstr "" #: glance/api/v1/images.py:239 glance/api/v1/images.py:283 #: glance/api/v1/images.py:317 #, python-format msgid "Property '%s' is protected" msgstr "" #: glance/api/v1/images.py:388 msgid "This operation is currently not permitted on Glance images details." msgstr "" #: glance/api/v1/images.py:441 #, python-format msgid "Bad value passed to filter %(filter)s got %(val)s" msgstr "" #: glance/api/v1/images.py:477 #, python-format msgid "External sources are not supported: '%s'" msgstr "" #: glance/api/v1/images.py:479 msgid "External source should not be empty" msgstr "" #: glance/api/v1/images.py:579 #, python-format msgid "Required store %s is invalid" msgstr "" #: glance/api/v1/images.py:592 #, python-format msgid "Invalid location %s" msgstr "" #: glance/api/v1/images.py:614 #, python-format msgid "An image with identifier %s already exists" msgstr "" #: glance/api/v1/images.py:621 #, python-format msgid "Failed to reserve image. Got error: %s" msgstr "" #: glance/api/v1/images.py:628 msgid "Forbidden to reserve image." msgstr "" #: glance/api/v1/images.py:672 msgid "Content-Type must be application/octet-stream" msgstr "" #: glance/api/v1/images.py:729 #, python-format msgid "Failed to activate image. Got error: %s" msgstr "" #: glance/api/v1/images.py:801 msgid "It's invalid to provide multiple image sources." msgstr "" #: glance/api/v1/images.py:836 #, python-format msgid "" "Provided image size must match the stored image size. (provided size: " "%(ps)d, stored size: %(ss)d)" msgstr "" #: glance/api/v1/images.py:855 msgid "Disk format is not specified." msgstr "" #: glance/api/v1/images.py:860 msgid "Container format is not specified." msgstr "" #: glance/api/v1/images.py:966 msgid "Forbidden to update deleted image." msgstr "" #: glance/api/v1/images.py:978 #, python-format msgid "Forbidden to modify '%(key)s' of %(status)s image." msgstr "" #: glance/api/v1/images.py:987 #, python-format msgid "Forbidden to modify '%s' of image." msgstr "" #: glance/api/v1/images.py:1005 msgid "Cannot upload to an unqueued image" msgstr "" #: glance/api/v1/images.py:1023 glance/common/scripts/utils.py:87 #, python-format msgid "Invalid location: %s" msgstr "" #: glance/api/v1/images.py:1030 msgid "Attempted to update Location field for an image not in queued status." msgstr "" #: glance/api/v1/images.py:1070 glance/registry/api/v1/images.py:504 #, python-format msgid "Failed to update image metadata. Got error: %s" msgstr "" #: glance/api/v1/images.py:1077 #, python-format msgid "Failed to find image to update: %s" msgstr "" #: glance/api/v1/images.py:1084 #, python-format msgid "Forbidden to update image: %s" msgstr "" #: glance/api/v1/images.py:1092 msgid "Image operation conflicts" msgstr "" #: glance/api/v1/images.py:1123 msgid "Image is protected" msgstr "" #: glance/api/v1/images.py:1130 #, python-format msgid "Forbidden to delete a %s image." msgstr "" #: glance/api/v1/images.py:1137 glance/api/v2/image_members.py:68 #: glance/api/v2/image_tags.py:53 glance/api/v2/image_tags.py:82 #, python-format msgid "Image %s not found." msgstr "" #: glance/api/v1/images.py:1172 #, python-format msgid "Failed to find image to delete: %s" msgstr "" #: glance/api/v1/images.py:1179 #, python-format msgid "Forbidden to delete image: %s" msgstr "" #: glance/api/v1/images.py:1186 glance/api/v2/images.py:247 #, python-format msgid "Image %(id)s could not be deleted because it is in use: %(exc)s" msgstr "" #: glance/api/v1/images.py:1210 #, python-format msgid "Store for scheme %s not found" msgstr "" #: glance/api/v1/images.py:1249 glance/api/v1/upload_utils.py:246 #, python-format msgid "Denying attempt to upload image larger than %d bytes." msgstr "" #: glance/api/v1/members.py:42 glance/registry/api/v1/members.py:34 msgid "No authenticated user" msgstr "" #: glance/api/v1/members.py:55 #, python-format msgid "Image with identifier %s has been deleted." msgstr "" #: glance/api/v1/members.py:85 msgid "Unauthorized image access" msgstr "" #: glance/api/v1/members.py:123 glance/common/exception.py:296 #, python-format msgid "" "The limit has been exceeded on the number of allowed image members for " "this image. Attempted: %(attempted)s, Maximum: %(maximum)s" msgstr "" #: glance/api/v1/upload_utils.py:131 #, 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:179 #, 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:195 glance/api/v2/image_data.py:177 msgid "Error in store configuration. Adding images to store is disabled." msgstr "" #: glance/api/v1/upload_utils.py:204 #, python-format msgid "Attempt to upload duplicate image: %s" msgstr "" #: glance/api/v1/upload_utils.py:216 #, python-format msgid "Forbidden upload attempt: %s" msgstr "" #: glance/api/v1/upload_utils.py:256 glance/api/v2/images.py:160 #, python-format msgid "Denying attempt to upload image because it exceeds the quota: %s" msgstr "" #: glance/api/v1/upload_utils.py:277 msgid "Client disconnected before sending all data to backend" msgstr "" #: glance/api/v1/upload_utils.py:285 #, python-format msgid "Failed to upload image %s" msgstr "" #: glance/api/v2/image_data.py:141 #, python-format msgid "" "Image %s could not be found after upload. The image may have been deleted" " during the upload, cleaning up the chunks uploaded." msgstr "" #: glance/api/v2/image_data.py:156 #, python-format msgid "" "Authentication error - the token may have expired during file upload. " "Deleting image data for %s." msgstr "" #: glance/api/v2/image_data.py:207 #, python-format msgid "Image exceeds the storage quota: %s" msgstr "" #: glance/api/v2/image_data.py:215 #, python-format msgid "The incoming image is too large: %s" msgstr "" #: glance/api/v2/image_data.py:258 msgid "" "The requested image has been deactivated. Image data download is " "forbidden." msgstr "" #: glance/api/v2/image_members.py:57 #, python-format msgid "Error fetching members of image %(image_id)s: %(inner_msg)s" msgstr "" #: glance/api/v2/image_members.py:72 #, python-format msgid "You are not authorized to lookup image %s." msgstr "" #: glance/api/v2/image_members.py:81 #, python-format msgid "%(m_id)s not found in the member list of the image %(i_id)s." msgstr "" #: glance/api/v2/image_members.py:87 #, python-format msgid "You are not authorized to lookup the members of the image %s." msgstr "" #: glance/api/v2/image_members.py:120 #, python-format msgid "Not allowed to create members for image %s." msgstr "" #: glance/api/v2/image_members.py:124 #, python-format msgid "Member %(member_id)s is duplicated for image %(image_id)s" msgstr "" #: glance/api/v2/image_members.py:130 #, python-format msgid "Image member limit exceeded for image %(id)s: %(e)s:" msgstr "" #: glance/api/v2/image_members.py:162 #, python-format msgid "Not allowed to update members for image %s." msgstr "" #: glance/api/v2/image_members.py:166 #, python-format msgid "Incorrect request: %s" msgstr "" #: glance/api/v2/image_members.py:198 #, python-format msgid "Not allowed to list members for image %s." msgstr "" #: glance/api/v2/image_members.py:240 #, python-format msgid "Not allowed to delete members for image %s." msgstr "" #: glance/api/v2/image_members.py:264 msgid "Member to be added not specified" msgstr "" #: glance/api/v2/image_members.py:267 msgid "Member can't be empty" msgstr "" #: glance/api/v2/image_members.py:270 msgid "Expected a member in the form: {\"member\": \"image_id\"}" msgstr "" #: glance/api/v2/image_members.py:280 msgid "Status not specified" msgstr "" #: glance/api/v2/image_members.py:283 msgid "Expected a status in the form: {\"status\": \"status\"}" msgstr "" #: glance/api/v2/image_members.py:339 msgid "An identifier for the image member (tenantId)" msgstr "" #: glance/api/v2/image_members.py:343 glance/api/v2/images.py:850 msgid "An identifier for the image" msgstr "" #: glance/api/v2/image_members.py:349 msgid "Date and time of image member creation" msgstr "" #: glance/api/v2/image_members.py:356 msgid "Date and time of last modification of image member" msgstr "" #: glance/api/v2/image_members.py:361 msgid "The status of this image member" msgstr "" #: glance/api/v2/image_tags.py:57 #, python-format msgid "Not allowed to update tags for image %s." msgstr "" #: glance/api/v2/image_tags.py:61 #, python-format msgid "Could not update image: %s" msgstr "" #: glance/api/v2/image_tags.py:66 #, python-format msgid "Image tag limit exceeded for image %(id)s: %(e)s:" msgstr "" #: glance/api/v2/image_tags.py:86 #, python-format msgid "Not allowed to delete tags for image %s." msgstr "" #: glance/api/v2/images.py:179 msgid "Cannot set locations to empty list." msgstr "" #: glance/api/v2/images.py:184 msgid "Owner can't be updated by non admin." msgstr "" #: glance/api/v2/images.py:192 glance/api/v2/images.py:228 #, python-format msgid "Property %s does not exist." msgstr "" #: glance/api/v2/images.py:206 #, python-format msgid "Property %s already present." msgstr "" #: glance/api/v2/images.py:223 #, python-format msgid "Property %s may not be removed." msgstr "" #: glance/api/v2/images.py:242 #, python-format msgid "Failed to find image %(image_id)s to delete" msgstr "" #: glance/api/v2/images.py:274 msgid "It's not allowed to update locations if locations are invisible." msgstr "" #: glance/api/v2/images.py:279 #, python-format msgid "It's not allowed to replace locations if image status is %s." msgstr "" #: glance/api/v2/images.py:295 msgid "It's not allowed to add locations if locations are invisible." msgstr "" #: glance/api/v2/images.py:300 #, python-format msgid "It's not allowed to add locations if image status is %s." msgstr "" #: glance/api/v2/images.py:307 msgid "Invalid position for adding a location." msgstr "" #: glance/api/v2/images.py:321 msgid "It's not allowed to remove locations if locations are invisible." msgstr "" #: glance/api/v2/images.py:326 #, python-format msgid "It's not allowed to remove locations if image status is %s." msgstr "" #: glance/api/v2/images.py:333 msgid "Cannot remove last location in the image." msgstr "" #: glance/api/v2/images.py:338 msgid "Invalid position for removing a location." msgstr "" #: glance/api/v2/images.py:389 glance/api/v2/images.py:503 #: glance/api/v2/metadef_namespaces.py:423 glance/api/v2/metadef_objects.py:321 #: glance/api/v2/metadef_properties.py:200 #: glance/api/v2/metadef_resource_types.py:159 #: glance/api/v2/metadef_tags.py:359 #: glance/tests/functional/v2/test_metadef_resourcetypes.py:153 #, python-format msgid "Attribute '%s' is read-only." msgstr "" #: glance/api/v2/images.py:419 #, python-format msgid "" "Unable to find `op` in JSON Schema change. It must be one of the " "following: %(available)s." msgstr "" #: glance/api/v2/images.py:424 #, python-format msgid "" "Invalid operation: `%(op)s`. It must be one of the following: " "%(available)s." msgstr "" #: glance/api/v2/images.py:436 msgid "" "Operation objects must contain only one member named \"add\", \"remove\"," " or \"replace\"." msgstr "" #: glance/api/v2/images.py:441 msgid "" "Operation objects must contain exactly one member named \"add\", " "\"remove\", or \"replace\"." msgstr "" #: glance/api/v2/images.py:450 #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "" #: glance/api/v2/images.py:478 #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "" #: glance/api/v2/images.py:481 #, python-format msgid "Pointer `%s` contains adjacent \"/\"." msgstr "" #: glance/api/v2/images.py:484 #, python-format msgid "Pointer `%s` end with \"/\"." msgstr "" #: glance/api/v2/images.py:487 #, python-format msgid "Pointer `%s` does not contains valid token." msgstr "" #: glance/api/v2/images.py:490 #, python-format msgid "Pointer `%s` contains \"~\" not part of a recognized escape sequence." msgstr "" #: glance/api/v2/images.py:496 #, python-format msgid "Operation \"%s\" requires a member named \"value\"." msgstr "" #: glance/api/v2/images.py:506 #, python-format msgid "Attribute '%s' is reserved." msgstr "" #: glance/api/v2/images.py:536 #, python-format msgid "Invalid JSON pointer for this resource: '/%s'" msgstr "" #: glance/api/v2/images.py:548 msgid "Unrecognized JSON Schema draft version" msgstr "" #: glance/api/v2/images.py:570 msgid "Request body must be a JSON array of operation objects." msgstr "" #: glance/api/v2/images.py:575 msgid "Operations must be JSON objects." msgstr "" #: glance/api/v2/images.py:599 glance/api/v2/metadef_namespaces.py:470 #: glance/api/v2/metadef_objects.py:308 glance/api/v2/metadef_tags.py:306 #: glance/api/v2/tasks.py:188 glance/registry/api/v1/images.py:289 msgid "limit param must be an integer" msgstr "" #: glance/api/v2/images.py:603 glance/api/v2/metadef_namespaces.py:474 #: glance/api/v2/metadef_objects.py:312 glance/api/v2/metadef_tags.py:310 #: glance/api/v2/tasks.py:192 glance/registry/api/v1/images.py:292 msgid "limit param must be positive" msgstr "" #: glance/api/v2/images.py:610 #, python-format msgid "" "Invalid sort key: %(sort_key)s. It must be one of the following: " "%(available)s." msgstr "" #: glance/api/v2/images.py:627 #, python-format msgid "Invalid status: %s" msgstr "" #: glance/api/v2/images.py:636 glance/api/v2/metadef_namespaces.py:461 #: glance/api/v2/metadef_objects.py:299 glance/api/v2/metadef_tags.py:297 #, python-format msgid "Invalid visibility value: %s" msgstr "" #: glance/api/v2/images.py:640 msgid "The \"changes-since\" filter is no longer available on v2." msgstr "" #: glance/api/v2/images.py:659 msgid "Old and new sorting syntax cannot be combined" msgstr "" #: glance/api/v2/images.py:690 msgid "Number of sort dirs does not match the number of sort keys" msgstr "" #: glance/api/v2/images.py:856 msgid "Descriptive name for the image" msgstr "" #: glance/api/v2/images.py:862 msgid "Status of the image" msgstr "" #: glance/api/v2/images.py:868 msgid "Scope of image accessibility" msgstr "" #: glance/api/v2/images.py:873 msgid "If true, image will not be deletable." msgstr "" #: glance/api/v2/images.py:878 msgid "md5 hash of image contents." msgstr "" #: glance/api/v2/images.py:883 msgid "Owner of the image" msgstr "" #: glance/api/v2/images.py:889 msgid "Size of image file in bytes" msgstr "" #: glance/api/v2/images.py:894 msgid "Virtual size of image in bytes" msgstr "" #: glance/api/v2/images.py:898 msgid "Format of the container" msgstr "" #: glance/api/v2/images.py:903 msgid "Format of the disk" msgstr "" #: glance/api/v2/images.py:909 msgid "Date and time of image registration" msgstr "" #: glance/api/v2/images.py:918 msgid "Date and time of the last image modification" msgstr "" #: glance/api/v2/images.py:924 msgid "List of strings related to the image" msgstr "" #: glance/api/v2/images.py:933 msgid "URL to access the image file kept in external store" msgstr "" #: glance/api/v2/images.py:938 msgid "Amount of ram (in MB) required to boot image." msgstr "" #: glance/api/v2/images.py:942 msgid "Amount of disk space (in GB) required to boot image." msgstr "" #: glance/api/v2/images.py:948 msgid "An image self url" msgstr "" #: glance/api/v2/images.py:953 msgid "An image file url" msgstr "" #: glance/api/v2/images.py:958 msgid "An image schema url" msgstr "" #: glance/api/v2/images.py:975 msgid "A set of URLs to access the image file kept in external store" msgstr "" #: glance/api/v2/metadef_namespaces.py:167 #, python-format msgid "Couldn't create metadata namespace: %s" msgstr "" #: glance/api/v2/metadef_namespaces.py:293 #, python-format msgid "Couldn't update metadata namespace: %s" msgstr "" #: glance/api/v2/metadef_namespaces.py:684 msgid "The unique namespace text." msgstr "" #: glance/api/v2/metadef_namespaces.py:689 msgid "The user friendly name for the namespace. Used by UI if available." msgstr "" #: glance/api/v2/metadef_namespaces.py:695 msgid "Provides a user friendly description of the namespace." msgstr "" #: glance/api/v2/metadef_namespaces.py:701 msgid "Scope of namespace accessibility." msgstr "" #: glance/api/v2/metadef_namespaces.py:706 msgid "If true, namespace will not be deletable." msgstr "" #: glance/api/v2/metadef_namespaces.py:710 msgid "Owner of the namespace." msgstr "" #: glance/api/v2/metadef_namespaces.py:716 msgid "Date and time of namespace creation" msgstr "" #: glance/api/v2/metadef_namespaces.py:722 msgid "Date and time of the last namespace modification" msgstr "" #: glance/api/v2/metadef_objects.py:63 #, python-format msgid "Couldn't create metadata object: %s" msgstr "" #: glance/api/v2/metadef_objects.py:138 #, python-format msgid "Couldn't update metadata object: %s" msgstr "" #: glance/api/v2/metadef_objects.py:204 msgid "Date and time of object creation" msgstr "" #: glance/api/v2/metadef_objects.py:210 msgid "Date and time of the last object modification" msgstr "" #: glance/api/v2/metadef_properties.py:95 #, python-format msgid "" "Property %(property_name)s does not start with the expected resource type" " association prefix of '%(prefix)s'." msgstr "" #: glance/api/v2/metadef_properties.py:128 #, python-format msgid "Couldn't create metadata property: %s" msgstr "" #: glance/api/v2/metadef_properties.py:149 #, python-format msgid "Couldn't update metadata property: %s" msgstr "" #: glance/api/v2/metadef_resource_types.py:132 #: glance/tests/functional/v2/test_metadef_resourcetypes.py:126 #, python-format msgid "Failed to find resource type %(resourcetype)s to delete" msgstr "" #: glance/api/v2/metadef_resource_types.py:205 #: glance/tests/functional/v2/test_metadef_resourcetypes.py:200 msgid "" "Resource type names should be aligned with Heat resource types whenever " "possible: " "http://docs.openstack.org/developer/heat/template_guide/openstack.html" msgstr "" #: glance/api/v2/metadef_resource_types.py:213 #: glance/tests/functional/v2/test_metadef_resourcetypes.py:208 msgid "" "Specifies the prefix to use for the given resource type. Any properties " "in the namespace should be prefixed with this prefix when being applied " "to the specified resource type. Must include prefix separator (e.g. a " "colon :)." msgstr "" #: glance/api/v2/metadef_resource_types.py:222 #: glance/tests/functional/v2/test_metadef_resourcetypes.py:217 msgid "" "Some resource types allow more than one key / value pair per instance. " "For example, Cinder allows user and image metadata on volumes. Only the " "image properties metadata is evaluated by Nova (scheduling or drivers). " "This property allows a namespace target to remove the ambiguity." msgstr "" #: glance/api/v2/metadef_resource_types.py:234 #: glance/tests/functional/v2/test_metadef_resourcetypes.py:229 msgid "Date and time of resource type association" msgstr "" #: glance/api/v2/metadef_resource_types.py:240 #: glance/tests/functional/v2/test_metadef_resourcetypes.py:235 msgid "Date and time of the last resource type association modification" msgstr "" #: glance/api/v2/metadef_tags.py:64 #, python-format msgid "Couldn't create metadata tag: %s" msgstr "" #: glance/api/v2/metadef_tags.py:164 #, python-format msgid "Couldn't update metadata tag: %s" msgstr "" #: glance/api/v2/metadef_tags.py:211 msgid "Date and time of tag creation" msgstr "" #: glance/api/v2/metadef_tags.py:217 msgid "Date and time of the last tag modification" msgstr "" #: glance/api/v2/tasks.py:138 msgid "" "This operation is currently not permitted on Glance Tasks. They are auto " "deleted after reaching the time based on their expires_at property." msgstr "" #: glance/api/v2/tasks.py:167 #, python-format msgid "Invalid status value: %s" msgstr "" #: glance/api/v2/tasks.py:173 #, python-format msgid "Invalid type value: %s" msgstr "" #: glance/api/v2/tasks.py:180 glance/registry/api/v1/images.py:301 msgid "Invalid marker format" msgstr "" #: glance/api/v2/tasks.py:201 #, python-format msgid "Task '%s' is required" msgstr "" #: glance/api/v2/tasks.py:326 msgid "An identifier for the task" msgstr "" #: glance/api/v2/tasks.py:327 msgid "" "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0" "-9a-fA-F]){12}$" msgstr "" #: glance/api/v2/tasks.py:332 msgid "The type of task represented by this content" msgstr "" #: glance/api/v2/tasks.py:339 msgid "The current status of this task" msgstr "" #: glance/api/v2/tasks.py:349 msgid "The parameters required by task, JSON blob" msgstr "" #: glance/api/v2/tasks.py:353 msgid "The result of current task, JSON blob" msgstr "" #: glance/api/v2/tasks.py:357 msgid "An identifier for the owner of this task" msgstr "" #: glance/api/v2/tasks.py:361 msgid "" "Human-readable informative message only included when appropriate " "(usually on failure)" msgstr "" #: glance/api/v2/tasks.py:366 msgid "Datetime when this resource would be subject to removal" msgstr "" #: glance/api/v2/tasks.py:371 msgid "Datetime when this resource was created" msgstr "" #: glance/api/v2/tasks.py:375 msgid "Datetime when this resource was updated" msgstr "" #: glance/async/taskflow_executor.py:40 msgid "" "\n" "Set the taskflow engine mode.\n" "\n" "Provide a string type value to set the mode in which the taskflow\n" "engine would schedule tasks to the workers on the hosts. Based on\n" "this mode, the engine executes tasks either in single or multiple\n" "threads. The possible values for this configuration option are:\n" "``serial`` and ``parallel``. When set to ``serial``, the engine runs\n" "all the tasks in a single thread which results in serial execution\n" "of tasks. Setting this to ``parallel`` makes the engine run tasks in\n" "multiple threads. This results in parallel execution of tasks.\n" "\n" "Possible values:\n" " * serial\n" " * parallel\n" "\n" "Related options:\n" " * max_workers\n" "\n" msgstr "" #: glance/async/taskflow_executor.py:64 msgid "" "\n" "Set the number of engine executable tasks.\n" "\n" "Provide an integer value to limit the number of workers that can be\n" "instantiated on the hosts. In other words, this number defines the\n" "number of parallel tasks that can be executed at the same time by\n" "the taskflow engine. This value can be greater than one when the\n" "engine mode is set to parallel.\n" "\n" "Possible values:\n" " * Integer value greater than or equal to 1\n" "\n" "Related options:\n" " * engine_mode\n" "\n" msgstr "" #: glance/async/taskflow_executor.py:177 msgid "Task failed due to Internal Error" msgstr "" #: glance/async/flows/base_import.py:96 #, python-format msgid "" "%(task_id)s of %(task_type)s not configured properly. Missing work dir: " "%(work_dir)s" msgstr "" #: glance/async/flows/base_import.py:128 #, python-format msgid "" "%(task_id)s of %(task_type)s not configured properly. Could not load the " "filesystem store" msgstr "" #: glance/async/flows/base_import.py:171 #, python-format msgid "File %(path)s has invalid backing file %(bfile)s, aborting." msgstr "" #: glance/async/flows/base_import.py:373 #, python-format msgid "Error: %(exc_type)s: %(e)s" msgstr "" #: glance/async/flows/convert.py:38 msgid "" "\n" "Set the desired image conversion format.\n" "\n" "Provide a valid image format to which you want images to be\n" "converted before they are stored for consumption by Glance.\n" "Appropriate image format conversions are desirable for specific\n" "storage backends in order to facilitate efficient handling of\n" "bandwidth and usage of the storage infrastructure.\n" "\n" "By default, ``conversion_format`` is not set and must be set\n" "explicitly in the configuration file.\n" "\n" "The allowed values for this option are ``raw``, ``qcow2`` and\n" "``vmdk``. The ``raw`` format is the unstructured disk format and\n" "should be chosen when RBD or Ceph storage backends are used for\n" "image storage. ``qcow2`` is supported by the QEMU emulator that\n" "expands dynamically and supports Copy on Write. The ``vmdk`` is\n" "another common disk format supported by many common virtual machine\n" "monitors like VMWare Workstation.\n" "\n" "Possible values:\n" " * qcow2\n" " * raw\n" " * vmdk\n" "\n" "Related options:\n" " * disk_formats\n" "\n" msgstr "" #: glance/async/flows/ovf_process.py:108 msgid "OVA extract is limited to admin" msgstr "" #: glance/async/flows/ovf_process.py:149 msgid "Could not find OVF file in OVA archive file." msgstr "" #: glance/async/flows/ovf_process.py:201 msgid "Currently, OVA packages containing multiple disk are not supported." msgstr "" #: glance/cmd/__init__.py:41 #, python-format msgid "" "It appears that the eventlet module has been imported prior to setting " "%s='yes'. It is currently necessary to disable eventlet.greendns if using" " ipv6 since eventlet.greendns currently breaks with ipv6 addresses. " "Please ensure that eventlet is not imported prior to this being set." msgstr "" #: glance/cmd/control.py:104 #, python-format msgid "%(serv)s appears to already be running: %(pid)s" msgstr "" #: glance/cmd/control.py:108 #, python-format msgid "Removing stale pid file %s" msgstr "" #: glance/cmd/control.py:117 msgid "Unable to increase file descriptor limit. Running as non-root?" msgstr "" #: glance/cmd/control.py:164 #, python-format msgid "%(verb)sing %(serv)s with %(conf)s" msgstr "" #: glance/cmd/control.py:167 #, python-format msgid "%(verb)sing %(serv)s" msgstr "" #: glance/cmd/control.py:179 #, python-format msgid "unable to launch %(serv)s. Got error: %(e)s" msgstr "" #: glance/cmd/control.py:210 #, python-format msgid "%(serv)s (pid %(pid)s) is running..." msgstr "" #: glance/cmd/control.py:213 #, python-format msgid "%s is stopped" msgstr "" #: glance/cmd/control.py:229 #, python-format msgid "" "Unable to create pid file %(pid)s. Running as non-root?\n" "Falling back to a temp file, you can stop %(service)s service using:\n" " %(file)s %(server)s stop --pid-file %(fb)s" msgstr "" #: glance/cmd/control.py:246 #, python-format msgid "Reload of %(serv)s not supported" msgstr "" #: glance/cmd/control.py:254 #, python-format msgid "Server %(serv)s is stopped" msgstr "" #: glance/cmd/control.py:259 #, python-format msgid "Reloading %(serv)s (pid %(pid)s) with signal(%(sig)s)" msgstr "" #: glance/cmd/control.py:263 glance/cmd/control.py:285 #, python-format msgid "Process %d not running" msgstr "" #: glance/cmd/control.py:281 #, python-format msgid "Stopping %(serv)s (pid %(pid)s) with signal(%(sig)s)" msgstr "" #: glance/cmd/control.py:292 #, python-format msgid "Waited 15 seconds for pid %(pid)s (%(file)s) to die; giving up" msgstr "" #: glance/cmd/control.py:295 #, python-format msgid "%s is already stopped" msgstr "" #: glance/cmd/control.py:372 #, python-format msgid "Suppressed respawn as %(serv)s was %(rsn)s." msgstr "" #: glance/cmd/manage.py:86 msgid "" "Database is either not under migration control or under legacy migration " "control, please run \"glance-manage db sync\" to place the database under" " alembic migration control." msgstr "" #: glance/cmd/manage.py:105 msgid "Placed database under migration control at revision:" msgstr "" #: glance/cmd/manage.py:125 msgid "Upgraded database, current revision(s):" msgstr "" #: glance/cmd/manage.py:127 #, python-format msgid "Upgraded database to: %(v)s, current revision(s): %(r)s" msgstr "" #: glance/cmd/manage.py:134 glance/cmd/manage.py:156 glance/cmd/manage.py:193 msgid "Rolling upgrades are currently supported only for MySQL" msgstr "" #: glance/cmd/manage.py:140 msgid "Database expansion failed. Couldn't find head revision of expand branch." msgstr "" #: glance/cmd/manage.py:147 #, python-format msgid "" "Database expansion failed. Database expansion should have brought the " "database version up to \"%(e_rev)s\" revision. But, current revisions " "are: %(curr_revs)s " msgstr "" #: glance/cmd/manage.py:162 msgid "" "Database contraction failed. Couldn't find head revision of contract " "branch." msgstr "" #: glance/cmd/manage.py:169 msgid "" "Database contraction did not run. Database contraction cannot be run " "before database expansion. Run database expansion first using \"glance-" "manage db expand\"" msgstr "" #: glance/cmd/manage.py:175 msgid "" "Database contraction did not run. Database contraction cannot be run " "before data migration is complete. Run data migration using \"glance-" "manage db migrate\"." msgstr "" #: glance/cmd/manage.py:184 #, python-format msgid "" "Database contraction failed. Database contraction should have brought the" " database version up to \"%(e_rev)s\" revision. But, current revisions " "are: %(curr_revs)s " msgstr "" #: glance/cmd/manage.py:200 msgid "" "Data migration did not run. Data migration cannot be run before database " "expansion. Run database expansion first using \"glance-manage db expand\"" msgstr "" #: glance/cmd/manage.py:205 #, python-format msgid "Migrated %s rows" msgstr "" #: glance/cmd/manage.py:248 #, python-format msgid "Invalid int value for age_in_days: %(age_in_days)s" msgstr "" #: glance/cmd/manage.py:254 #, python-format msgid "Invalid int value for max_rows: %(max_rows)s" msgstr "" #: glance/cmd/manage.py:258 msgid "Must supply a non-negative value for age." msgstr "" #: glance/cmd/manage.py:260 msgid "Maximal age is count of days since epoch." msgstr "" #: glance/cmd/manage.py:262 msgid "Minimal rows limit is 1." msgstr "" #: glance/cmd/manage.py:425 msgid "Available categories:" msgstr "" #: glance/cmd/manage.py:427 #, python-format msgid "\t%s" msgstr "" #: glance/cmd/replicator.py:107 #, 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:335 glance/cmd/replicator.py:369 #: glance/cmd/replicator.py:455 glance/cmd/replicator.py:530 #: glance/cmd/replicator.py:608 msgid "Too few arguments." msgstr "" #: glance/cmd/replicator.py:351 #, python-format msgid "Total size is %(size)d bytes (%(human_size)s) across %(img_count)d images" msgstr "" #: glance/cmd/replicator.py:725 #, python-format msgid "Unknown command: %s" msgstr "" #: glance/common/auth.py:187 glance/common/auth.py:226 #, python-format msgid "Unexpected response: %s" msgstr "" #: glance/common/auth.py:254 #, python-format msgid "Unknown auth strategy '%s'" msgstr "" #: glance/common/client.py:244 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:252 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:261 #, python-format msgid "The key file you specified %s does not exist" msgstr "" #: glance/common/client.py:268 #, python-format msgid "The cert file you specified %s does not exist" msgstr "" #: glance/common/client.py:275 #, python-format msgid "The CA file you specified %s does not exist" msgstr "" #: glance/common/client.py:401 #, python-format msgid "Constructed URL: %s" msgstr "" #: glance/common/config.py:36 msgid "" "\n" "Deployment flavor to use in the server application pipeline.\n" "\n" "Provide a string value representing the appropriate deployment\n" "flavor used in the server application pipleline. This is typically\n" "the partial name of a pipeline in the paste configuration file with\n" "the service name removed.\n" "\n" "For example, if your paste section name in the paste configuration\n" "file is [pipeline:glance-api-keystone], set ``flavor`` to\n" "``keystone``.\n" "\n" "Possible values:\n" " * String value representing a partial pipeline name.\n" "\n" "Related Options:\n" " * config_file\n" "\n" msgstr "" #: glance/common/config.py:57 msgid "" "\n" "Name of the paste configuration file.\n" "\n" "Provide a string value representing the name of the paste\n" "configuration file to use for configuring piplelines for\n" "server application deployments.\n" "\n" "NOTES:\n" " * Provide the name or the path relative to the glance directory\n" " for the paste configuration file and not the absolute path.\n" " * The sample paste configuration file shipped with Glance need\n" " not be edited in most cases as it comes with ready-made\n" " pipelines for all common deployment flavors.\n" "\n" "If no value is specified for this option, the ``paste.ini`` file\n" "with the prefix of the corresponding Glance service's configuration\n" "file name will be searched for in the known configuration\n" "directories. (For example, if this option is missing from or has no\n" "value set in ``glance-api.conf``, the service will look for a file\n" "named ``glance-api-paste.ini``.) If the paste configuration file is\n" "not found, the service will not start.\n" "\n" "Possible values:\n" " * A string value representing the name of the paste configuration\n" " file.\n" "\n" "Related Options:\n" " * flavor\n" "\n" msgstr "" #: glance/common/config.py:91 msgid "Supported values for the 'container_format' image attribute" msgstr "" #: glance/common/config.py:98 msgid "Supported values for the 'disk_format' image attribute" msgstr "" #: glance/common/config.py:106 msgid "Time in hours for which a task lives after, either succeeding or failing" msgstr "" #: glance/common/config.py:112 msgid "" "\n" "Task executor to be used to run task scripts.\n" "\n" "Provide a string value representing the executor to use for task\n" "executions. By default, ``TaskFlow`` executor is used.\n" "\n" "``TaskFlow`` helps make task executions easy, consistent, scalable\n" "and reliable. It also enables creation of lightweight task objects\n" "and/or functions that are combined together into flows in a\n" "declarative manner.\n" "\n" "Possible values:\n" " * taskflow\n" "\n" "Related Options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:132 msgid "" "\n" "Absolute path to the work directory to use for asynchronous\n" "task operations.\n" "\n" "The directory set here will be used to operate over images -\n" "normally before they are imported in the destination store.\n" "\n" "NOTE: When providing a value for ``work_dir``, please make sure\n" "that enough space is provided for concurrent tasks to run\n" "efficiently without running out of space.\n" "\n" "A rough estimation can be done by multiplying the number of\n" "``max_workers`` with an average image size (e.g 500MB). The image\n" "size estimation should be done based on the average size in your\n" "deployment. Note that depending on the tasks running you may need\n" "to multiply this number by some factor depending on what the task\n" "does. For example, you may want to double the available size if\n" "image conversion is enabled. All this being said, remember these\n" "are just estimations and you should do them based on the worst\n" "case scenario and be prepared to act in case they were wrong.\n" "\n" "Possible values:\n" " * String value representing the absolute path to the working\n" " directory\n" "\n" "Related Options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:163 msgid "" "The Images (Glance) version 1 API has been DEPRECATED in the Newton " "release and will be removed on or after Pike release, following the " "standard OpenStack deprecation policy. Hence, the configuration options " "specific to the Images (Glance) v1 API are hereby deprecated and subject " "to removal. Operators are advised to deploy the Images (Glance) v2 API." msgstr "" #: glance/common/config.py:175 msgid "" "\n" "Allow users to add additional/custom properties to images.\n" "\n" "Glance defines a standard set of properties (in its schema) that\n" "appear on every image. These properties are also known as\n" "``base properties``. In addition to these properties, Glance\n" "allows users to add custom properties to images. These are known\n" "as ``additional properties``.\n" "\n" "By default, this configuration option is set to ``True`` and users\n" "are allowed to add additional properties. The number of additional\n" "properties that can be added to an image can be controlled via\n" "``image_property_quota`` configuration option.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * image_property_quota\n" "\n" msgstr "" #: glance/common/config.py:198 msgid "" "\n" "Maximum number of image members per image.\n" "\n" "This limits the maximum of users an image can be shared with. Any " "negative\n" "value is interpreted as unlimited.\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:209 msgid "" "\n" "Maximum number of properties allowed on an image.\n" "\n" "This enforces an upper limit on the number of additional properties an " "image\n" "can have. Any negative value is interpreted as unlimited.\n" "\n" "NOTE: This won't have any impact if additional properties are disabled. " "Please\n" "refer to ``allow_additional_image_properties``.\n" "\n" "Related options:\n" " * ``allow_additional_image_properties``\n" "\n" msgstr "" #: glance/common/config.py:223 msgid "" "\n" "Maximum number of tags allowed on an image.\n" "\n" "Any negative value is interpreted as unlimited.\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:233 msgid "" "\n" "Maximum number of locations allowed on an image.\n" "\n" "Any negative value is interpreted as unlimited.\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:254 msgid "" "\n" "Python module path of data access API.\n" "\n" "Specifies the path to the API to use for accessing the data model.\n" "This option determines how the image catalog data will be accessed.\n" "\n" "Possible values:\n" " * glance.db.sqlalchemy.api\n" " * glance.db.registry.api\n" " * glance.db.simple.api\n" "\n" "If this option is set to ``glance.db.sqlalchemy.api`` then the image\n" "catalog data is stored in and read from the database via the\n" "SQLAlchemy Core and ORM APIs.\n" "\n" "Setting this option to ``glance.db.registry.api`` will force all\n" "database access requests to be routed through the Registry service.\n" "This avoids data access from the Glance API nodes for an added layer\n" "of security, scalability and manageability.\n" "\n" "NOTE: In v2 OpenStack Images API, the registry service is optional.\n" "In order to use the Registry API in v2, the option\n" "``enable_v2_registry`` must be set to ``True``.\n" "\n" "Finally, when this configuration option is set to\n" "``glance.db.simple.api``, image catalog data is stored in and read\n" "from an in-memory data structure. This is primarily used for testing.\n" "\n" "Related options:\n" " * enable_v2_api\n" " * enable_v2_registry\n" "\n" msgstr "" #: glance/common/config.py:288 msgid "" "\n" "The default number of results to return for a request.\n" "\n" "Responses to certain API requests, like list images, may return\n" "multiple items. The number of results returned can be explicitly\n" "controlled by specifying the ``limit`` parameter in the API request.\n" "However, if a ``limit`` parameter is not specified, this\n" "configuration value will be used as the default number of results to\n" "be returned for any API request.\n" "\n" "NOTES:\n" " * The value of this configuration option may not be greater than\n" " the value specified by ``api_limit_max``.\n" " * Setting this to a very large value may slow down database\n" " queries and increase response times. Setting this to a\n" " very low value may result in poor user experience.\n" "\n" "Possible values:\n" " * Any positive integer\n" "\n" "Related options:\n" " * api_limit_max\n" "\n" msgstr "" #: glance/common/config.py:313 msgid "" "\n" "Maximum number of results that could be returned by a request.\n" "\n" "As described in the help text of ``limit_param_default``, some\n" "requests may return multiple results. The number of results to be\n" "returned are governed either by the ``limit`` parameter in the\n" "request or the ``limit_param_default`` configuration option.\n" "The value in either case, can't be greater than the absolute maximum\n" "defined by this configuration option. Anything greater than this\n" "value is trimmed down to the maximum value defined here.\n" "\n" "NOTE: Setting this to a very large value may slow down database\n" " queries and increase response times. Setting this to a\n" " very low value may result in poor user experience.\n" "\n" "Possible values:\n" " * Any positive integer\n" "\n" "Related options:\n" " * limit_param_default\n" "\n" msgstr "" #: glance/common/config.py:336 msgid "" "\n" "Show direct image location when returning an image.\n" "\n" "This configuration option indicates whether to show the direct image\n" "location when returning image details to the user. The direct image\n" "location is where the image data is stored in backend storage. This\n" "image location is shown under the image property ``direct_url``.\n" "\n" "When multiple image locations exist for an image, the best location\n" "is displayed based on the location strategy indicated by the\n" "configuration option ``location_strategy``.\n" "\n" "NOTES:\n" " * Revealing image locations can present a GRAVE SECURITY RISK as\n" " image locations can sometimes include credentials. Hence, this\n" " is set to ``False`` by default. Set this to ``True`` with\n" " EXTREME CAUTION and ONLY IF you know what you are doing!\n" " * If an operator wishes to avoid showing any image location(s)\n" " to the user, then both this option and\n" " ``show_multiple_locations`` MUST be set to ``False``.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * show_multiple_locations\n" " * location_strategy\n" "\n" msgstr "" #: glance/common/config.py:370 msgid "" "This option will be removed in the Pike release or later because the same" " functionality can be achieved with greater granularity by using " "policies. Please see the Newton release notes for more information." msgstr "" #: glance/common/config.py:377 msgid "" "\n" "Show all image locations when returning an image.\n" "\n" "This configuration option indicates whether to show all the image\n" "locations when returning image details to the user. When multiple\n" "image locations exist for an image, the locations are ordered based\n" "on the location strategy indicated by the configuration opt\n" "``location_strategy``. The image locations are shown under the\n" "image property ``locations``.\n" "\n" "NOTES:\n" " * Revealing image locations can present a GRAVE SECURITY RISK as\n" " image locations can sometimes include credentials. Hence, this\n" " is set to ``False`` by default. Set this to ``True`` with\n" " EXTREME CAUTION and ONLY IF you know what you are doing!\n" " * If an operator wishes to avoid showing any image location(s)\n" " to the user, then both this option and\n" " ``show_image_direct_url`` MUST be set to ``False``.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * show_image_direct_url\n" " * location_strategy\n" "\n" msgstr "" #: glance/common/config.py:407 msgid "" "\n" "Maximum size of image a user can upload in bytes.\n" "\n" "An image upload greater than the size mentioned here would result\n" "in an image creation failure. This configuration option defaults to\n" "1099511627776 bytes (1 TiB).\n" "\n" "NOTES:\n" " * This value should only be increased after careful\n" " consideration and must be set less than or equal to\n" " 8 EiB (9223372036854775808).\n" " * This value must be set with careful consideration of the\n" " backend storage capacity. Setting this to a very low value\n" " may result in a large number of image failures. And, setting\n" " this to a very large value may result in faster consumption\n" " of storage. Hence, this must be set according to the nature of\n" " images created and storage capacity available.\n" "\n" "Possible values:\n" " * Any positive number less than or equal to 9223372036854775808\n" "\n" msgstr "" #: glance/common/config.py:430 msgid "" "\n" "Maximum amount of image storage per tenant.\n" "\n" "This enforces an upper limit on the cumulative storage consumed by all " "images\n" "of a tenant across all stores. This is a per-tenant limit.\n" "\n" "The default unit for this configuration option is Bytes. However, storage" "\n" "units can be specified using case-sensitive literals ``B``, ``KB``, " "``MB``,\n" "``GB`` and ``TB`` representing Bytes, KiloBytes, MegaBytes, GigaBytes and" "\n" "TeraBytes respectively. Note that there should not be any space between " "the\n" "value and unit. Value ``0`` signifies no quota enforcement. Negative " "values\n" "are invalid and result in errors.\n" "\n" "Possible values:\n" " * A string that is a valid concatenation of a non-negative integer\n" " representing the storage value and an optional string literal\n" " representing storage units as mentioned above.\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:464 msgid "" "\n" "Deploy the v1 OpenStack Images API.\n" "\n" "When this option is set to ``True``, Glance service will respond to\n" "requests on registered endpoints conforming to the v1 OpenStack\n" "Images API.\n" "\n" "NOTES:\n" " * If this option is enabled, then ``enable_v1_registry`` must\n" " also be set to ``True`` to enable mandatory usage of Registry\n" " service with v1 API.\n" "\n" " * If this option is disabled, then the ``enable_v1_registry``\n" " option, which is enabled by default, is also recommended\n" " to be disabled.\n" "\n" " * This option is separate from ``enable_v2_api``, both v1 and v2\n" " OpenStack Images API can be deployed independent of each\n" " other.\n" "\n" " * If deploying only the v2 Images API, this option, which is\n" " enabled by default, should be disabled.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * enable_v1_registry\n" " * enable_v2_api\n" "\n" msgstr "" #: glance/common/config.py:498 msgid "" "The Images (Glance) version 1 API has been DEPRECATED in the Newton " "release. It will be removed on or after Pike release, following the " "standard OpenStack deprecation policy. Once we remove the Images (Glance)" " v1 API, only the Images (Glance) v2 API can be deployed and will be " "enabled by default making this option redundant." msgstr "" #: glance/common/config.py:508 msgid "" "\n" "Deploy the v2 OpenStack Images API.\n" "\n" "When this option is set to ``True``, Glance service will respond\n" "to requests on registered endpoints conforming to the v2 OpenStack\n" "Images API.\n" "\n" "NOTES:\n" " * If this option is disabled, then the ``enable_v2_registry``\n" " option, which is enabled by default, is also recommended\n" " to be disabled.\n" "\n" " * This option is separate from ``enable_v1_api``, both v1 and v2\n" " OpenStack Images API can be deployed independent of each\n" " other.\n" "\n" " * If deploying only the v1 Images API, this option, which is\n" " enabled by default, should be disabled.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * enable_v2_registry\n" " * enable_v1_api\n" "\n" msgstr "" #: glance/common/config.py:540 msgid "" "\n" "Deploy the v1 API Registry service.\n" "\n" "When this option is set to ``True``, the Registry service\n" "will be enabled in Glance for v1 API requests.\n" "\n" "NOTES:\n" " * Use of Registry is mandatory in v1 API, so this option must\n" " be set to ``True`` if the ``enable_v1_api`` option is enabled.\n" "\n" " * If deploying only the v2 OpenStack Images API, this option,\n" " which is enabled by default, should be disabled.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * enable_v1_api\n" "\n" msgstr "" #: glance/common/config.py:563 msgid "" "\n" "Deploy the v2 API Registry service.\n" "\n" "When this option is set to ``True``, the Registry service\n" "will be enabled in Glance for v2 API requests.\n" "\n" "NOTES:\n" " * Use of Registry is optional in v2 API, so this option\n" " must only be enabled if both ``enable_v2_api`` is set to\n" " ``True`` and the ``data_api`` option is set to\n" " ``glance.db.registry.api``.\n" "\n" " * If deploying only the v1 OpenStack Images API, this option,\n" " which is enabled by default, should be disabled.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * enable_v2_api\n" " * data_api\n" "\n" msgstr "" #: glance/common/config.py:589 msgid "" "\n" "Host address of the pydev server.\n" "\n" "Provide a string value representing the hostname or IP of the\n" "pydev server to use for debugging. The pydev server listens for\n" "debug connections on this address, facilitating remote debugging\n" "in Glance.\n" "\n" "Possible values:\n" " * Valid hostname\n" " * Valid IP address\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:607 msgid "" "\n" "Port number that the pydev server will listen on.\n" "\n" "Provide a port number to bind the pydev server to. The pydev\n" "process accepts debug connections on this port and facilitates\n" "remote debugging in Glance.\n" "\n" "Possible values:\n" " * A valid port number\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:623 msgid "" "\n" "AES key for encrypting store location metadata.\n" "\n" "Provide a string value representing the AES cipher to use for\n" "encrypting Glance store metadata.\n" "\n" "NOTE: The AES key to use must be set to a random string of length\n" "16, 24 or 32 bytes.\n" "\n" "Possible values:\n" " * String value representing a valid AES key\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:641 msgid "" "\n" "Digest algorithm to use for digital signature.\n" "\n" "Provide a string value representing the digest algorithm to\n" "use for generating digital signatures. By default, ``sha256``\n" "is used.\n" "\n" "To get a list of the available algorithms supported by the version\n" "of OpenSSL on your platform, run the command:\n" "``openssl list-message-digest-algorithms``.\n" "Examples are 'sha1', 'sha256', and 'sha512'.\n" "\n" "NOTE: ``digest_algorithm`` is not related to Glance's image signing\n" "and verification. It is only used to sign the universally unique\n" "identifier (UUID) as a part of the certificate file and key file\n" "validation.\n" "\n" "Possible values:\n" " * An OpenSSL message digest algorithm identifier\n" "\n" "Relation options:\n" " * None\n" "\n" msgstr "" #: glance/common/config.py:722 #, python-format msgid "Unable to locate paste config file for %s." msgstr "" #: glance/common/config.py:761 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" "Got: %(e)r" msgstr "" #: glance/common/exception.py:40 msgid "An unknown exception occurred" msgstr "" #: glance/common/exception.py:65 #, python-format msgid "Missing required credential: %(required)s" msgstr "" #: glance/common/exception.py:69 #, python-format msgid "" "Incorrect auth strategy, expected \"%(expected)s\" but received " "\"%(received)s\"" msgstr "" #: glance/common/exception.py:74 msgid "An object with the specified identifier was not found." 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 "An object with the same identifier is currently being operated on." msgstr "" #: glance/common/exception.py:91 #, python-format msgid "" "The size of the data %(image_size)s will exceed the limit. %(remaining)s " "bytes remaining." msgstr "" #: glance/common/exception.py:96 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" #: glance/common/exception.py:100 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" #: glance/common/exception.py:104 msgid "Authorization failed." msgstr "" #: glance/common/exception.py:108 msgid "You are not authenticated." msgstr "" #: glance/common/exception.py:112 #, python-format msgid "Image upload problem: %s" msgstr "" #: glance/common/exception.py:116 #, python-format msgid "You are not authorized to complete %(action)s action." msgstr "" #: glance/common/exception.py:120 glance/common/exception.py:406 msgid "You are not authorized to complete this action." msgstr "" #: glance/common/exception.py:124 #, python-format msgid "Image %(image_id)s is protected and cannot be deleted." msgstr "" #: glance/common/exception.py:128 #, python-format msgid "" "Metadata definition namespace %(namespace)s is protected and cannot be " "deleted." msgstr "" #: glance/common/exception.py:133 #, python-format msgid "" "Metadata definition property %(property_name)s is protected and cannot be" " deleted." msgstr "" #: glance/common/exception.py:138 #, python-format msgid "" "Metadata definition object %(object_name)s is protected and cannot be " "deleted." msgstr "" #: glance/common/exception.py:143 #, python-format msgid "" "Metadata definition resource-type-association %(resource_type)s is " "protected and cannot be deleted." msgstr "" #: glance/common/exception.py:148 #, python-format msgid "" "Metadata definition resource-type %(resource_type_name)s is a seeded-" "system type and cannot be deleted." msgstr "" #: glance/common/exception.py:153 #, python-format msgid "Metadata definition tag %(tag_name)s is protected and cannot be deleted." msgstr "" #: glance/common/exception.py:158 msgid "Data supplied was not valid." msgstr "" #: glance/common/exception.py:162 msgid "Sort key supplied was not valid." msgstr "" #: glance/common/exception.py:166 msgid "Sort direction supplied was not valid." msgstr "" #: glance/common/exception.py:170 msgid "Invalid configuration in property protection file." msgstr "" #: glance/common/exception.py:174 msgid "Invalid configuration in glance-swift conf file." msgstr "" #: glance/common/exception.py:178 msgid "Unable to filter using the specified operator." msgstr "" #: glance/common/exception.py:182 msgid "Unable to filter using the specified range." msgstr "" #: glance/common/exception.py:186 #, python-format msgid "Invalid value for option %(option)s: %(value)s" msgstr "" #: glance/common/exception.py:190 #, python-format msgid "Attribute '%(property)s' is read-only." msgstr "" #: glance/common/exception.py:194 #, python-format msgid "Attribute '%(property)s' is reserved." msgstr "" #: glance/common/exception.py:198 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" #: glance/common/exception.py:202 msgid "There was an error connecting to a server" msgstr "" #: glance/common/exception.py:206 msgid "There was an error configuring the client." msgstr "" #: glance/common/exception.py:210 #, 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:216 #, 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:227 msgid "" "The request returned 503 Service Unavailable. This generally occurs on " "service overload or other transient outage." msgstr "" #: glance/common/exception.py:238 msgid "The request returned 500 Internal Server Error." msgstr "" #: glance/common/exception.py:242 #, python-format msgid "" "The request returned an unexpected status: %(status)s.\n" "\n" "The response body:\n" "%(body)s" msgstr "" #: glance/common/exception.py:247 #, python-format msgid "Invalid content type %(content_type)s" msgstr "" #: glance/common/exception.py:251 #, python-format msgid "Registry was not configured correctly on API server. Reason: %(reason)s" msgstr "" #: glance/common/exception.py:256 #, python-format msgid "" "Driver %(driver_name)s could not be configured correctly. Reason: " "%(reason)s" msgstr "" #: glance/common/exception.py:261 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" #: glance/common/exception.py:265 msgid "Received invalid HTTP redirect." msgstr "" #: glance/common/exception.py:269 msgid "Response from Keystone does not contain a Glance endpoint." msgstr "" #: glance/common/exception.py:273 #, 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:279 #, python-format msgid "Server worker creation failed: %(reason)s." msgstr "" #: glance/common/exception.py:283 #, python-format msgid "Unable to load schema: %(reason)s" msgstr "" #: glance/common/exception.py:287 #, python-format msgid "Provided object does not match schema '%(schema)s': %(reason)s" msgstr "" #: glance/common/exception.py:292 msgid "The provided image is too large." msgstr "" #: glance/common/exception.py:302 #, python-format msgid "" "The limit has been exceeded on the number of allowed image properties. " "Attempted: %(attempted)s, Maximum: %(maximum)s" msgstr "" #: glance/common/exception.py:307 #, python-format msgid "" "The limit has been exceeded on the number of allowed image tags. " "Attempted: %(attempted)s, Maximum: %(maximum)s" msgstr "" #: glance/common/exception.py:312 #, python-format msgid "" "The limit has been exceeded on the number of allowed image locations. " "Attempted: %(attempted)s, Maximum: %(maximum)s" msgstr "" #: glance/common/exception.py:317 msgid "System SIGHUP signal received." msgstr "" #: glance/common/exception.py:321 #, python-format msgid "%(cls)s exception was raised in the last rpc call: %(val)s" msgstr "" #: glance/common/exception.py:325 msgid "An unknown task exception occurred" msgstr "" #: glance/common/exception.py:329 msgid "Task was not configured properly" msgstr "" #: glance/common/exception.py:333 #, python-format msgid "Image with the given id %(image_id)s was not found" msgstr "" #: glance/common/exception.py:337 #, python-format msgid "Task with the given id %(task_id)s was not found" msgstr "" #: glance/common/exception.py:341 #, python-format msgid "Provided status of task is unsupported: %(status)s" msgstr "" #: glance/common/exception.py:345 #, python-format msgid "Provided type of task is unsupported: %(type)s" msgstr "" #: glance/common/exception.py:349 #, python-format msgid "Status transition from %(cur_status)s to %(new_status)s is not allowed" msgstr "" #: glance/common/exception.py:354 msgid "An import task exception occurred" msgstr "" #: glance/common/exception.py:358 #, python-format msgid "The location %(location)s already exists" msgstr "" #: glance/common/exception.py:362 #, python-format msgid "Invalid value '%(value)s' for parameter '%(param)s': %(extra_msg)s" msgstr "" #: glance/common/exception.py:367 #, python-format msgid "" "Image status transition from %(cur_status)s to %(new_status)s is not " "allowed" msgstr "" #: glance/common/exception.py:372 #, python-format msgid "The metadata definition namespace=%(namespace_name)s already exists." msgstr "" #: glance/common/exception.py:377 #, python-format msgid "" "A metadata definition object with name=%(object_name)s already exists in " "namespace=%(namespace_name)s." msgstr "" #: glance/common/exception.py:382 #, python-format msgid "" "A metadata definition property with name=%(property_name)s already exists" " in namespace=%(namespace_name)s." msgstr "" #: glance/common/exception.py:387 #, python-format msgid "" "A metadata definition resource-type with name=%(resource_type_name)s " "already exists." msgstr "" #: glance/common/exception.py:392 #, python-format msgid "" "The metadata definition resource-type association of resource-" "type=%(resource_type_name)s to namespace=%(namespace_name)s already " "exists." msgstr "" #: glance/common/exception.py:399 #, python-format msgid "" "A metadata tag with name=%(name)s already exists in " "namespace=%(namespace_name)s. (Please note that metadata tag names are " "case insensitive)." msgstr "" #: glance/common/exception.py:410 #, python-format msgid "" "The metadata definition %(record_type)s with name=%(record_name)s not " "deleted. Other records still refer to it." msgstr "" #: glance/common/exception.py:416 #, python-format msgid "Metadata definition namespace=%(namespace_name)s was not found." msgstr "" #: glance/common/exception.py:421 #, python-format msgid "" "The metadata definition object with name=%(object_name)s was not found in" " namespace=%(namespace_name)s." msgstr "" #: glance/common/exception.py:427 #, python-format msgid "" "The metadata definition property with name=%(property_name)s was not " "found in namespace=%(namespace_name)s." msgstr "" #: glance/common/exception.py:433 #, python-format msgid "" "The metadata definition resource-type with name=%(resource_type_name)s, " "was not found." msgstr "" #: glance/common/exception.py:438 #, python-format msgid "" "The metadata definition resource-type association of resource-" "type=%(resource_type_name)s to namespace=%(namespace_name)s, was not " "found." msgstr "" #: glance/common/exception.py:445 #, python-format msgid "" "The metadata definition tag with name=%(name)s was not found in " "namespace=%(namespace_name)s." msgstr "" #: glance/common/exception.py:451 #, python-format msgid "Version is invalid: %(reason)s" msgstr "" #: glance/common/exception.py:455 msgid "Invalid property definition" msgstr "" #: glance/common/exception.py:459 msgid "Invalid type definition" msgstr "" #: glance/common/exception.py:463 #, python-format msgid "Property '%(name)s' may not have value '%(val)s': %(msg)s" msgstr "" #: glance/common/exception.py:473 #, python-format msgid "Artifact with id=%(id)s was not found" msgstr "" #: glance/common/exception.py:477 #, python-format msgid "Artifact with id=%(id)s is not accessible" msgstr "" #: glance/common/exception.py:481 msgid "Artifact with the specified type, name and version already exists" msgstr "" #: glance/common/exception.py:486 #, python-format msgid "Artifact cannot change state from %(source)s to %(target)s" msgstr "" #: glance/common/exception.py:490 #, python-format msgid "" "Artifact with the specified type, name and version already has the direct" " dependency=%(dep)s" msgstr "" #: glance/common/exception.py:495 #, python-format msgid "" "Artifact with the specified type, name and version already has the " "transitive dependency=%(dep)s" msgstr "" #: glance/common/exception.py:500 msgid "Artifact with a circular dependency can not be created" msgstr "" #: glance/common/exception.py:504 #, python-format msgid "Operator %(op)s is not supported" msgstr "" #: glance/common/exception.py:508 #, python-format msgid "Show level %(shl)s is not supported in this operation" msgstr "" #: glance/common/exception.py:512 #, python-format msgid "Property's %(prop)s value has not been found" msgstr "" #: glance/common/exception.py:516 #, python-format msgid "Artifact has no property %(prop)s" msgstr "" #: glance/common/exception.py:520 #, python-format msgid "Cannot use this parameter with the operator %(op)s" msgstr "" #: glance/common/exception.py:524 #, python-format msgid "Cannot load artifact '%(name)s'" msgstr "" #: glance/common/exception.py:528 #, python-format msgid "Plugin name '%(plugin)s' should match artifact typename '%(name)s'" msgstr "" #: glance/common/exception.py:533 #, python-format msgid "No plugin for '%(name)s' has been loaded" msgstr "" #: glance/common/exception.py:537 #, python-format msgid "Artifact type with name '%(name)s' and version '%(version)s' is not known" msgstr "" #: glance/common/exception.py:542 #, python-format msgid "Artifact state cannot be changed from %(curr)s to %(to)s" msgstr "" #: glance/common/exception.py:546 msgid "Invalid jsonpatch request" msgstr "" #: glance/common/exception.py:550 #, python-format msgid "The provided body %(body)s is invalid under given schema: %(schema)s" msgstr "" #: glance/common/exception.py:555 #, python-format msgid "The provided path '%(path)s' is invalid: %(explanation)s" msgstr "" #: glance/common/exception.py:563 #, python-format msgid "" "Invalid data migration script '%(script)s'. A valid data migration script" " must implement functions 'has_migrations' and 'migrate'." msgstr "" #: glance/common/jsonpatchvalidator.py:103 msgid "" "Json path should start with a '/', end with no '/', no 2 subsequent '/' " "are allowed." msgstr "" #: glance/common/jsonpatchvalidator.py:107 msgid "" "Pointer contains '~' which is not part of a recognized escape sequence " "[~0, ~1]." msgstr "" #: glance/common/property_utils.py:31 msgid "" "\n" "The location of the property protection file.\n" "\n" "Provide a valid path to the property protection file which contains\n" "the rules for property protections and the roles/policies associated\n" "with them.\n" "\n" "A property protection file, when set, restricts the Glance image\n" "properties to be created, read, updated and/or deleted by a specific\n" "set of users that are identified by either roles or policies.\n" "If this configuration option is not set, by default, property\n" "protections won't be enforced. If a value is specified and the file\n" "is not found, the glance-api service will fail to start.\n" "More information on property protections can be found at:\n" "http://docs.openstack.org/developer/glance/property-protections.html\n" "\n" "Possible values:\n" " * Empty string\n" " * Valid path to the property protection configuration file\n" "\n" "Related options:\n" " * property_protection_rule_format\n" "\n" msgstr "" #: glance/common/property_utils.py:58 msgid "" "\n" "Rule format for property protection.\n" "\n" "Provide the desired way to set property protection on Glance\n" "image properties. The two permissible values are ``roles``\n" "and ``policies``. The default value is ``roles``.\n" "\n" "If the value is ``roles``, the property protection file must\n" "contain a comma separated list of user roles indicating\n" "permissions for each of the CRUD operations on each property\n" "being protected. If set to ``policies``, a policy defined in\n" "policy.json is used to express property protections for each\n" "of the CRUD operations. Examples of how property protections\n" "are enforced based on ``roles`` or ``policies`` can be found at:\n" "http://docs.openstack.org/developer/glance/property-" "protections.html#examples\n" "\n" "Possible values:\n" " * roles\n" " * policies\n" "\n" "Related options:\n" " * property_protection_file\n" "\n" msgstr "" #: glance/common/rpc.py:44 msgid "" "\n" "List of allowed exception modules to handle RPC exceptions.\n" "\n" "Provide a comma separated list of modules whose exceptions are\n" "permitted to be recreated upon receiving exception data via an RPC\n" "call made to Glance. The default list includes\n" "``glance.common.exception``, ``builtins``, and ``exceptions``.\n" "\n" "The RPC protocol permits interaction with Glance via calls across a\n" "network or within the same system. Including a list of exception\n" "namespaces with this option enables RPC to propagate the exceptions\n" "back to the users.\n" "\n" "Possible values:\n" " * A comma separated list of valid exception modules\n" "\n" "Related options:\n" " * None\n" msgstr "" #: glance/common/rpc.py:162 msgid "Request must be a list of commands" msgstr "" #: glance/common/rpc.py:167 #, python-format msgid "Bad Command: %s" msgstr "" #: glance/common/rpc.py:174 #, python-format msgid "Wrong command structure: %s" msgstr "" #: glance/common/rpc.py:183 msgid "Command not found" msgstr "" #: glance/common/semver_db.py:77 #, python-format msgid "Version component is too large (%d max)" msgstr "" #: glance/common/semver_db.py:125 #, python-format msgid "Prerelease numeric component is too large (%d characters max)" msgstr "" #: glance/common/swift_store_utils.py:25 msgid "" "\n" "Reference to default Swift account/backing store parameters.\n" "\n" "Provide a string value representing a reference to the default set\n" "of parameters required for using swift account/backing store for\n" "image storage. The default reference value for this configuration\n" "option is 'ref1'. This configuration option dereferences the\n" "parameters and facilitates image storage in Swift storage backend\n" "every time a new image is added.\n" "\n" "Possible values:\n" " * A valid string value\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/swift_store_utils.py:47 msgid "The address where the Swift authentication service is listening." msgstr "" #: glance/common/swift_store_utils.py:53 msgid "The user to authenticate against the Swift authentication service." msgstr "" #: glance/common/swift_store_utils.py:60 msgid "" "Auth key for the user authenticating against the Swift authentication " "service." msgstr "" #: glance/common/swift_store_utils.py:63 msgid "" "\n" "File containing the swift account(s) configurations.\n" "\n" "Include a string value representing the path to a configuration\n" "file that has references for each of the configured Swift\n" "account(s)/backing stores. By default, no file path is specified\n" "and customized Swift referencing is diabled. Configuring this option\n" "is highly recommended while using Swift storage backend for image\n" "storage as it helps avoid storage of credentials in the\n" "database.\n" "\n" "Possible values:\n" " * None\n" " * String value representing a vaid configuration file path\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/utils.py:293 #, python-format msgid "Bad header: %(header_name)s" msgstr "" #: glance/common/utils.py:307 #, python-format msgid "Cannot convert image %(key)s '%(value)s' to an integer." msgstr "" #: glance/common/utils.py:314 msgid "Cannot be a negative value." msgstr "" #: glance/common/utils.py:403 #, python-format msgid "" "There is a problem with your %(error_key_name)s %(error_filename)s. " "Please verify it. Error: %(ioe)s" msgstr "" #: glance/common/utils.py:410 #, python-format msgid "" "There is a problem with your %(error_key_name)s %(error_filename)s. " "Please verify it. OpenSSL error: %(ce)s" msgstr "" #: glance/common/utils.py:436 #, python-format msgid "" "There is a problem with your key pair. Please verify that cert " "%(cert_file)s and key %(key_file)s belong together. OpenSSL error %(ce)s" msgstr "" #: glance/common/utils.py:482 #, python-format msgid "Host and port \"%s\" is not valid." msgstr "" #: glance/common/utils.py:485 #, python-format msgid "Port \"%s\" is not valid." msgstr "" #: glance/common/utils.py:494 #, python-format msgid "Host \"%s\" is not valid." msgstr "" #: glance/common/utils.py:497 #, python-format msgid "" "%s Please specify a host:port pair, where host is an IPv4 address, IPv6 " "address, hostname, or FQDN. If using an IPv6 address, enclose it in " "brackets separately from the port (i.e., \"[fe80::a:b:c]:9876\")." msgstr "" #: glance/common/utils.py:532 msgid "Property names can't contain 4 byte unicode." msgstr "" #: glance/common/utils.py:535 #, python-format msgid "%s can't contain 4 byte unicode characters." msgstr "" #: glance/common/utils.py:544 msgid "Param values can't contain 4 byte unicode." msgstr "" #: glance/common/utils.py:613 #, python-format msgid "Invalid filter value %s. There is no comma before opening quotation mark." msgstr "" #: glance/common/utils.py:618 #, python-format msgid "Invalid filter value %s. There is no comma after closing quotation mark." msgstr "" #: glance/common/utils.py:623 #, python-format msgid "Invalid filter value %s. The quote is not closed." msgstr "" #: glance/common/utils.py:673 msgid "Unable to filter on a unknown operator." msgstr "" #: glance/common/wsgi.py:68 msgid "" "\n" "IP address to bind the glance servers to.\n" "\n" "Provide an IP address to bind the glance server to. The default\n" "value is ``0.0.0.0``.\n" "\n" "Edit this option to enable the server to listen on one particular\n" "IP address on the network card. This facilitates selection of a\n" "particular network interface for the server.\n" "\n" "Possible values:\n" " * A valid IPv4 address\n" " * A valid IPv6 address\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:88 msgid "" "\n" "Port number on which the server will listen.\n" "\n" "Provide a valid port number to bind the server's socket to. This\n" "port is then set to identify processes and forward network messages\n" "that arrive at the server. The default bind_port value for the API\n" "server is 9292 and for the registry server is 9191.\n" "\n" "Possible values:\n" " * A valid port number (0 to 65535)\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:109 msgid "" "\n" "Set the number of incoming connection requests.\n" "\n" "Provide a positive integer value to limit the number of requests in\n" "the backlog queue. The default queue size is 4096.\n" "\n" "An incoming connection to a TCP listener socket is queued before a\n" "connection can be established with the server. Setting the backlog\n" "for a TCP socket ensures a limited queue size for incoming traffic.\n" "\n" "Possible values:\n" " * Positive integer\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:130 msgid "" "\n" "Set the wait time before a connection recheck.\n" "\n" "Provide a positive integer value representing time in seconds which\n" "is set as the idle wait time before a TCP keep alive packet can be\n" "sent to the host. The default value is 600 seconds.\n" "\n" "Setting ``tcp_keepidle`` helps verify at regular intervals that a\n" "connection is intact and prevents frequent TCP connection\n" "reestablishment.\n" "\n" "Possible values:\n" " * Positive integer value representing time in seconds\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:151 msgid "" "\n" "Absolute path to the CA file.\n" "\n" "Provide a string value representing a valid absolute path to\n" "the Certificate Authority file to use for client authentication.\n" "\n" "A CA file typically contains necessary trusted certificates to\n" "use for the client authentication. This is essential to ensure\n" "that a secure connection is established to the server via the\n" "internet.\n" "\n" "Possible values:\n" " * Valid absolute path to the CA file\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:172 msgid "" "\n" "Absolute path to the certificate file.\n" "\n" "Provide a string value representing a valid absolute path to the\n" "certificate file which is required to start the API service\n" "securely.\n" "\n" "A certificate file typically is a public key container and includes\n" "the server's public key, server name, server information and the\n" "signature which was a result of the verification process using the\n" "CA certificate. This is required for a secure connection\n" "establishment.\n" "\n" "Possible values:\n" " * Valid absolute path to the certificate file\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:195 msgid "" "\n" "Absolute path to a private key file.\n" "\n" "Provide a string value representing a valid absolute path to a\n" "private key file which is required to establish the client-server\n" "connection.\n" "\n" "Possible values:\n" " * Absolute path to the private key file\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:214 msgid "" "\n" "Number of Glance worker processes to start.\n" "\n" "Provide a non-negative integer value to set the number of child\n" "process workers to service requests. By default, the number of CPUs\n" "available is set as the value for ``workers``.\n" "\n" "Each worker process is made to listen on the port set in the\n" "configuration file and contains a greenthread pool of size 1000.\n" "\n" "NOTE: Setting the number of workers to zero, triggers the creation\n" "of a single API process with a greenthread pool of size 1000.\n" "\n" "Possible values:\n" " * 0\n" " * Positive integer value (typically equal to the number of CPUs)\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:239 msgid "" "\n" "Maximum line size of message headers.\n" "\n" "Provide an integer value representing a length to limit the size of\n" "message headers. The default value is 16384.\n" "\n" "NOTE: ``max_header_line`` may need to be increased when using large\n" "tokens (typically those generated by the Keystone v3 API with big\n" "service catalogs). However, it is to be kept in mind that larger\n" "values for ``max_header_line`` would flood the logs.\n" "\n" "Setting ``max_header_line`` to 0 sets no limit for the line size of\n" "message headers.\n" "\n" "Possible values:\n" " * 0\n" " * Positive integer\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:264 msgid "" "\n" "Set keep alive option for HTTP over TCP.\n" "\n" "Provide a boolean value to determine sending of keep alive packets.\n" "If set to ``False``, the server returns the header\n" "\"Connection: close\". If set to ``True``, the server returns a\n" "\"Connection: Keep-Alive\" in its responses. This enables retention of\n" "the same TCP connection for HTTP conversations instead of opening a\n" "new one with each new request.\n" "\n" "This option must be set to ``False`` if the client socket connection\n" "needs to be closed explicitly after the response is received and\n" "read successfully by the client.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:290 msgid "" "\n" "Timeout for client connections' socket operations.\n" "\n" "Provide a valid integer value representing time in seconds to set\n" "the period of wait before an incoming connection can be closed. The\n" "default value is 900 seconds.\n" "\n" "The value zero implies wait forever.\n" "\n" "Possible values:\n" " * Zero\n" " * Positive integer\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/common/wsgi.py:312 msgid "Use the http_proxy_to_wsgi middleware instead." msgstr "" #: glance/common/wsgi.py:314 msgid "" "The HTTP header used to determine the scheme for the original request, " "even if it was removed by an SSL terminating proxy. Typical value is " "\"HTTP_X_FORWARDED_PROTO\"." msgstr "" #: glance/common/wsgi.py:396 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:413 #, python-format msgid "Could not bind to %(host)s:%(port)s after trying for 30 seconds" msgstr "" #: glance/common/wsgi.py:428 msgid "eventlet 'poll' nor 'selects' hubs are available on this platform" msgstr "" #: glance/common/wsgi.py:984 #, python-format msgid "Malformed Content-Range header: %s" msgstr "" #: glance/common/wsgi.py:1017 msgid "Unexpected body type. Expected list/dict." msgstr "" #: glance/common/wsgi.py:1021 msgid "Malformed JSON in request body." msgstr "" #: glance/common/wsgi.py:1110 msgid "A body is not expected with this request." msgstr "" #: glance/common/wsgi.py:1122 msgid "" "Error decoding your request. Either the URL or the request body contained" " characters that could not be decoded by Glance" msgstr "" #: glance/common/glare/declarative.py:59 msgid "Not a valid value type" msgstr "" #: glance/common/glare/declarative.py:92 msgid "Default value is invalid" msgstr "" #: glance/common/glare/declarative.py:106 #: glance/common/glare/declarative.py:712 msgid "Value is required" msgstr "" #: glance/common/glare/declarative.py:129 msgid "Invalid item type specification" msgstr "" #: glance/common/glare/declarative.py:132 msgid "List definitions may hot have defaults" msgstr "" #: glance/common/glare/declarative.py:147 msgid "Cannot specify 'min_size' explicitly" msgstr "" #: glance/common/glare/declarative.py:152 msgid "Cannot specify 'max_size' explicitly" msgstr "" #: glance/common/glare/declarative.py:177 msgid "List size is less than minimum" msgstr "" #: glance/common/glare/declarative.py:186 msgid "List size is greater than maximum" msgstr "" #: glance/common/glare/declarative.py:201 msgid "Items have to be unique" msgstr "" #: glance/common/glare/declarative.py:249 msgid "Invalid dict property type specification" msgstr "" #: glance/common/glare/declarative.py:255 msgid "Invalid dict property type" msgstr "" #: glance/common/glare/declarative.py:269 msgid "Dictionary contains unexpected key(s)" msgstr "" #: glance/common/glare/declarative.py:285 msgid "Dictionary size is less than minimum" msgstr "" #: glance/common/glare/declarative.py:295 msgid "Dictionary size is greater than maximum" msgstr "" #: glance/common/glare/declarative.py:362 msgid "Custom validators list should contain tuples '(function, message)'" msgstr "" #: glance/common/glare/declarative.py:379 #, python-format msgid "Allowed values %s are invalid under given validators" msgstr "" #: glance/common/glare/declarative.py:386 msgid "Is not allowed value" msgstr "" #: glance/common/glare/declarative.py:404 msgid "Dependency relations cannot be mutable" msgstr "" #: glance/common/glare/declarative.py:463 msgid "Attempt to set readonly property" msgstr "" #: glance/common/glare/declarative.py:471 msgid "Attempt to set value of immutable property" msgstr "" #: glance/common/glare/declarative.py:557 msgid "Type version has to be a valid semver string" msgstr "" #: glance/common/glare/declarative.py:565 #, python-format msgid "%(attribute)s is required" msgstr "" #: glance/common/glare/declarative.py:570 #, python-format msgid "%(attribute)s have to be string" msgstr "" #: glance/common/glare/declarative.py:573 #, python-format msgid "%(attribute)s may not be longer than %(length)i" msgstr "" #: glance/common/glare/declarative.py:577 #, python-format msgid "%(attribute)s may not be shorter than %(length)i" msgstr "" #: glance/common/glare/declarative.py:581 #, python-format msgid "%(attribute)s should match pattern %(pattern)s" msgstr "" #: glance/common/glare/declarative.py:625 msgid "Cannot declare artifact property with reserved name 'metadata'" msgstr "" #: glance/common/glare/declarative.py:654 msgid "Unable to modify collection in immutable or readonly property" msgstr "" #: glance/common/glare/definitions.py:71 msgid "Max string length may not exceed 255 characters" msgstr "" #: glance/common/glare/definitions.py:74 msgid "Length is greater than maximum" msgstr "" #: glance/common/glare/definitions.py:85 msgid "Min string length may not be negative" msgstr "" #: glance/common/glare/definitions.py:89 msgid "Length is less than minimum" msgstr "" #: glance/common/glare/definitions.py:101 msgid "Does not match pattern" msgstr "" #: glance/common/glare/definitions.py:158 #: glance/common/glare/definitions.py:210 #: glance/common/glare/definitions.py:260 msgid "Value is less than minimum" msgstr "" #: glance/common/glare/definitions.py:169 #: glance/common/glare/definitions.py:221 #: glance/common/glare/definitions.py:271 msgid "Value is greater than maximum" msgstr "" #: glance/common/glare/definitions.py:312 msgid "Array property can't have item_type=Array" msgstr "" #: glance/common/glare/definitions.py:384 msgid "Unable to specify artifact type explicitly" msgstr "" #: glance/common/glare/definitions.py:387 msgid "Unable to specify artifact type version explicitly" msgstr "" #: glance/common/glare/definitions.py:426 msgid "Unable to specify version if multiple types are possible" msgstr "" #: glance/common/glare/definitions.py:441 msgid "Invalid referenced type" msgstr "" #: glance/common/glare/definitions.py:444 msgid "Unable to specify version if type is not specified" msgstr "" #: glance/common/glare/definitions.py:462 msgid "Invalid reference list specification" msgstr "" #: glance/common/glare/definitions.py:522 msgid "BinaryObject property cannot be declared mutable" msgstr "" #: glance/common/glare/definitions.py:532 msgid "Blob size is not set" msgstr "" #: glance/common/glare/definitions.py:536 msgid "File too large" msgstr "" #: glance/common/glare/definitions.py:540 msgid "File too small" msgstr "" #: glance/common/glare/definitions.py:545 msgid "Too few locations" msgstr "" #: glance/common/glare/definitions.py:550 msgid "Too many locations" msgstr "" #: glance/common/glare/loader.py:31 msgid "" "When false, no artifacts can be loaded regardless of available_plugins. " "When true, artifacts can be loaded." msgstr "" #: glance/common/glare/loader.py:35 msgid "" "A list of artifacts that are allowed in the format name or name-version. " "Empty list means that any artifact can be loaded." msgstr "" #: glance/common/glare/serialization.py:192 #, python-format msgid "Blob %(name)s may not have multiple values" msgstr "" #: glance/common/glare/serialization.py:213 #, python-format msgid "Relation %(name)s may not have multiple values" msgstr "" #: glance/common/location_strategy/__init__.py:28 msgid "" "\n" "Strategy to determine the preference order of image locations.\n" "\n" "This configuration option indicates the strategy to determine\n" "the order in which an image's locations must be accessed to\n" "serve the image's data. Glance then retrieves the image data\n" "from the first responsive active location it finds in this list.\n" "\n" "This option takes one of two possible values ``location_order``\n" "and ``store_type``. The default value is ``location_order``,\n" "which suggests that image data be served by using locations in\n" "the order they are stored in Glance. The ``store_type`` value\n" "sets the image location preference based on the order in which\n" "the storage backends are listed as a comma separated list for\n" "the configuration option ``store_type_preference``.\n" "\n" "Possible values:\n" " * location_order\n" " * store_type\n" "\n" "Related options:\n" " * store_type_preference\n" "\n" msgstr "" #: glance/common/location_strategy/__init__.py:75 #, python-format msgid "" "%(strategy)s is registered as a module twice. %(module)s is not being " "used." msgstr "" #: glance/common/location_strategy/__init__.py:100 #, python-format msgid "" "Invalid location_strategy option: %(name)s. The valid strategy option(s) " "is(are): %(strategies)s" msgstr "" #: glance/common/location_strategy/store_type.py:30 msgid "" "\n" "Preference order of storage backends.\n" "\n" "Provide a comma separated list of store names in the order in\n" "which images should be retrieved from storage backends.\n" "These store names must be registered with the ``stores``\n" "configuration option.\n" "\n" "NOTE: The ``store_type_preference`` configuration option is applied\n" "only if ``store_type`` is chosen as a value for the\n" "``location_strategy`` configuration option. An empty list will not\n" "change the location order.\n" "\n" "Possible values:\n" " * Empty list\n" " * Comma separated list of registered store names. Legal values are:\n" " * file\n" " * http\n" " * rbd\n" " * swift\n" " * sheepdog\n" " * cinder\n" " * vmware\n" "\n" "Related options:\n" " * location_strategy\n" " * stores\n" "\n" msgstr "" #: glance/common/scripts/utils.py:61 #, python-format msgid "Input does not contain '%(key)s' field" msgstr "" #: glance/common/scripts/utils.py:95 msgid "" "File based imports are not allowed. Please use a non-local source of " "image data." msgstr "" #: glance/common/scripts/utils.py:104 #, python-format msgid "" "The given uri is not valid. Please specify a valid uri from the following" " list of supported uri %(supported)s" msgstr "" #: glance/common/scripts/image_import/main.py:103 #, python-format msgid "" "The Image %(image_id)s object being created by this task %(task_id)s, is " "no longer in valid status for further processing." msgstr "" #: glance/contrib/plugins/image_artifact/v2/image.py:44 msgid "Either a file or a legacy_image_id has to be specified" msgstr "" #: glance/contrib/plugins/image_artifact/v2/image.py:49 msgid "Both file and legacy_image_id may not be specified at the same time" msgstr "" #: glance/contrib/plugins/image_artifact/v2/image.py:59 msgid "Glance client not installed" msgstr "" #: glance/contrib/plugins/image_artifact/v2/image.py:68 msgid "Unable to get legacy image" msgstr "" #: glance/contrib/plugins/image_artifact/v2/image.py:82 msgid "Legacy image was not found" msgstr "" #: glance/db/__init__.py:85 glance/db/__init__.py:127 glance/db/__init__.py:137 #: glance/db/__init__.py:151 #, python-format msgid "No artifact found with ID %s" msgstr "" #: glance/db/__init__.py:167 glance/db/__init__.py:278 #: glance/db/__init__.py:290 #, python-format msgid "No image found with ID %s" msgstr "" #: glance/db/__init__.py:344 #, python-format msgid "" "The target member %(member_id)s is already associated with image " "%(image_id)s." msgstr "" #: glance/db/__init__.py:375 #, python-format msgid "The specified member %s could not be found" msgstr "" #: glance/db/__init__.py:453 glance/db/__init__.py:474 #: glance/db/__init__.py:491 #, python-format msgid "Could not find task %s" msgstr "" #: glance/db/__init__.py:538 #, python-format msgid "Could not find namespace %s" msgstr "" #: glance/db/__init__.py:560 glance/db/__init__.py:570 #: glance/db/__init__.py:580 glance/db/__init__.py:590 #, python-format msgid "The specified namespace %s could not be found" msgstr "" #: glance/db/__init__.py:681 #, python-format msgid "Could not find metadata object %s" msgstr "" #: glance/db/__init__.py:704 #, python-format msgid "The specified metadata object %s could not be found" msgstr "" #: glance/db/__init__.py:797 #, python-format msgid "The specified resource type %s could not be found " msgstr "" #: glance/db/__init__.py:844 #, python-format msgid "Could not find property %s" msgstr "" #: glance/db/__init__.py:866 #, python-format msgid "The specified property %s could not be found" msgstr "" #: glance/db/__init__.py:930 #, python-format msgid "Could not find metadata tag %s" msgstr "" #: glance/db/__init__.py:956 #, python-format msgid "The specified metadata tag %s could not be found" msgstr "" #: glance/db/utils.py:34 msgid "Specifying both 'visibility' and 'is_public' is not permiitted." msgstr "" #: glance/db/simple/api.py:307 glance/db/sqlalchemy/api.py:517 msgid "Unable to filter on a range with a non-numeric value." msgstr "" #: glance/db/simple/api.py:331 glance/db/sqlalchemy/api.py:550 #, python-format msgid "Unable to filter by unknown operator '%s'." msgstr "" #: glance/db/simple/api.py:530 glance/db/sqlalchemy/api.py:1222 msgid "Image id is required." msgstr "" #: glance/db/simple/api.py:591 glance/db/sqlalchemy/api.py:913 #, python-format msgid "The location data has an invalid ID: %d" msgstr "" #: glance/db/simple/api.py:611 glance/db/simple/api.py:637 #: glance/db/sqlalchemy/api.py:933 glance/db/sqlalchemy/api.py:959 #, python-format msgid "No location found with ID %(loc)s from image %(img)s" msgstr "" #: glance/db/simple/api.py:621 msgid "" "The status of deleted image location can only be set to 'pending_delete' " "or 'deleted'." msgstr "" #: glance/db/simple/api.py:971 #, python-format msgid "Forbidding request, task %s is not visible" msgstr "" #: glance/db/simple/api.py:1101 msgid "Task does not exist" msgstr "" #: glance/db/simple/api.py:1202 #: glance/db/sqlalchemy/metadef_api/namespace.py:249 #, python-format msgid "" "Invalid update. It would result in a duplicate metadata definition " "namespace with the same name of %s" msgstr "" #: glance/db/simple/api.py:1223 #: glance/db/sqlalchemy/metadef_api/namespace.py:88 #, python-format msgid "Metadata definition namespace not found for id=%s" msgstr "" #: glance/db/simple/api.py:1231 glance/db/simple/api.py:2181 #: glance/db/sqlalchemy/metadef_api/namespace.py:97 #: glance/db/sqlalchemy/metadef_api/namespace.py:119 #, python-format msgid "Forbidding request, metadata definition namespace=%s is not visible." msgstr "" #: glance/db/simple/api.py:1354 glance/db/sqlalchemy/metadef_api/object.py:35 #, python-format msgid "Metadata definition object not found for id=%s" msgstr "" #: glance/db/simple/api.py:1437 #, python-format msgid "" "Invalid update. It would result in a duplicate metadata definition object" " with the same name=%(name)s in namespace=%(namespace_name)s." msgstr "" #: glance/db/simple/api.py:1566 #: glance/db/sqlalchemy/metadef_api/property.py:122 #, python-format msgid "" "Invalid update. It would result in a duplicate metadata definition " "property with the same name=%(name)s in namespace=%(namespace_name)s." msgstr "" #: glance/db/simple/api.py:1610 glance/db/sqlalchemy/metadef_api/property.py:37 #, python-format msgid "Metadata definition property not found for id=%s" msgstr "" #: glance/db/simple/api.py:1816 #, python-format msgid "Metadata definition tag not found for id=%s" msgstr "" #: glance/db/sqlalchemy/api.py:119 #, python-format msgid "'%(param)s' value out of range, must not exceed %(max)d." msgstr "" #: glance/db/sqlalchemy/api.py:136 msgid "You do not own this image" msgstr "" #: glance/db/sqlalchemy/api.py:446 msgid "Unknown sort direction, must be 'desc' or 'asc'" msgstr "" #: glance/db/sqlalchemy/api.py:532 #, python-format msgid "Bad \"%s\" query filter format. Use ISO 8601 DateTime notation." msgstr "" #: glance/db/sqlalchemy/api.py:862 #: glance/tests/unit/v2/test_registry_client.py:583 #, python-format msgid "" "cannot transition from %(current)s to %(next)s in update (wanted " "from_state=%(from)s)" msgstr "" #: glance/db/sqlalchemy/api.py:942 msgid "" "The status of deleted image location can only be set to 'pending_delete' " "or 'deleted'" msgstr "" #: glance/db/sqlalchemy/metadata.py:43 msgid "" "\n" "Absolute path to the directory where JSON metadefs files are stored.\n" "\n" "Glance Metadata Definitions (\"metadefs\") are served from the database,\n" "but are stored in files in the JSON format. The files in this\n" "directory are used to initialize the metadefs in the database.\n" "Additionally, when metadefs are exported from the database, the files\n" "are written to this directory.\n" "\n" "NOTE: If you plan to export metadefs, make sure that this directory\n" "has write permissions set for the user being used to run the\n" "glance-api service.\n" "\n" "Possible values:\n" " * String value representing a valid absolute pathname\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/db/sqlalchemy/alembic_migrations/__init__.py:79 msgid "Database is currently not under Alembic's migration control." msgstr "" #: glance/db/sqlalchemy/alembic_migrations/__init__.py:92 msgid "" "The current database version is not supported any more. Please upgrade to" " Liberty release first." msgstr "" #: glance/db/sqlalchemy/alembic_migrations/__init__.py:95 msgid "" "Unable to place database under Alembic's migration control. Unknown " "database state, can't proceed further." msgstr "" #: glance/db/sqlalchemy/alembic_migrations/__init__.py:99 msgid "Placing database under Alembic's migration control at revision:" msgstr "" #: glance/db/sqlalchemy/metadef_api/object.py:112 #, python-format msgid "" "Invalid update. It would result in a duplicate metadata definition object" " with the same name=%(name)s in namespace=%(namespace_name)s." msgstr "" #: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:85 #: 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:124 #: 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:136 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:196 msgid "Badly formed credentials in Swift URI." msgstr "" #: glance/db/sqlalchemy/migrate_repo/versions/015_quote_swift_credentials.py:153 #: glance/db/sqlalchemy/migrate_repo/versions/017_quote_encrypted_swift_credentials.py:213 #, python-format msgid "Badly formed S3 URI: %(uri)s" msgstr "" #: glance/domain/__init__.py:62 #, python-format msgid "new_image() got unexpected keywords %s" msgstr "" #: glance/domain/__init__.py:134 glance/glare/domain/__init__.py:43 #, python-format msgid "__init__() got unexpected keyword argument '%s'" msgstr "" #: glance/domain/__init__.py:156 #, python-format msgid "Property %s must be set prior to saving data." msgstr "" #: glance/domain/__init__.py:159 #, python-format msgid "Properties %s must be set prior to saving data." msgstr "" #: glance/domain/__init__.py:176 msgid "" "Visibility must be one of \"community\", \"public\", \"private\", or " "\"shared\"" msgstr "" #: glance/domain/__init__.py:195 msgid "Attribute container_format can be only replaced for a queued image." msgstr "" #: glance/domain/__init__.py:207 msgid "Attribute disk_format can be only replaced for a queued image." msgstr "" #: glance/domain/__init__.py:219 glance/domain/__init__.py:232 msgid "Cannot be a negative value" msgstr "" #: glance/domain/__init__.py:255 #, python-format msgid "Not allowed to deactivate image in status '%s'" msgstr "" #: glance/domain/__init__.py:268 #, python-format msgid "Not allowed to reactivate image in status '%s'" msgstr "" #: glance/domain/__init__.py:326 msgid "Status must be \"pending\", \"accepted\" or \"rejected\"." msgstr "" #: glance/glare/dependency.py:66 #, python-format msgid "Not all dependencies are in '%s' state" msgstr "" #: glance/glare/dependency.py:98 #, python-format msgid "Dependency property '%s' has to be deleted first" msgstr "" #: glance/glare/updater.py:52 msgid "No property to access" msgstr "" #: glance/glare/updater.py:130 #, python-format msgid "Array has no element at position %d" msgstr "" #: glance/glare/updater.py:134 #, python-format msgid "Not an array idx '%s'" msgstr "" #: glance/glare/updater.py:174 #, python-format msgid "No such key '%s' in a dict" msgstr "" #: glance/image_cache/__init__.py:38 msgid "" "\n" "The driver to use for image cache management.\n" "\n" "This configuration option provides the flexibility to choose between the\n" "different image-cache drivers available. An image-cache driver is " "responsible\n" "for providing the essential functions of image-cache like write images " "to/read\n" "images from cache, track age and usage of cached images, provide a list " "of\n" "cached images, fetch size of the cache, queue images for caching and " "clean up\n" "the cache, etc.\n" "\n" "The essential functions of a driver are defined in the base class\n" "``glance.image_cache.drivers.base.Driver``. All image-cache drivers " "(existing\n" "and prospective) must implement this interface. Currently available " "drivers\n" "are ``sqlite`` and ``xattr``. These drivers primarily differ in the way " "they\n" "store the information about cached images:\n" " * The ``sqlite`` driver uses a sqlite database (which sits on every " "glance\n" " node locally) to track the usage of cached images.\n" " * The ``xattr`` driver uses the extended attributes of files to store" " this\n" " information. It also requires a filesystem that sets ``atime`` on the" " files\n" " when accessed.\n" "\n" "Possible values:\n" " * sqlite\n" " * xattr\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/image_cache/__init__.py:70 msgid "" "\n" "The upper limit on cache size, in bytes, after which the cache-pruner " "cleans\n" "up the image cache.\n" "\n" "NOTE: This is just a threshold for cache-pruner to act upon. It is NOT a\n" "hard limit beyond which the image cache would never grow. In fact, " "depending\n" "on how often the cache-pruner runs and how quickly the cache fills, the " "image\n" "cache can far exceed the size specified here very easily. Hence, care " "must be\n" "taken to appropriately schedule the cache-pruner and in setting this " "limit.\n" "\n" "Glance caches an image when it is downloaded. Consequently, the size of " "the\n" "image cache grows over time as the number of downloads increases. To keep" " the\n" "cache size from becoming unmanageable, it is recommended to run the\n" "cache-pruner as a periodic task. When the cache pruner is kicked off, it\n" "compares the current size of image cache and triggers a cleanup if the " "image\n" "cache grew beyond the size specified here. After the cleanup, the size of" "\n" "cache is less than or equal to size specified here.\n" "\n" "Possible values:\n" " * Any non-negative integer\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/image_cache/__init__.py:98 msgid "" "\n" "The amount of time, in seconds, an incomplete image remains in the cache." "\n" "\n" "Incomplete images are images for which download is in progress. Please " "see the\n" "description of configuration option ``image_cache_dir`` for more detail.\n" "Sometimes, due to various reasons, it is possible the download may hang " "and\n" "the incompletely downloaded image remains in the ``incomplete`` " "directory.\n" "This configuration option sets a time limit on how long the incomplete " "images\n" "should remain in the ``incomplete`` directory before they are cleaned up." "\n" "Once an incomplete image spends more time than is specified here, it'll " "be\n" "removed by cache-cleaner on its next run.\n" "\n" "It is recommended to run cache-cleaner as a periodic task on the Glance " "API\n" "nodes to keep the incomplete images from occupying disk space.\n" "\n" "Possible values:\n" " * Any non-negative integer\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/image_cache/__init__.py:122 msgid "" "\n" "Base directory for image cache.\n" "\n" "This is the location where image data is cached and served out of. All " "cached\n" "images are stored directly under this directory. This directory also " "contains\n" "three subdirectories, namely, ``incomplete``, ``invalid`` and ``queue``.\n" "\n" "The ``incomplete`` subdirectory is the staging area for downloading " "images. An\n" "image is first downloaded to this directory. When the image download is\n" "successful it is moved to the base directory. However, if the download " "fails,\n" "the partially downloaded image file is moved to the ``invalid`` " "subdirectory.\n" "\n" "The ``queue``subdirectory is used for queuing images for download. This " "is\n" "used primarily by the cache-prefetcher, which can be scheduled as a " "periodic\n" "task like cache-pruner and cache-cleaner, to cache images ahead of their " "usage.\n" "Upon receiving the request to cache an image, Glance touches a file in " "the\n" "``queue`` directory with the image id as the file name. The cache-" "prefetcher,\n" "when running, polls for the files in ``queue`` directory and starts\n" "downloading them in the order they were created. When the download is\n" "successful, the zero-sized file is deleted from the ``queue`` directory.\n" "If the download fails, the zero-sized file remains and it'll be retried " "the\n" "next time cache-prefetcher runs.\n" "\n" "Possible values:\n" " * A valid path\n" "\n" "Related options:\n" " * ``image_cache_sqlite_db``\n" "\n" msgstr "" #: glance/image_cache/__init__.py:362 #, python-format msgid "Checksum verification failed. Aborted caching of image '%s'." msgstr "" #: glance/image_cache/client.py:119 msgid "" "--os_auth_url option or OS_AUTH_URL environment variable required when " "keystone authentication strategy is enabled\n" msgstr "" #: glance/image_cache/drivers/base.py:55 #, python-format msgid "Failed to read %s from config" msgstr "" #: glance/image_cache/drivers/sqlite.py:41 msgid "" "\n" "The relative path to sqlite file database that will be used for image " "cache\n" "management.\n" "\n" "This is a relative path to the sqlite file database that tracks the age " "and\n" "usage statistics of image cache. The path is relative to image cache base" "\n" "directory, specified by the configuration option ``image_cache_dir``.\n" "\n" "This is a lightweight database with just one table.\n" "\n" "Possible values:\n" " * A valid relative path to sqlite file database\n" "\n" "Related options:\n" " * ``image_cache_dir``\n" "\n" msgstr "" #: glance/image_cache/drivers/sqlite.py:137 #, python-format msgid "Failed to initialize the image cache database. Got error: %s" msgstr "" #: glance/image_cache/drivers/xattr.py:107 #, 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/registry/__init__.py:27 msgid "" "\n" "Address the registry server is hosted on.\n" "\n" "Possible values:\n" " * A valid IP or hostname\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/registry/__init__.py:38 msgid "" "\n" "Port the registry server is listening on.\n" "\n" "Possible values:\n" " * A valid port number\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/registry/api/v1/images.py:126 glance/registry/api/v1/images.py:131 msgid "Invalid marker. Image could not be found." msgstr "" #: glance/registry/api/v1/images.py:259 msgid "Unrecognized changes-since value" msgstr "" #: glance/registry/api/v1/images.py:264 msgid "protected must be True, or False" msgstr "" #: glance/registry/api/v1/images.py:311 #, python-format msgid "Unsupported sort_key. Acceptable values: %s" msgstr "" #: glance/registry/api/v1/images.py:320 #, python-format msgid "Unsupported sort_dir. Acceptable values: %s" msgstr "" #: glance/registry/api/v1/images.py:346 msgid "is_public must be None, True, or False" msgstr "" #: glance/registry/api/v1/images.py:433 msgid "Invalid image id format" msgstr "" #: glance/registry/api/v1/images.py:448 #, python-format msgid "Image with identifier %s already exists!" msgstr "" #: glance/registry/api/v1/images.py:452 #, python-format msgid "Failed to add image metadata. Got error: %s" msgstr "" #: glance/registry/api/v1/members.py:68 glance/registry/api/v1/members.py:102 #: glance/registry/api/v1/members.py:222 glance/registry/api/v1/members.py:286 #, python-format msgid "Image %(id)s not found" msgstr "" #: glance/registry/api/v1/members.py:118 glance/registry/api/v1/members.py:238 #: glance/registry/api/v1/members.py:302 msgid "No permission to share that image" msgstr "" #: glance/registry/api/v1/members.py:129 glance/registry/api/v1/members.py:146 #: glance/registry/api/v1/members.py:251 #, python-format msgid "Invalid membership association: %s" msgstr "" #: glance/registry/api/v1/members.py:314 glance/registry/api/v1/members.py:338 msgid "Membership could not be found." msgstr "" #: glance/registry/api/v2/rpc.py:40 #, python-format msgid "Registry service can't use %s" msgstr "" #: glance/registry/client/__init__.py:25 msgid "" "\n" "Protocol to use for communication with the registry server.\n" "\n" "Provide a string value representing the protocol to use for\n" "communication with the registry server. By default, this option is\n" "set to ``http`` and the connection is not secure.\n" "\n" "This option can be set to ``https`` to establish a secure connection\n" "to the registry server. In this case, provide a key to use for the\n" "SSL connection using the ``registry_client_key_file`` option. Also\n" "include the CA file and cert file using the options\n" "``registry_client_ca_file`` and ``registry_client_cert_file``\n" "respectively.\n" "\n" "Possible values:\n" " * http\n" " * https\n" "\n" "Related options:\n" " * registry_client_key_file\n" " * registry_client_cert_file\n" " * registry_client_ca_file\n" "\n" msgstr "" #: glance/registry/client/__init__.py:51 msgid "" "\n" "Absolute path to the private key file.\n" "\n" "Provide a string value representing a valid absolute path to the\n" "private key file to use for establishing a secure connection to\n" "the registry server.\n" "\n" "NOTE: This option must be set if ``registry_client_protocol`` is\n" "set to ``https``. Alternatively, the GLANCE_CLIENT_KEY_FILE\n" "environment variable may be set to a filepath of the key file.\n" "\n" "Possible values:\n" " * String value representing a valid absolute path to the key\n" " file.\n" "\n" "Related options:\n" " * registry_client_protocol\n" "\n" msgstr "" #: glance/registry/client/__init__.py:72 msgid "" "\n" "Absolute path to the certificate file.\n" "\n" "Provide a string value representing a valid absolute path to the\n" "certificate file to use for establishing a secure connection to\n" "the registry server.\n" "\n" "NOTE: This option must be set if ``registry_client_protocol`` is\n" "set to ``https``. Alternatively, the GLANCE_CLIENT_CERT_FILE\n" "environment variable may be set to a filepath of the certificate\n" "file.\n" "\n" "Possible values:\n" " * String value representing a valid absolute path to the\n" " certificate file.\n" "\n" "Related options:\n" " * registry_client_protocol\n" "\n" msgstr "" #: glance/registry/client/__init__.py:94 msgid "" "\n" "Absolute path to the Certificate Authority file.\n" "\n" "Provide a string value representing a valid absolute path to the\n" "certificate authority file to use for establishing a secure\n" "connection to the registry server.\n" "\n" "NOTE: This option must be set if ``registry_client_protocol`` is\n" "set to ``https``. Alternatively, the GLANCE_CLIENT_CA_FILE\n" "environment variable may be set to a filepath of the CA file.\n" "This option is ignored if the ``registry_client_insecure`` option\n" "is set to ``True``.\n" "\n" "Possible values:\n" " * String value representing a valid absolute path to the CA\n" " file.\n" "\n" "Related options:\n" " * registry_client_protocol\n" " * registry_client_insecure\n" "\n" msgstr "" #: glance/registry/client/__init__.py:118 msgid "" "\n" "Set verification of the registry server certificate.\n" "\n" "Provide a boolean value to determine whether or not to validate\n" "SSL connections to the registry server. By default, this option\n" "is set to ``False`` and the SSL connections are validated.\n" "\n" "If set to ``True``, the connection to the registry server is not\n" "validated via a certifying authority and the\n" "``registry_client_ca_file`` option is ignored. This is the\n" "registry's equivalent of specifying --insecure on the command line\n" "using glanceclient for the API.\n" "\n" "Possible values:\n" " * True\n" " * False\n" "\n" "Related options:\n" " * registry_client_protocol\n" " * registry_client_ca_file\n" "\n" msgstr "" #: glance/registry/client/__init__.py:143 msgid "" "\n" "Timeout value for registry requests.\n" "\n" "Provide an integer value representing the period of time in seconds\n" "that the API server will wait for a registry request to complete.\n" "The default value is 600 seconds.\n" "\n" "A value of 0 implies that a request will never timeout.\n" "\n" "Possible values:\n" " * Zero\n" " * Positive integer\n" "\n" "Related options:\n" " * None\n" "\n" msgstr "" #: glance/registry/client/__init__.py:173 msgid "" "Whether to pass through the user token when making requests to the " "registry. To prevent failures with token expiration during big files " "upload, it is recommended to set this parameter to False.If " "\"use_user_token\" is not in effect, then admin credentials can be " "specified." msgstr "" #: glance/registry/client/__init__.py:182 msgid "" "The administrators user name. If \"use_user_token\" is not in effect, " "then admin credentials can be specified." msgstr "" #: glance/registry/client/__init__.py:187 msgid "" "The administrators password. If \"use_user_token\" is not in effect, then" " admin credentials can be specified." msgstr "" #: glance/registry/client/__init__.py:192 msgid "" "The tenant name of the administrative user. If \"use_user_token\" is not " "in effect, then admin tenant name can be specified." msgstr "" #: glance/registry/client/__init__.py:197 msgid "" "The URL to the keystone service. If \"use_user_token\" is not in effect " "and using keystone auth, then URL of keystone can be specified." msgstr "" #: glance/registry/client/__init__.py:203 msgid "" "The strategy to use for authentication. If \"use_user_token\" is not in " "effect, then auth strategy can be specified." msgstr "" #: glance/registry/client/__init__.py:208 msgid "" "The region for the authentication service. If \"use_user_token\" is not " "in effect and using keystone auth, then region name can be specified." msgstr "" #: glance/registry/client/v1/api.py:102 glance/registry/client/v2/api.py:61 msgid "Configuration option was not valid" msgstr "" #: glance/registry/client/v1/api.py:106 glance/registry/client/v2/api.py:65 msgid "Could not find required configuration option" msgstr ""