Rename glance.store to glance_store
Given the existing, known issues, with python namespaces, pip and setuptools, we've decided to rename glance.store into glance_store. Change-Id: I3f02ce78b3d64f34744e5116652bfbb4f3062cbf
This commit is contained in:
parent
c2335ed752
commit
a1c59a1575
@ -24,7 +24,7 @@ source_suffix = '.rst'
|
|||||||
master_doc = 'index'
|
master_doc = 'index'
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'glance.store'
|
project = u'glance_store'
|
||||||
copyright = u'2014, OpenStack Foundation'
|
copyright = u'2014, OpenStack Foundation'
|
||||||
|
|
||||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
glance.store
|
glance_store
|
||||||
============
|
============
|
||||||
|
|
||||||
The glance.store library supports the creation, deletion and gather of data
|
The glance_store library supports the creation, deletion and gather of data
|
||||||
assets from/to a set of several, different, storage technologies
|
assets from/to a set of several, different, storage technologies
|
||||||
|
|
||||||
Contents
|
Contents
|
||||||
@ -16,9 +16,9 @@ Release Notes
|
|||||||
0.0.1a1
|
0.0.1a1
|
||||||
-------
|
-------
|
||||||
|
|
||||||
* Initial release of glance.store_.
|
* Initial release of glance_store_.
|
||||||
|
|
||||||
.. _glance.store: https://wiki.openstack.org/wiki/Glance/Store
|
.. _glance_store: https://wiki.openstack.org/wiki/Glance/Store
|
||||||
|
|
||||||
Indices and tables
|
Indices and tables
|
||||||
==================
|
==================
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
# Copyright 2014 Red Hat, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
# not use this file except in compliance with the License. You may obtain
|
|
||||||
# a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
# License for the specific language governing permissions and limitations
|
|
||||||
# under the License.
|
|
||||||
|
|
||||||
__import__('pkg_resources').declare_namespace(__name__)
|
|
@ -19,11 +19,11 @@ from cinderclient import service_catalog
|
|||||||
from cinderclient.v2 import client as cinderclient
|
from cinderclient.v2 import client as cinderclient
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
from glance.store.common import utils
|
from glance_store.common import utils
|
||||||
import glance.store.driver
|
import glance_store.driver
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
import glance.store.location
|
import glance_store.location
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ def get_cinderclient(conf, context):
|
|||||||
return c
|
return c
|
||||||
|
|
||||||
|
|
||||||
class StoreLocation(glance.store.location.StoreLocation):
|
class StoreLocation(glance_store.location.StoreLocation):
|
||||||
|
|
||||||
"""Class describing a Cinder URI"""
|
"""Class describing a Cinder URI"""
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ class StoreLocation(glance.store.location.StoreLocation):
|
|||||||
raise exceptions.BadStoreUri(message=reason)
|
raise exceptions.BadStoreUri(message=reason)
|
||||||
|
|
||||||
|
|
||||||
class Store(glance.store.driver.Store):
|
class Store(glance_store.driver.Store):
|
||||||
|
|
||||||
"""Cinder backend store adapter."""
|
"""Cinder backend store adapter."""
|
||||||
|
|
||||||
@ -155,12 +155,12 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file and returns the image size
|
where to find the image file and returns the image size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
:rtype int
|
:rtype int
|
||||||
"""
|
"""
|
||||||
|
|
@ -26,16 +26,16 @@ import urlparse
|
|||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
import glance.store
|
import glance_store
|
||||||
from glance.store.common import utils
|
from glance_store.common import utils
|
||||||
import glance.store.driver
|
import glance_store.driver
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
import glance.store.location
|
import glance_store.location
|
||||||
from glance.store.openstack.common import excutils
|
from glance_store.openstack.common import excutils
|
||||||
from glance.store.openstack.common import jsonutils
|
from glance_store.openstack.common import jsonutils
|
||||||
from glance.store.openstack.common import processutils
|
from glance_store.openstack.common import processutils
|
||||||
from glance.store.openstack.common import units
|
from glance_store.openstack.common import units
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@ -54,7 +54,7 @@ _FILESYSTEM_CONFIGS = [
|
|||||||
"contain a valid JSON dict."))]
|
"contain a valid JSON dict."))]
|
||||||
|
|
||||||
|
|
||||||
class StoreLocation(glance.store.location.StoreLocation):
|
class StoreLocation(glance_store.location.StoreLocation):
|
||||||
"""Class describing a Filesystem URI."""
|
"""Class describing a Filesystem URI."""
|
||||||
|
|
||||||
def process_specs(self):
|
def process_specs(self):
|
||||||
@ -113,7 +113,7 @@ class ChunkedFile(object):
|
|||||||
self.fp = None
|
self.fp = None
|
||||||
|
|
||||||
|
|
||||||
class Store(glance.store.driver.Store):
|
class Store(glance_store.driver.Store):
|
||||||
|
|
||||||
OPTIONS = _FILESYSTEM_CONFIGS
|
OPTIONS = _FILESYSTEM_CONFIGS
|
||||||
READ_CHUNKSIZE = 64 * units.Ki
|
READ_CHUNKSIZE = 64 * units.Ki
|
||||||
@ -281,7 +281,7 @@ class Store(glance.store.driver.Store):
|
|||||||
with open(metadata_file, 'r') as fptr:
|
with open(metadata_file, 'r') as fptr:
|
||||||
metadata = jsonutils.load(fptr)
|
metadata = jsonutils.load(fptr)
|
||||||
|
|
||||||
glance.store.check_location_metadata(metadata)
|
glance_store.check_location_metadata(metadata)
|
||||||
return metadata
|
return metadata
|
||||||
except exceptions.BackendException as bee:
|
except exceptions.BackendException as bee:
|
||||||
LOG.error(_('The JSON in the metadata file %(file)s could not '
|
LOG.error(_('The JSON in the metadata file %(file)s could not '
|
||||||
@ -303,13 +303,13 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get(self, location, offset=0, chunk_size=None, context=None):
|
def get(self, location, offset=0, chunk_size=None, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns a tuple of generator
|
where to find the image file, and returns a tuple of generator
|
||||||
(for reading the image file) and image_size
|
(for reading the image file) and image_size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
filepath, filesize = self._resolve_location(location)
|
filepath, filesize = self._resolve_location(location)
|
||||||
msg = _("Found image at %s. Returning in ChunkedFile.") % filepath
|
msg = _("Found image at %s. Returning in ChunkedFile.") % filepath
|
||||||
@ -320,12 +320,12 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file and returns the image size
|
where to find the image file and returns the image size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
:rtype int
|
:rtype int
|
||||||
"""
|
"""
|
||||||
filepath, filesize = self._resolve_location(location)
|
filepath, filesize = self._resolve_location(location)
|
||||||
@ -335,11 +335,11 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def delete(self, location, context=None):
|
def delete(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file to delete
|
where to find the image file to delete
|
||||||
|
|
||||||
:location `glance.store.location.Location` object, supplied
|
:location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
|
|
||||||
:raises NotFound if image does not exist
|
:raises NotFound if image does not exist
|
||||||
:raises Forbidden if cannot delete because of permissions
|
:raises Forbidden if cannot delete because of permissions
|
||||||
@ -417,7 +417,7 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
:retval tuple of URL in backing store, bytes written, checksum
|
:retval tuple of URL in backing store, bytes written, checksum
|
||||||
and a dictionary with storage system specific information
|
and a dictionary with storage system specific information
|
||||||
:raises `glance.store.exceptions.Duplicate` if the image already
|
:raises `glance_store.exceptions.Duplicate` if the image already
|
||||||
existed
|
existed
|
||||||
|
|
||||||
:note By default, the backend writes the image data to a file
|
:note By default, the backend writes the image data to a file
|
@ -21,11 +21,11 @@ import urlparse
|
|||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
import glance.store.driver
|
import glance_store.driver
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
import glance.store.location
|
import glance_store.location
|
||||||
from glance.store.openstack.common import excutils
|
from glance_store.openstack.common import excutils
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import gridfs
|
import gridfs
|
||||||
@ -48,7 +48,7 @@ _GRIDFS_OPTS = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class StoreLocation(glance.store.location.StoreLocation):
|
class StoreLocation(glance_store.location.StoreLocation):
|
||||||
"""
|
"""
|
||||||
Class describing an gridfs URI:
|
Class describing an gridfs URI:
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ class StoreLocation(glance.store.location.StoreLocation):
|
|||||||
self.specs["image_id"] = parsed.netloc
|
self.specs["image_id"] = parsed.netloc
|
||||||
|
|
||||||
|
|
||||||
class Store(glance.store.driver.Store):
|
class Store(glance_store.driver.Store):
|
||||||
"""GridFS adapter"""
|
"""GridFS adapter"""
|
||||||
|
|
||||||
OPTIONS = _GRIDFS_OPTS
|
OPTIONS = _GRIDFS_OPTS
|
||||||
@ -119,25 +119,25 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get(self, location, offset=0, chunk_size=None, context=None):
|
def get(self, location, offset=0, chunk_size=None, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns a tuple of generator
|
where to find the image file, and returns a tuple of generator
|
||||||
(for reading the image file) and image_size
|
(for reading the image file) and image_size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
image = self._get_file(location)
|
image = self._get_file(location)
|
||||||
return (image, image.length)
|
return (image, image.length)
|
||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns the image_size (or 0
|
where to find the image file, and returns the image_size (or 0
|
||||||
if unavailable)
|
if unavailable)
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
key = self._get_file(location)
|
key = self._get_file(location)
|
||||||
@ -147,7 +147,7 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def _get_file(self, location):
|
def _get_file(self, location):
|
||||||
store_location = location
|
store_location = location
|
||||||
if isinstance(location, glance.store.location.Location):
|
if isinstance(location, glance_store.location.Location):
|
||||||
store_location = location.store_location
|
store_location = location.store_location
|
||||||
try:
|
try:
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
:retval tuple of URL in backing store, bytes written, checksum
|
:retval tuple of URL in backing store, bytes written, checksum
|
||||||
and a dictionary with storage system specific information
|
and a dictionary with storage system specific information
|
||||||
:raises `glance.store.exceptions.Duplicate` if the image already
|
:raises `glance_store.exceptions.Duplicate` if the image already
|
||||||
existed
|
existed
|
||||||
"""
|
"""
|
||||||
loc = StoreLocation({'image_id': image_id})
|
loc = StoreLocation({'image_id': image_id})
|
||||||
@ -201,11 +201,11 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def delete(self, location, context=None):
|
def delete(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file to delete
|
where to find the image file to delete
|
||||||
|
|
||||||
:location `glance.store.location.Location` object, supplied
|
:location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
|
|
||||||
:raises NotFound if image does not exist
|
:raises NotFound if image does not exist
|
||||||
"""
|
"""
|
@ -18,10 +18,10 @@ import logging
|
|||||||
import socket
|
import socket
|
||||||
import urlparse
|
import urlparse
|
||||||
|
|
||||||
import glance.store.driver
|
import glance_store.driver
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
import glance.store.location
|
import glance_store.location
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ LOG = logging.getLogger(__name__)
|
|||||||
MAX_REDIRECTS = 5
|
MAX_REDIRECTS = 5
|
||||||
|
|
||||||
|
|
||||||
class StoreLocation(glance.store.location.StoreLocation):
|
class StoreLocation(glance_store.location.StoreLocation):
|
||||||
|
|
||||||
"""Class describing an HTTP(S) URI"""
|
"""Class describing an HTTP(S) URI"""
|
||||||
|
|
||||||
@ -106,25 +106,25 @@ def http_response_iterator(conn, response, size):
|
|||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
|
|
||||||
class Store(glance.store.driver.Store):
|
class Store(glance_store.driver.Store):
|
||||||
|
|
||||||
"""An implementation of the HTTP(S) Backend Adapter"""
|
"""An implementation of the HTTP(S) Backend Adapter"""
|
||||||
|
|
||||||
def get(self, location, offset=0, chunk_size=None, context=None):
|
def get(self, location, offset=0, chunk_size=None, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns a tuple of generator
|
where to find the image file, and returns a tuple of generator
|
||||||
(for reading the image file) and image_size
|
(for reading the image file) and image_size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
"""
|
"""
|
||||||
conn, resp, content_length = self._query(location, 'GET')
|
conn, resp, content_length = self._query(location, 'GET')
|
||||||
|
|
||||||
cs = chunk_size or self.READ_CHUNKSIZE
|
cs = chunk_size or self.READ_CHUNKSIZE
|
||||||
iterator = http_response_iterator(conn, resp, cs)
|
iterator = http_response_iterator(conn, resp, cs)
|
||||||
|
|
||||||
class ResponseIndexable(glance.store.Indexable):
|
class ResponseIndexable(glance_store.Indexable):
|
||||||
def another(self):
|
def another(self):
|
||||||
try:
|
try:
|
||||||
return self.wrapped.next()
|
return self.wrapped.next()
|
||||||
@ -138,11 +138,11 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns the size
|
where to find the image file, and returns the size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
size = self._query(location, 'HEAD')[2]
|
size = self._query(location, 'HEAD')[2]
|
||||||
@ -189,7 +189,7 @@ class Store(glance.store.driver.Store):
|
|||||||
dict(url=loc.path, status=resp.status))
|
dict(url=loc.path, status=resp.status))
|
||||||
LOG.info(reason)
|
LOG.info(reason)
|
||||||
raise exceptions.BadStoreUri(message=reason)
|
raise exceptions.BadStoreUri(message=reason)
|
||||||
location_class = glance.store.location.Location
|
location_class = glance_store.location.Location
|
||||||
new_loc = location_class(location.store_name,
|
new_loc = location_class(location.store_name,
|
||||||
location.store_location.__class__,
|
location.store_location.__class__,
|
||||||
uri=location_header,
|
uri=location_header,
|
@ -25,12 +25,12 @@ import urllib
|
|||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
from glance.store.common import utils
|
from glance_store.common import utils
|
||||||
from glance.store import driver
|
from glance_store import driver
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store import i18n
|
from glance_store import i18n
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
from glance.store import location
|
from glance_store import location
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import rados
|
import rados
|
||||||
@ -206,13 +206,13 @@ class Store(driver.Store):
|
|||||||
|
|
||||||
def get(self, location, offset=0, chunk_size=None, context=None):
|
def get(self, location, offset=0, chunk_size=None, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns a tuple of generator
|
where to find the image file, and returns a tuple of generator
|
||||||
(for reading the image file) and image_size
|
(for reading the image file) and image_size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
loc = location.store_location
|
loc = location.store_location
|
||||||
return (ImageIterator(loc.image, self),
|
return (ImageIterator(loc.image, self),
|
||||||
@ -220,12 +220,12 @@ class Store(driver.Store):
|
|||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns the size
|
where to find the image file, and returns the size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
loc = location.store_location
|
loc = location.store_location
|
||||||
with rados.Rados(conffile=self.conf_file,
|
with rados.Rados(conffile=self.conf_file,
|
||||||
@ -250,7 +250,7 @@ class Store(driver.Store):
|
|||||||
|
|
||||||
:param image_name Image's name
|
:param image_name Image's name
|
||||||
|
|
||||||
:retval `glance.store.rbd.StoreLocation` object
|
:retval `glance_store.rbd.StoreLocation` object
|
||||||
"""
|
"""
|
||||||
librbd = rbd.RBD()
|
librbd = rbd.RBD()
|
||||||
if hasattr(rbd, 'RBD_FEATURE_LAYERING'):
|
if hasattr(rbd, 'RBD_FEATURE_LAYERING'):
|
||||||
@ -318,7 +318,7 @@ class Store(driver.Store):
|
|||||||
|
|
||||||
:retval tuple of URL in backing store, bytes written, checksum
|
:retval tuple of URL in backing store, bytes written, checksum
|
||||||
and a dictionary with storage system specific information
|
and a dictionary with storage system specific information
|
||||||
:raises `glance.store.exceptions.Duplicate` if the image already
|
:raises `glance_store.exceptions.Duplicate` if the image already
|
||||||
existed
|
existed
|
||||||
"""
|
"""
|
||||||
checksum = hashlib.md5()
|
checksum = hashlib.md5()
|
||||||
@ -385,11 +385,11 @@ class Store(driver.Store):
|
|||||||
|
|
||||||
def delete(self, location, context=None):
|
def delete(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file to delete.
|
where to find the image file to delete.
|
||||||
|
|
||||||
:location `glance.store.location.Location` object, supplied
|
:location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
|
|
||||||
:raises NotFound if image does not exist;
|
:raises NotFound if image does not exist;
|
||||||
InUseByStore if image is in use or snapshot unprotect failed
|
InUseByStore if image is in use or snapshot unprotect failed
|
@ -24,13 +24,13 @@ import urlparse
|
|||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
import glance.store
|
import glance_store
|
||||||
from glance.store.common import utils
|
from glance_store.common import utils
|
||||||
import glance.store.driver
|
import glance_store.driver
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
import glance.store.location
|
import glance_store.location
|
||||||
from glance.store.openstack.common import units
|
from glance_store.openstack.common import units
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ _S3_OPTS = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class StoreLocation(glance.store.location.StoreLocation):
|
class StoreLocation(glance_store.location.StoreLocation):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Class describing an S3 URI. An S3 URI can look like any of
|
Class describing an S3 URI. An S3 URI can look like any of
|
||||||
@ -208,7 +208,7 @@ class ChunkedFile(object):
|
|||||||
self.fp = None
|
self.fp = None
|
||||||
|
|
||||||
|
|
||||||
class Store(glance.store.driver.Store):
|
class Store(glance_store.driver.Store):
|
||||||
"""An implementation of the s3 adapter."""
|
"""An implementation of the s3 adapter."""
|
||||||
|
|
||||||
OPTIONS = _S3_OPTS
|
OPTIONS = _S3_OPTS
|
||||||
@ -262,19 +262,19 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get(self, location, offset=0, chunk_size=None, context=None):
|
def get(self, location, offset=0, chunk_size=None, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns a tuple of generator
|
where to find the image file, and returns a tuple of generator
|
||||||
(for reading the image file) and image_size
|
(for reading the image file) and image_size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
key = self._retrieve_key(location)
|
key = self._retrieve_key(location)
|
||||||
cs = chunk_size or self.READ_CHUNKSIZE
|
cs = chunk_size or self.READ_CHUNKSIZE
|
||||||
key.BufferSize = cs
|
key.BufferSize = cs
|
||||||
|
|
||||||
class ChunkedIndexable(glance.store.Indexable):
|
class ChunkedIndexable(glance_store.Indexable):
|
||||||
def another(self):
|
def another(self):
|
||||||
return (self.wrapped.fp.read(cs)
|
return (self.wrapped.fp.read(cs)
|
||||||
if self.wrapped.fp else None)
|
if self.wrapped.fp else None)
|
||||||
@ -283,12 +283,12 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns the image_size (or 0
|
where to find the image file, and returns the image_size (or 0
|
||||||
if unavailable)
|
if unavailable)
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
key = self._retrieve_key(location)
|
key = self._retrieve_key(location)
|
||||||
@ -333,7 +333,7 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
:retval tuple of URL in backing store, bytes written, checksum
|
:retval tuple of URL in backing store, bytes written, checksum
|
||||||
and a dictionary with storage system specific information
|
and a dictionary with storage system specific information
|
||||||
:raises `glance.store.exceptions.Duplicate` if the image already
|
:raises `glance_store.exceptions.Duplicate` if the image already
|
||||||
existed
|
existed
|
||||||
|
|
||||||
S3 writes the image data using the scheme:
|
S3 writes the image data using the scheme:
|
||||||
@ -430,11 +430,11 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def delete(self, location, context=None):
|
def delete(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file to delete
|
where to find the image file to delete
|
||||||
|
|
||||||
:location `glance.store.location.Location` object, supplied
|
:location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
|
|
||||||
:raises NotFound if image does not exist
|
:raises NotFound if image does not exist
|
||||||
"""
|
"""
|
||||||
@ -470,7 +470,7 @@ def get_bucket(conn, bucket_id):
|
|||||||
|
|
||||||
:param conn: The ``boto.s3.connection.S3Connection``
|
:param conn: The ``boto.s3.connection.S3Connection``
|
||||||
:param bucket_id: ID of the bucket to fetch
|
:param bucket_id: ID of the bucket to fetch
|
||||||
:raises ``glance.store.exceptions.NotFound`` if bucket is not found.
|
:raises ``glance_store.exceptions.NotFound`` if bucket is not found.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
bucket = conn.get_bucket(bucket_id)
|
bucket = conn.get_bucket(bucket_id)
|
||||||
@ -519,14 +519,14 @@ def create_bucket_if_missing(bucket, s3_conn):
|
|||||||
except S3ResponseError as e:
|
except S3ResponseError as e:
|
||||||
msg = (_("Failed to add bucket to S3.\n"
|
msg = (_("Failed to add bucket to S3.\n"
|
||||||
"Got error from S3: %(e)s") % {'e': e})
|
"Got error from S3: %(e)s") % {'e': e})
|
||||||
raise glance.store.BackendException(msg)
|
raise glance_store.BackendException(msg)
|
||||||
else:
|
else:
|
||||||
msg = (_("The bucket %(bucket)s does not exist in "
|
msg = (_("The bucket %(bucket)s does not exist in "
|
||||||
"S3. Please set the "
|
"S3. Please set the "
|
||||||
"s3_store_create_bucket_on_put option "
|
"s3_store_create_bucket_on_put option "
|
||||||
"to add bucket to S3 automatically.")
|
"to add bucket to S3 automatically.")
|
||||||
% {'bucket': bucket})
|
% {'bucket': bucket})
|
||||||
raise glance.store.BackendException(msg)
|
raise glance_store.BackendException(msg)
|
||||||
|
|
||||||
|
|
||||||
def get_key(bucket, obj):
|
def get_key(bucket, obj):
|
||||||
@ -535,7 +535,7 @@ def get_key(bucket, obj):
|
|||||||
|
|
||||||
:param bucket: The ``boto.s3.Bucket``
|
:param bucket: The ``boto.s3.Bucket``
|
||||||
:param obj: Object to get the key for
|
:param obj: Object to get the key for
|
||||||
:raises ``glance.store.exceptions.NotFound`` if key is not found.
|
:raises ``glance_store.exceptions.NotFound`` if key is not found.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
key = bucket.get_key(obj)
|
key = bucket.get_key(obj)
|
@ -20,14 +20,14 @@ import logging
|
|||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
import glance.store
|
import glance_store
|
||||||
import glance.store.driver
|
import glance_store.driver
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
import glance.store.location
|
import glance_store.location
|
||||||
from glance.store.openstack.common import excutils
|
from glance_store.openstack.common import excutils
|
||||||
from glance.store.openstack.common import processutils
|
from glance_store.openstack.common import processutils
|
||||||
from glance.store.openstack.common import units
|
from glance_store.openstack.common import units
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@ -76,7 +76,7 @@ class SheepdogImage:
|
|||||||
cmd, process_input=data, shell=True)[0]
|
cmd, process_input=data, shell=True)[0]
|
||||||
except processutils.ProcessExecutionError as exc:
|
except processutils.ProcessExecutionError as exc:
|
||||||
LOG.error(exc)
|
LOG.error(exc)
|
||||||
raise glance.store.BackendException(exc)
|
raise glance_store.BackendException(exc)
|
||||||
|
|
||||||
def get_size(self):
|
def get_size(self):
|
||||||
"""
|
"""
|
||||||
@ -134,7 +134,7 @@ class SheepdogImage:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
class StoreLocation(glance.store.location.StoreLocation):
|
class StoreLocation(glance_store.location.StoreLocation):
|
||||||
"""
|
"""
|
||||||
Class describing a Sheepdog URI. This is of the form:
|
Class describing a Sheepdog URI. This is of the form:
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ class ImageIterator(object):
|
|||||||
raise StopIteration()
|
raise StopIteration()
|
||||||
|
|
||||||
|
|
||||||
class Store(glance.store.driver.Store):
|
class Store(glance_store.driver.Store):
|
||||||
"""Sheepdog backend adapter."""
|
"""Sheepdog backend adapter."""
|
||||||
|
|
||||||
EXAMPLE_URL = "sheepdog://image"
|
EXAMPLE_URL = "sheepdog://image"
|
||||||
@ -214,13 +214,13 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get(self, location, offset=0, chunk_size=None, context=None):
|
def get(self, location, offset=0, chunk_size=None, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns a generator for reading
|
where to find the image file, and returns a generator for reading
|
||||||
the image file
|
the image file
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
|
|
||||||
loc = location.store_location
|
loc = location.store_location
|
||||||
@ -233,12 +233,12 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file and returns the image size
|
where to find the image file and returns the image size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
:rtype int
|
:rtype int
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -261,7 +261,7 @@ class Store(glance.store.driver.Store):
|
|||||||
:param image_size: The size of the image data to write, in bytes
|
:param image_size: The size of the image data to write, in bytes
|
||||||
|
|
||||||
:retval tuple of URL in backing store, bytes written, and checksum
|
:retval tuple of URL in backing store, bytes written, and checksum
|
||||||
:raises `glance.store.exceptions.Duplicate` if the image already
|
:raises `glance_store.exceptions.Duplicate` if the image already
|
||||||
existed
|
existed
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -294,11 +294,11 @@ class Store(glance.store.driver.Store):
|
|||||||
|
|
||||||
def delete(self, location, context=None):
|
def delete(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file to delete
|
where to find the image file to delete
|
||||||
|
|
||||||
:location `glance.store.location.Location` object, supplied
|
:location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
|
|
||||||
:raises NotFound if image does not exist
|
:raises NotFound if image does not exist
|
||||||
"""
|
"""
|
@ -13,5 +13,5 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from glance.store._drivers.swift import utils # noqa
|
from glance_store._drivers.swift import utils # noqa
|
||||||
from glance.store._drivers.swift.store import * # noqa
|
from glance_store._drivers.swift.store import * # noqa
|
@ -25,14 +25,14 @@ import six.moves.urllib.parse as urlparse
|
|||||||
import swiftclient
|
import swiftclient
|
||||||
import urllib
|
import urllib
|
||||||
|
|
||||||
import glance.store
|
import glance_store
|
||||||
from glance.store._drivers.swift import utils as sutils
|
from glance_store._drivers.swift import utils as sutils
|
||||||
from glance.store.common import auth
|
from glance_store.common import auth
|
||||||
from glance.store import driver
|
from glance_store import driver
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store import i18n
|
from glance_store import i18n
|
||||||
from glance.store import location
|
from glance_store import location
|
||||||
from glance.store.openstack.common import excutils
|
from glance_store.openstack.common import excutils
|
||||||
|
|
||||||
_ = i18n._
|
_ = i18n._
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@ -406,7 +406,7 @@ class BaseStore(driver.Store):
|
|||||||
(resp_headers, resp_body) = self._get_object(location, connection,
|
(resp_headers, resp_body) = self._get_object(location, connection,
|
||||||
context=context)
|
context=context)
|
||||||
|
|
||||||
class ResponseIndexable(glance.store.Indexable):
|
class ResponseIndexable(glance_store.Indexable):
|
||||||
def another(self):
|
def another(self):
|
||||||
try:
|
try:
|
||||||
return self.wrapped.next()
|
return self.wrapped.next()
|
||||||
@ -577,7 +577,7 @@ class BaseStore(driver.Store):
|
|||||||
msg = (_(u"Failed to add object to Swift.\n"
|
msg = (_(u"Failed to add object to Swift.\n"
|
||||||
"Got error from Swift: %s") % unicode(e))
|
"Got error from Swift: %s") % unicode(e))
|
||||||
LOG.error(msg)
|
LOG.error(msg)
|
||||||
raise glance.store.BackendException(msg)
|
raise glance_store.BackendException(msg)
|
||||||
|
|
||||||
def delete(self, location, connection=None, context=None):
|
def delete(self, location, connection=None, context=None):
|
||||||
location = location.store_location
|
location = location.store_location
|
||||||
@ -641,14 +641,14 @@ class BaseStore(driver.Store):
|
|||||||
except swiftclient.ClientException as e:
|
except swiftclient.ClientException as e:
|
||||||
msg = (_("Failed to add container to Swift.\n"
|
msg = (_("Failed to add container to Swift.\n"
|
||||||
"Got error from Swift: %(e)s") % {'e': e})
|
"Got error from Swift: %(e)s") % {'e': e})
|
||||||
raise glance.store.BackendException(msg)
|
raise glance_store.BackendException(msg)
|
||||||
else:
|
else:
|
||||||
msg = (_("The container %(container)s does not exist in "
|
msg = (_("The container %(container)s does not exist in "
|
||||||
"Swift. Please set the "
|
"Swift. Please set the "
|
||||||
"swift_store_create_container_on_put option"
|
"swift_store_create_container_on_put option"
|
||||||
"to add container to Swift automatically.") %
|
"to add container to Swift automatically.") %
|
||||||
{'container': container})
|
{'container': container})
|
||||||
raise glance.store.BackendException(msg)
|
raise glance_store.BackendException(msg)
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
|
@ -22,8 +22,8 @@ except ImportError:
|
|||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store import i18n
|
from glance_store import i18n
|
||||||
|
|
||||||
swift_opts = [
|
swift_opts = [
|
||||||
cfg.StrOpt('default_swift_reference',
|
cfg.StrOpt('default_swift_reference',
|
@ -25,11 +25,11 @@ from oslo.config import cfg
|
|||||||
from oslo.vmware import api
|
from oslo.vmware import api
|
||||||
import six.moves.urllib.parse as urlparse
|
import six.moves.urllib.parse as urlparse
|
||||||
|
|
||||||
import glance.store
|
import glance_store
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
from glance.store import location
|
from glance_store import location
|
||||||
from glance.store.openstack.common import excutils
|
from glance_store.openstack.common import excutils
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ class StoreLocation(location.StoreLocation):
|
|||||||
#raise exceptions.BadStoreUri(reason)
|
#raise exceptions.BadStoreUri(reason)
|
||||||
|
|
||||||
|
|
||||||
class Store(glance.store.Store):
|
class Store(glance_store.Store):
|
||||||
"""An implementation of the VMware datastore adapter."""
|
"""An implementation of the VMware datastore adapter."""
|
||||||
|
|
||||||
OPTIONS = _VMWARE_OPTS
|
OPTIONS = _VMWARE_OPTS
|
||||||
@ -317,12 +317,12 @@ class Store(glance.store.Store):
|
|||||||
return (loc.get_uri(), image_file.size, checksum.hexdigest(), {})
|
return (loc.get_uri(), image_file.size, checksum.hexdigest(), {})
|
||||||
|
|
||||||
def get(self, location, offset=0, chunk_size=None, context=None):
|
def get(self, location, offset=0, chunk_size=None, context=None):
|
||||||
"""Takes a `glance.store.location.Location` object that indicates
|
"""Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns a tuple of generator
|
where to find the image file, and returns a tuple of generator
|
||||||
(for reading the image file) and image_size
|
(for reading the image file) and image_size
|
||||||
|
|
||||||
:param location: `glance.store.location.Location` object, supplied
|
:param location: `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
"""
|
"""
|
||||||
cookie = self._build_vim_cookie_header(
|
cookie = self._build_vim_cookie_header(
|
||||||
self._session.vim.client.options.transport.cookiejar)
|
self._session.vim.client.options.transport.cookiejar)
|
||||||
@ -331,7 +331,7 @@ class Store(glance.store.Store):
|
|||||||
headers={'Cookie': cookie})
|
headers={'Cookie': cookie})
|
||||||
iterator = http_response_iterator(conn, resp, self.CHUNKSIZE)
|
iterator = http_response_iterator(conn, resp, self.CHUNKSIZE)
|
||||||
|
|
||||||
class ResponseIndexable(glance.store.Indexable):
|
class ResponseIndexable(glance_store.Indexable):
|
||||||
|
|
||||||
def another(self):
|
def another(self):
|
||||||
try:
|
try:
|
||||||
@ -342,11 +342,11 @@ class Store(glance.store.Store):
|
|||||||
return (ResponseIndexable(iterator, content_length), content_length)
|
return (ResponseIndexable(iterator, content_length), content_length)
|
||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""Takes a `glance.store.location.Location` object that indicates
|
"""Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns the size
|
where to find the image file, and returns the size
|
||||||
|
|
||||||
:param location: `glance.store.location.Location` object, supplied
|
:param location: `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
"""
|
"""
|
||||||
cookie = self._build_vim_cookie_header(
|
cookie = self._build_vim_cookie_header(
|
||||||
self._session.vim.client.options.transport.cookiejar)
|
self._session.vim.client.options.transport.cookiejar)
|
||||||
@ -354,11 +354,11 @@ class Store(glance.store.Store):
|
|||||||
return self._query(location, 'HEAD', headers={'Cookie': cookie})[2]
|
return self._query(location, 'HEAD', headers={'Cookie': cookie})[2]
|
||||||
|
|
||||||
def delete(self, location, context=None):
|
def delete(self, location, context=None):
|
||||||
"""Takes a `glance.store.location.Location` object that indicates
|
"""Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file to delete
|
where to find the image file to delete
|
||||||
|
|
||||||
:location `glance.store.location.Location` object, supplied
|
:location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises NotFound if image does not exist
|
:raises NotFound if image does not exist
|
||||||
"""
|
"""
|
||||||
file_path = '[%s] %s' % (
|
file_path = '[%s] %s' % (
|
||||||
@ -413,7 +413,7 @@ class Store(glance.store.Store):
|
|||||||
% {'path': loc.path, 'status': resp.status})
|
% {'path': loc.path, 'status': resp.status})
|
||||||
LOG.info(reason)
|
LOG.info(reason)
|
||||||
raise exceptions.BadStoreUri(message=reason)
|
raise exceptions.BadStoreUri(message=reason)
|
||||||
location_class = glance.store.location.Location
|
location_class = glance_store.location.Location
|
||||||
new_loc = location_class(location.store_name,
|
new_loc = location_class(location.store_name,
|
||||||
location.store_location.__class__,
|
location.store_location.__class__,
|
||||||
uri=location_header,
|
uri=location_header,
|
@ -19,9 +19,9 @@ import sys
|
|||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
from stevedore import driver
|
from stevedore import driver
|
||||||
|
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
from glance.store import location
|
from glance_store import location
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@ -127,7 +127,7 @@ def _load_store(conf, store_entry):
|
|||||||
store_cls = None
|
store_cls = None
|
||||||
try:
|
try:
|
||||||
LOG.debug("Attempting to import store %s", store_entry)
|
LOG.debug("Attempting to import store %s", store_entry)
|
||||||
mgr = driver.DriverManager('glance.store.drivers',
|
mgr = driver.DriverManager('glance_store.drivers',
|
||||||
store_entry,
|
store_entry,
|
||||||
invoke_args=[conf],
|
invoke_args=[conf],
|
||||||
invoke_on_load=True)
|
invoke_on_load=True)
|
@ -33,7 +33,7 @@ import logging
|
|||||||
|
|
||||||
import six.moves.urllib.parse as urlparse
|
import six.moves.urllib.parse as urlparse
|
||||||
|
|
||||||
from glance.store.openstack.common import jsonutils
|
from glance_store.openstack.common import jsonutils
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
@ -20,10 +20,10 @@ import logging
|
|||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
from glance.store.openstack.common import importutils
|
from glance_store.openstack.common import importutils
|
||||||
from glance.store.openstack.common import strutils
|
from glance_store.openstack.common import strutils
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -113,24 +113,24 @@ class Store(object):
|
|||||||
|
|
||||||
def get(self, location, offset=0, chunk_size=None, context=None):
|
def get(self, location, offset=0, chunk_size=None, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns a tuple of generator
|
where to find the image file, and returns a tuple of generator
|
||||||
(for reading the image file) and image_size
|
(for reading the image file) and image_size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.exceptions.NotFound` if image does not exist
|
:raises `glance.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def get_size(self, location, context=None):
|
def get_size(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file, and returns the size
|
where to find the image file, and returns the size
|
||||||
|
|
||||||
:param location `glance.store.location.Location` object, supplied
|
:param location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
@ -154,19 +154,19 @@ class Store(object):
|
|||||||
|
|
||||||
:retval tuple of URL in backing store, bytes written, checksum
|
:retval tuple of URL in backing store, bytes written, checksum
|
||||||
and a dictionary with storage system specific information
|
and a dictionary with storage system specific information
|
||||||
:raises `glance.store.exceptions.Duplicate` if the image already
|
:raises `glance_store.exceptions.Duplicate` if the image already
|
||||||
existed
|
existed
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def delete(self, location, context=None):
|
def delete(self, location, context=None):
|
||||||
"""
|
"""
|
||||||
Takes a `glance.store.location.Location` object that indicates
|
Takes a `glance_store.location.Location` object that indicates
|
||||||
where to find the image file to delete
|
where to find the image file to delete
|
||||||
|
|
||||||
:location `glance.store.location.Location` object, supplied
|
:location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:raises `glance.store.exceptions.NotFound` if image does not exist
|
:raises `glance_store.exceptions.NotFound` if image does not exist
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
@ -176,8 +176,8 @@ class Store(object):
|
|||||||
Sets the read and write access control list for an image in the
|
Sets the read and write access control list for an image in the
|
||||||
backend store.
|
backend store.
|
||||||
|
|
||||||
:location `glance.store.location.Location` object, supplied
|
:location `glance_store.location.Location` object, supplied
|
||||||
from glance.store.location.get_location_from_uri()
|
from glance_store.location.get_location_from_uri()
|
||||||
:public A boolean indicating whether the image should be public.
|
:public A boolean indicating whether the image should be public.
|
||||||
:read_tenants A list of tenant strings which should be granted
|
:read_tenants A list of tenant strings which should be granted
|
||||||
read access for an image.
|
read access for an image.
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
"""Glance Store exception subclasses"""
|
"""Glance Store exception subclasses"""
|
||||||
|
|
||||||
from glance.store.i18n import _
|
from glance_store.i18n import _
|
||||||
|
|
||||||
|
|
||||||
class BackendException(Exception):
|
class BackendException(Exception):
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
from oslo import i18n
|
from oslo import i18n
|
||||||
|
|
||||||
_translators = i18n.TranslatorFactory(domain='glance.store')
|
_translators = i18n.TranslatorFactory(domain='glance_store')
|
||||||
|
|
||||||
# The primary translation function using the well-known name "_"
|
# The primary translation function using the well-known name "_"
|
||||||
_ = _translators.primary
|
_ = _translators.primary
|
@ -1,13 +1,13 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# Andreas Jaeger <jaegerandi@gmail.com>, 2014
|
# Andreas Jaeger <jaegerandi@gmail.com>, 2014
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -21,12 +21,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "Ursprüngliche Ausnahme wird gelöscht: %s"
|
msgstr "Ursprüngliche Ausnahme wird gelöscht: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "Unerwartete Ausnahme %d mal(e) aufgetreten... Neuversuch."
|
msgstr "Unerwartete Ausnahme %d mal(e) aufgetreten... Neuversuch."
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "Original exception being dropped: %s"
|
msgstr "Original exception being dropped: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "Unexpected exception occurred %d time(s)... retrying."
|
msgstr "Unexpected exception occurred %d time(s)... retrying."
|
@ -6,7 +6,7 @@
|
|||||||
# Andi Chandler <andi@gowling.com>, 2014
|
# Andi Chandler <andi@gowling.com>, 2014
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-25 23:07+0000\n"
|
"PO-Revision-Date: 2014-07-25 23:07+0000\n"
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "Original exception being dropped: %s"
|
msgstr "Original exception being dropped: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "Unexpected exception occurred %d time(s)... retrying."
|
msgstr "Unexpected exception occurred %d time(s)... retrying."
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:33+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:33+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "Se está descartando excepción original: %s"
|
msgstr "Se está descartando excepción original: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "La excepción inesperada ha ocurrido %d vez(veces)... reintentando."
|
msgstr "La excepción inesperada ha ocurrido %d vez(veces)... reintentando."
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "Exception d'origine en cours de suppression : %s"
|
msgstr "Exception d'origine en cours de suppression : %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "Exception inattendue survenue %d fois... Nouvel essai."
|
msgstr "Exception inattendue survenue %d fois... Nouvel essai."
|
@ -1,13 +1,13 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store 7f610d0\n"
|
"Project-Id-Version: glance_store 7f610d0\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
@ -1,13 +1,13 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store 7f610d0\n"
|
"Project-Id-Version: glance_store 7f610d0\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
@ -18,12 +18,12 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr ""
|
msgstr ""
|
@ -1,13 +1,13 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store 7f610d0\n"
|
"Project-Id-Version: glance_store 7f610d0\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
@ -1,13 +1,13 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store 7f610d0\n"
|
"Project-Id-Version: glance_store 7f610d0\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
@ -1,13 +1,13 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store 0.0.1a1.1.ga360e0e\n"
|
"Project-Id-Version: glance_store 0.0.1a1.1.ga360e0e\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-08-05 06:00+0000\n"
|
"POT-Creation-Date: 2014-08-05 06:00+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
@ -18,425 +18,425 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
|
|
||||||
#: glance/store/backend.py:36
|
#: glance_store/backend.py:36
|
||||||
msgid "List of stores enabled"
|
msgid "List of stores enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/backend.py:39
|
#: glance_store/backend.py:39
|
||||||
msgid ""
|
msgid ""
|
||||||
"Default scheme to use to store image data. The scheme must be registered "
|
"Default scheme to use to store image data. The scheme must be registered "
|
||||||
"by one of the stores defined by the 'stores' config option."
|
"by one of the stores defined by the 'stores' config option."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/backend.py:194
|
#: glance_store/backend.py:194
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Store for scheme %s not found"
|
msgid "Store for scheme %s not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/backend.py:276
|
#: glance_store/backend.py:276
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to delete image %s in store from URI"
|
msgid "Failed to delete image %s in store from URI"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/backend.py:282
|
#: glance_store/backend.py:282
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to delete image %(image_id)s from store (%(exc_type)s)"
|
msgid "Failed to delete image %(image_id)s from store (%(exc_type)s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/backend.py:305
|
#: glance_store/backend.py:305
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The image metadata key %(key)s has an invalid type of %(type)s. Only "
|
"The image metadata key %(key)s has an invalid type of %(type)s. Only "
|
||||||
"dict, list, and unicode are supported."
|
"dict, list, and unicode are supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/backend.py:329
|
#: glance_store/backend.py:329
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The storage driver %(driver)s returned invalid metadata %(metadata)s. "
|
"The storage driver %(driver)s returned invalid metadata %(metadata)s. "
|
||||||
"This must be a dictionary type"
|
"This must be a dictionary type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/backend.py:337
|
#: glance_store/backend.py:337
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"A bad metadata structure was returned from the %(driver)s storage driver:"
|
"A bad metadata structure was returned from the %(driver)s storage driver:"
|
||||||
" %(metadata)s. %(e)s."
|
" %(metadata)s. %(e)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/backend.py:371
|
#: glance_store/backend.py:371
|
||||||
msgid "Skipping store.set_acls... not implemented."
|
msgid "Skipping store.set_acls... not implemented."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/driver.py:38
|
#: glance_store/driver.py:38
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Caught '%(exception)s' exception."
|
msgid "Caught '%(exception)s' exception."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/driver.py:77
|
#: glance_store/driver.py:77
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to configure store correctly: %s Disabling add method."
|
msgid "Failed to configure store correctly: %s Disabling add method."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:46
|
#: glance_store/exceptions.py:46
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Missing required credential: %(required)s"
|
msgid "Missing required credential: %(required)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:50
|
#: glance_store/exceptions.py:50
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Incorrect auth strategy, expected \"%(expected)s\" but received "
|
"Incorrect auth strategy, expected \"%(expected)s\" but received "
|
||||||
"\"%(received)s\""
|
"\"%(received)s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:55
|
#: glance_store/exceptions.py:55
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Image %(image)s not found"
|
msgid "Image %(image)s not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:59
|
#: glance_store/exceptions.py:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unknown scheme '%(scheme)s' found in URI"
|
msgid "Unknown scheme '%(scheme)s' found in URI"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:63
|
#: glance_store/exceptions.py:63
|
||||||
msgid "The Store URI was malformed: %(uri)"
|
msgid "The Store URI was malformed: %(uri)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:67
|
#: glance_store/exceptions.py:67
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Image %(image)s already exists"
|
msgid "Image %(image)s already exists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:71
|
#: glance_store/exceptions.py:71
|
||||||
msgid "An object with the same identifier is currently being operated on."
|
msgid "An object with the same identifier is currently being operated on."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:76
|
#: glance_store/exceptions.py:76
|
||||||
msgid "There is not enough disk space on the image storage media."
|
msgid "There is not enough disk space on the image storage media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:80
|
#: glance_store/exceptions.py:80
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The size of the data %(image_size)s will exceed the limit. %(remaining)s "
|
"The size of the data %(image_size)s will exceed the limit. %(remaining)s "
|
||||||
"bytes remaining."
|
"bytes remaining."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:85
|
#: glance_store/exceptions.py:85
|
||||||
msgid "Permission to write image storage media denied."
|
msgid "Permission to write image storage media denied."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:89
|
#: glance_store/exceptions.py:89
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Connect error/bad request to Auth service at URL %(url)s."
|
msgid "Connect error/bad request to Auth service at URL %(url)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:93
|
#: glance_store/exceptions.py:93
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Auth service at URL %(url)s not found."
|
msgid "Auth service at URL %(url)s not found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:97
|
#: glance_store/exceptions.py:97
|
||||||
msgid "Authorization failed."
|
msgid "Authorization failed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:101
|
#: glance_store/exceptions.py:101
|
||||||
msgid "You are not authenticated."
|
msgid "You are not authenticated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:105 glance/store/exceptions.py:109
|
#: glance_store/exceptions.py:105 glance_store/exceptions.py:109
|
||||||
msgid "You are not authorized to complete this action."
|
msgid "You are not authorized to complete this action."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:113
|
#: glance_store/exceptions.py:113
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Image %(image_id)s is protected and cannot be deleted."
|
msgid "Image %(image_id)s is protected and cannot be deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:117
|
#: glance_store/exceptions.py:117
|
||||||
msgid "Data supplied was not valid."
|
msgid "Data supplied was not valid."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:121
|
#: glance_store/exceptions.py:121
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s"
|
msgid "Store %(store_name)s could not be configured correctly. Reason: %(reason)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:126
|
#: glance_store/exceptions.py:126
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Driver %(driver_name)s could not be loaded."
|
msgid "Driver %(driver_name)s could not be loaded."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:130
|
#: glance_store/exceptions.py:130
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Driver %(driver_name)s could not be configured correctly. Reason: "
|
"Driver %(driver_name)s could not be configured correctly. Reason: "
|
||||||
"%(reason)s"
|
"%(reason)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:135
|
#: glance_store/exceptions.py:135
|
||||||
msgid "Deleting images from this store is not supported."
|
msgid "Deleting images from this store is not supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:139
|
#: glance_store/exceptions.py:139
|
||||||
msgid "Getting images from this store is not supported."
|
msgid "Getting images from this store is not supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:143
|
#: glance_store/exceptions.py:143
|
||||||
msgid "Adding images to this store is not supported."
|
msgid "Adding images to this store is not supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:147
|
#: glance_store/exceptions.py:147
|
||||||
msgid "Configuration for store failed. Adding images to this store is disabled."
|
msgid "Configuration for store failed. Adding images to this store is disabled."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:152
|
#: glance_store/exceptions.py:152
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Maximum redirects (%(redirects)s) was exceeded."
|
msgid "Maximum redirects (%(redirects)s) was exceeded."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:156
|
#: glance_store/exceptions.py:156
|
||||||
msgid "Received invalid HTTP redirect."
|
msgid "Received invalid HTTP redirect."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:160
|
#: glance_store/exceptions.py:160
|
||||||
msgid "Response from Keystone does not contain a Glance endpoint."
|
msgid "Response from Keystone does not contain a Glance endpoint."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:164
|
#: glance_store/exceptions.py:164
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Multiple 'image' service matches for region %(region)s. This generally "
|
"Multiple 'image' service matches for region %(region)s. This generally "
|
||||||
"means that a region is required and you have not supplied one."
|
"means that a region is required and you have not supplied one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:170
|
#: glance_store/exceptions.py:170
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Server worker creation failed: %(reason)s."
|
msgid "Server worker creation failed: %(reason)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:174
|
#: glance_store/exceptions.py:174
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unable to load schema: %(reason)s"
|
msgid "Unable to load schema: %(reason)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:178
|
#: glance_store/exceptions.py:178
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Provided object does not match schema '%(schema)s': %(reason)s"
|
msgid "Provided object does not match schema '%(schema)s': %(reason)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:183
|
#: glance_store/exceptions.py:183
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Provided header feature is unsupported: %(feature)s"
|
msgid "Provided header feature is unsupported: %(feature)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:187
|
#: glance_store/exceptions.py:187
|
||||||
msgid ""
|
msgid ""
|
||||||
"The image cannot be deleted because it is in use through the backend "
|
"The image cannot be deleted because it is in use through the backend "
|
||||||
"store outside of Glance."
|
"store outside of Glance."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:192
|
#: glance_store/exceptions.py:192
|
||||||
msgid "No image data could be found"
|
msgid "No image data could be found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:196
|
#: glance_store/exceptions.py:196
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid value '%(value)s' for parameter '%(param)s': %(extra_msg)s"
|
msgid "Invalid value '%(value)s' for parameter '%(param)s': %(extra_msg)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/exceptions.py:201
|
#: glance_store/exceptions.py:201
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Image status transition from %(cur_status)s to %(new_status)s is not "
|
"Image status transition from %(cur_status)s to %(new_status)s is not "
|
||||||
"allowed"
|
"allowed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/auth.py:185 glance/store/common/auth.py:225
|
#: glance_store/common/auth.py:185 glance_store/common/auth.py:225
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected response: %s"
|
msgid "Unexpected response: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/auth.py:253
|
#: glance_store/common/auth.py:253
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unknown auth strategy '%s'"
|
msgid "Unknown auth strategy '%s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/auth.py:274
|
#: glance_store/common/auth.py:274
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Encountered service with no \"type\": %s"
|
msgid "Encountered service with no \"type\": %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:34
|
#: glance_store/common/config.py:34
|
||||||
msgid ""
|
msgid ""
|
||||||
"Partial name of a pipeline in your paste configuration file with the "
|
"Partial name of a pipeline in your paste configuration file with the "
|
||||||
"service name removed. For example, if your paste section name is "
|
"service name removed. For example, if your paste section name is "
|
||||||
"[pipeline:glance-api-keystone] use the value \"keystone\""
|
"[pipeline:glance-api-keystone] use the value \"keystone\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:40
|
#: glance_store/common/config.py:40
|
||||||
msgid "Name of the paste configuration file."
|
msgid "Name of the paste configuration file."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:45
|
#: glance_store/common/config.py:45
|
||||||
msgid "Supported values for the 'container_format' image attribute"
|
msgid "Supported values for the 'container_format' image attribute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:52
|
#: glance_store/common/config.py:52
|
||||||
msgid "Supported values for the 'disk_format' image attribute"
|
msgid "Supported values for the 'disk_format' image attribute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:60
|
#: glance_store/common/config.py:60
|
||||||
msgid "Time in hours for which a task lives after, either succeeding or failing"
|
msgid "Time in hours for which a task lives after, either succeeding or failing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:67
|
#: glance_store/common/config.py:67
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to allow users to specify image properties beyond what the image "
|
"Whether to allow users to specify image properties beyond what the image "
|
||||||
"schema provides"
|
"schema provides"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:70
|
#: glance_store/common/config.py:70
|
||||||
msgid ""
|
msgid ""
|
||||||
"Maximum number of image members per image. Negative values evaluate to "
|
"Maximum number of image members per image. Negative values evaluate to "
|
||||||
"unlimited."
|
"unlimited."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:73
|
#: glance_store/common/config.py:73
|
||||||
msgid ""
|
msgid ""
|
||||||
"Maximum number of properties allowed on an image. Negative values "
|
"Maximum number of properties allowed on an image. Negative values "
|
||||||
"evaluate to unlimited."
|
"evaluate to unlimited."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:76
|
#: glance_store/common/config.py:76
|
||||||
msgid ""
|
msgid ""
|
||||||
"Maximum number of tags allowed on an image. Negative values evaluate to "
|
"Maximum number of tags allowed on an image. Negative values evaluate to "
|
||||||
"unlimited."
|
"unlimited."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:79
|
#: glance_store/common/config.py:79
|
||||||
msgid ""
|
msgid ""
|
||||||
"Maximum number of locations allowed on an image. Negative values evaluate"
|
"Maximum number of locations allowed on an image. Negative values evaluate"
|
||||||
" to unlimited."
|
" to unlimited."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:82
|
#: glance_store/common/config.py:82
|
||||||
msgid "Python module path of data access API"
|
msgid "Python module path of data access API"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:84
|
#: glance_store/common/config.py:84
|
||||||
msgid ""
|
msgid ""
|
||||||
"Default value for the number of items returned by a request if not "
|
"Default value for the number of items returned by a request if not "
|
||||||
"specified explicitly in the request"
|
"specified explicitly in the request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:87
|
#: glance_store/common/config.py:87
|
||||||
msgid "Maximum permissible number of items that could be returned by a request"
|
msgid "Maximum permissible number of items that could be returned by a request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:90
|
#: glance_store/common/config.py:90
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to include the backend image storage location in image "
|
"Whether to include the backend image storage location in image "
|
||||||
"properties. Revealing storage location can be a security risk, so use "
|
"properties. Revealing storage location can be a security risk, so use "
|
||||||
"this setting with caution!"
|
"this setting with caution!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:95
|
#: glance_store/common/config.py:95
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to include the backend image locations in image properties. "
|
"Whether to include the backend image locations in image properties. "
|
||||||
"Revealing storage location can be a security risk, so use this setting "
|
"Revealing storage location can be a security risk, so use this setting "
|
||||||
"with caution! The overrides show_image_direct_url."
|
"with caution! The overrides show_image_direct_url."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:100
|
#: glance_store/common/config.py:100
|
||||||
msgid ""
|
msgid ""
|
||||||
"Maximum size of image a user can upload in bytes. Defaults to "
|
"Maximum size of image a user can upload in bytes. Defaults to "
|
||||||
"1099511627776 bytes (1 TB)."
|
"1099511627776 bytes (1 TB)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:103
|
#: glance_store/common/config.py:103
|
||||||
msgid ""
|
msgid ""
|
||||||
"Set a system wide quota for every user. This value is the total number "
|
"Set a system wide quota for every user. This value is the total number "
|
||||||
"of bytes that a user can use across all storage systems. A value of 0 "
|
"of bytes that a user can use across all storage systems. A value of 0 "
|
||||||
"means unlimited."
|
"means unlimited."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:107
|
#: glance_store/common/config.py:107
|
||||||
msgid "Deploy the v1 OpenStack Images API."
|
msgid "Deploy the v1 OpenStack Images API."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:109
|
#: glance_store/common/config.py:109
|
||||||
msgid "Deploy the v2 OpenStack Images API."
|
msgid "Deploy the v2 OpenStack Images API."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:111
|
#: glance_store/common/config.py:111
|
||||||
msgid "The hostname/IP of the pydev process listening for debug connections"
|
msgid "The hostname/IP of the pydev process listening for debug connections"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:114
|
#: glance_store/common/config.py:114
|
||||||
msgid "The port on which a pydev process is listening for connections."
|
msgid "The port on which a pydev process is listening for connections."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:117
|
#: glance_store/common/config.py:117
|
||||||
msgid ""
|
msgid ""
|
||||||
"Key used for encrypting sensitive metadata while talking to the registry "
|
"Key used for encrypting sensitive metadata while talking to the registry "
|
||||||
"or database."
|
"or database."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:203
|
#: glance_store/common/config.py:203
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Loading %(app_name)s from %(conf_file)s"
|
msgid "Loading %(app_name)s from %(conf_file)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/config.py:214
|
#: glance_store/common/config.py:214
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
|
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
|
||||||
"Got: %(e)r"
|
"Got: %(e)r"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/common/utils.py:84
|
#: glance_store/common/utils.py:84
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Error: cooperative_iter exception %s"
|
msgid "Error: cooperative_iter exception %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/gettextutils.py:320
|
#: glance_store/openstack/common/gettextutils.py:320
|
||||||
msgid "Message objects do not support addition."
|
msgid "Message objects do not support addition."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/gettextutils.py:330
|
#: glance_store/openstack/common/gettextutils.py:330
|
||||||
msgid ""
|
msgid ""
|
||||||
"Message objects do not support str() because they may contain non-ascii "
|
"Message objects do not support str() because they may contain non-ascii "
|
||||||
"characters. Please use unicode() or translate() instead."
|
"characters. Please use unicode() or translate() instead."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/log.py:275
|
#: glance_store/openstack/common/log.py:275
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Deprecated: %s"
|
msgid "Deprecated: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/log.py:384
|
#: glance_store/openstack/common/log.py:384
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
|
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/log.py:434
|
#: glance_store/openstack/common/log.py:434
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "syslog facility must be one of: %s"
|
msgid "syslog facility must be one of: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/log.py:677
|
#: glance_store/openstack/common/log.py:677
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Fatal call to deprecated config: %(msg)s"
|
msgid "Fatal call to deprecated config: %(msg)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/processutils.py:59
|
#: glance_store/openstack/common/processutils.py:59
|
||||||
msgid "Unexpected error while running command."
|
msgid "Unexpected error while running command."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/processutils.py:62
|
#: glance_store/openstack/common/processutils.py:62
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%(description)s\n"
|
"%(description)s\n"
|
||||||
@ -446,34 +446,34 @@ msgid ""
|
|||||||
"Stderr: %(stderr)r"
|
"Stderr: %(stderr)r"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/processutils.py:143
|
#: glance_store/openstack/common/processutils.py:143
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Got unknown keyword args to utils.execute: %r"
|
msgid "Got unknown keyword args to utils.execute: %r"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/processutils.py:149
|
#: glance_store/openstack/common/processutils.py:149
|
||||||
msgid "Command requested root, but did not specify a root helper."
|
msgid "Command requested root, but did not specify a root helper."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/processutils.py:246
|
#: glance_store/openstack/common/processutils.py:246
|
||||||
msgid "Environment not supported over SSH"
|
msgid "Environment not supported over SSH"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/processutils.py:250
|
#: glance_store/openstack/common/processutils.py:250
|
||||||
msgid "process_input not supported over SSH"
|
msgid "process_input not supported over SSH"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/strutils.py:114
|
#: glance_store/openstack/common/strutils.py:114
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
|
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/strutils.py:219
|
#: glance_store/openstack/common/strutils.py:219
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid unit system: \"%s\""
|
msgid "Invalid unit system: \"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: glance/store/openstack/common/strutils.py:228
|
#: glance_store/openstack/common/strutils.py:228
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid string format: %s"
|
msgid "Invalid string format: %s"
|
||||||
msgstr ""
|
msgstr ""
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:33+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:33+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "Eccezione originale in corso di eliminazione: %s"
|
msgstr "Eccezione originale in corso di eliminazione: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "Un errore inatteso si è verificato %d volte... ritento."
|
msgstr "Un errore inatteso si è verificato %d volte... ritento."
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "除去される元の例外: %s"
|
msgstr "除去される元の例外: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "予期せぬ例外が、%d回()発生しました。再試行中。"
|
msgstr "予期せぬ例外が、%d回()発生しました。再試行中。"
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "기존 예외가 삭제됨: %s"
|
msgstr "기존 예외가 삭제됨: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "예기치 않은 예외 %d 번 발생하였습니다... 다시 시도중."
|
msgstr "예기치 않은 예외 %d 번 발생하였습니다... 다시 시도중."
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "Exceção original sendo descartada: %s"
|
msgstr "Exceção original sendo descartada: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "Exceção não esperada ocorreu %d vez(es)... tentando novamente."
|
msgstr "Exceção não esperada ocorreu %d vez(es)... tentando novamente."
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "Ngoại lệ ban đầu được giảm xuống: %s"
|
msgstr "Ngoại lệ ban đầu được giảm xuống: %s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "Ngoại lệ bất ngờ xảy ra %d thời gian(s) ... thử lại"
|
msgstr "Ngoại lệ bất ngờ xảy ra %d thời gian(s) ... thử lại"
|
@ -1,12 +1,12 @@
|
|||||||
# Translations template for glance.store.
|
# Translations template for glance_store.
|
||||||
# Copyright (C) 2014 ORGANIZATION
|
# Copyright (C) 2014 ORGANIZATION
|
||||||
# This file is distributed under the same license as the glance.store
|
# This file is distributed under the same license as the glance_store
|
||||||
# project.
|
# project.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: glance.store\n"
|
"Project-Id-Version: glance_store\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
"POT-Creation-Date: 2014-07-29 06:00+0000\n"
|
||||||
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
"PO-Revision-Date: 2014-07-16 18:34+0000\n"
|
||||||
@ -20,12 +20,12 @@ msgstr ""
|
|||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:76
|
#: glance_store/openstack/common/excutils.py:76
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Original exception being dropped: %s"
|
msgid "Original exception being dropped: %s"
|
||||||
msgstr "正在删除原始异常:%s"
|
msgstr "正在删除原始异常:%s"
|
||||||
|
|
||||||
#: glance/store/openstack/common/excutils.py:105
|
#: glance_store/openstack/common/excutils.py:105
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unexpected exception occurred %d time(s)... retrying."
|
msgid "Unexpected exception occurred %d time(s)... retrying."
|
||||||
msgstr "意外的异常已发生 %d 次...正在重试。"
|
msgstr "意外的异常已发生 %d 次...正在重试。"
|
@ -40,7 +40,7 @@ credentials and is **not** user-facing.
|
|||||||
import logging
|
import logging
|
||||||
import urlparse
|
import urlparse
|
||||||
|
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
@ -24,7 +24,7 @@ import traceback
|
|||||||
|
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from glance.store.openstack.common.gettextutils import _LE
|
from glance_store.openstack.common.gettextutils import _LE
|
||||||
|
|
||||||
|
|
||||||
class save_and_reraise_exception(object):
|
class save_and_reraise_exception(object):
|
@ -18,8 +18,8 @@ import errno
|
|||||||
import os
|
import os
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
from glance.store.openstack.common import excutils
|
from glance_store.openstack.common import excutils
|
||||||
from glance.store.openstack.common import log as logging
|
from glance_store.openstack.common import log as logging
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
@ -19,7 +19,7 @@ gettext for openstack-common modules.
|
|||||||
|
|
||||||
Usual usage in an openstack.common module:
|
Usual usage in an openstack.common module:
|
||||||
|
|
||||||
from glance.store.openstack.common.gettextutils import _
|
from glance_store.openstack.common.gettextutils import _
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
@ -120,7 +120,7 @@ class TranslatorFactory(object):
|
|||||||
# module within each application.
|
# module within each application.
|
||||||
|
|
||||||
# Create the global translation functions.
|
# Create the global translation functions.
|
||||||
_translators = TranslatorFactory('glance.store')
|
_translators = TranslatorFactory('glance_store')
|
||||||
|
|
||||||
# The primary translation function using the well-known name "_"
|
# The primary translation function using the well-known name "_"
|
||||||
_ = _translators.primary
|
_ = _translators.primary
|
||||||
@ -150,7 +150,7 @@ def enable_lazy():
|
|||||||
# FIXME(dhellmann): This function will be removed in oslo.i18n,
|
# FIXME(dhellmann): This function will be removed in oslo.i18n,
|
||||||
# because the TranslatorFactory makes it superfluous.
|
# because the TranslatorFactory makes it superfluous.
|
||||||
global _, _LI, _LW, _LE, _LC, USE_LAZY
|
global _, _LI, _LW, _LE, _LC, USE_LAZY
|
||||||
tf = TranslatorFactory('glance.store', lazy=True)
|
tf = TranslatorFactory('glance_store', lazy=True)
|
||||||
_ = tf.primary
|
_ = tf.primary
|
||||||
_LI = tf.log_info
|
_LI = tf.log_info
|
||||||
_LW = tf.log_warning
|
_LW = tf.log_warning
|
||||||
@ -201,7 +201,7 @@ class Message(six.text_type):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __new__(cls, msgid, msgtext=None, params=None,
|
def __new__(cls, msgid, msgtext=None, params=None,
|
||||||
domain='glance.store', *args):
|
domain='glance_store', *args):
|
||||||
"""Create a new Message object.
|
"""Create a new Message object.
|
||||||
|
|
||||||
In order for translation to work gettext requires a message ID, this
|
In order for translation to work gettext requires a message ID, this
|
@ -59,7 +59,7 @@ def import_module(import_str):
|
|||||||
|
|
||||||
|
|
||||||
def import_versioned_module(version, submodule=None):
|
def import_versioned_module(version, submodule=None):
|
||||||
module = 'glance.store.v%s' % version
|
module = 'glance_store.v%s' % version
|
||||||
if submodule:
|
if submodule:
|
||||||
module = '.'.join((module, submodule))
|
module = '.'.join((module, submodule))
|
||||||
return import_module(module)
|
return import_module(module)
|
@ -51,10 +51,10 @@ else:
|
|||||||
import six
|
import six
|
||||||
import six.moves.xmlrpc_client as xmlrpclib
|
import six.moves.xmlrpc_client as xmlrpclib
|
||||||
|
|
||||||
from glance.store.openstack.common import gettextutils
|
from glance_store.openstack.common import gettextutils
|
||||||
from glance.store.openstack.common import importutils
|
from glance_store.openstack.common import importutils
|
||||||
from glance.store.openstack.common import strutils
|
from glance_store.openstack.common import strutils
|
||||||
from glance.store.openstack.common import timeutils
|
from glance_store.openstack.common import timeutils
|
||||||
|
|
||||||
netaddr = importutils.try_import("netaddr")
|
netaddr = importutils.try_import("netaddr")
|
||||||
|
|
@ -40,13 +40,13 @@ from oslo.config import cfg
|
|||||||
import six
|
import six
|
||||||
from six import moves
|
from six import moves
|
||||||
|
|
||||||
from glance.store.openstack.common.gettextutils import _
|
from glance_store.openstack.common.gettextutils import _
|
||||||
from glance.store.openstack.common import importutils
|
from glance_store.openstack.common import importutils
|
||||||
from glance.store.openstack.common import jsonutils
|
from glance_store.openstack.common import jsonutils
|
||||||
from glance.store.openstack.common import local
|
from glance_store.openstack.common import local
|
||||||
# NOTE(flaper87): Pls, remove when graduating this module
|
# NOTE(flaper87): Pls, remove when graduating this module
|
||||||
# from the incubator.
|
# from the incubator.
|
||||||
from glance.store.openstack.common.strutils import mask_password # noqa
|
from glance_store.openstack.common.strutils import mask_password # noqa
|
||||||
|
|
||||||
|
|
||||||
_DEFAULT_LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
|
_DEFAULT_LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
|
||||||
@ -490,7 +490,7 @@ def _setup_logging_from_conf(project, version):
|
|||||||
if CONF.publish_errors:
|
if CONF.publish_errors:
|
||||||
try:
|
try:
|
||||||
handler = importutils.import_object(
|
handler = importutils.import_object(
|
||||||
"glance.store.openstack.common.log_handler.PublishErrorsHandler",
|
"glance_store.openstack.common.log_handler.PublishErrorsHandler",
|
||||||
logging.ERROR)
|
logging.ERROR)
|
||||||
except ImportError:
|
except ImportError:
|
||||||
handler = importutils.import_object(
|
handler = importutils.import_object(
|
@ -29,8 +29,8 @@ from eventlet.green import subprocess
|
|||||||
from eventlet import greenthread
|
from eventlet import greenthread
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from glance.store.openstack.common.gettextutils import _
|
from glance_store.openstack.common.gettextutils import _
|
||||||
from glance.store.openstack.common import strutils
|
from glance_store.openstack.common import strutils
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
@ -24,7 +24,7 @@ import unicodedata
|
|||||||
|
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from glance.store.openstack.common.gettextutils import _
|
from glance_store.openstack.common.gettextutils import _
|
||||||
|
|
||||||
|
|
||||||
UNIT_PREFIX_EXPONENT = {
|
UNIT_PREFIX_EXPONENT = {
|
@ -21,8 +21,8 @@ import fixtures
|
|||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
from oslotest import base
|
from oslotest import base
|
||||||
|
|
||||||
import glance.store as store
|
import glance_store as store
|
||||||
from glance.store import location
|
from glance_store import location
|
||||||
|
|
||||||
|
|
||||||
class StoreBaseTest(base.BaseTestCase):
|
class StoreBaseTest(base.BaseTestCase):
|
||||||
@ -47,7 +47,7 @@ class StoreBaseTest(base.BaseTestCase):
|
|||||||
self.addCleanup(self.conf.reset)
|
self.addCleanup(self.conf.reset)
|
||||||
|
|
||||||
def copy_data_file(self, file_name, dst_dir):
|
def copy_data_file(self, file_name, dst_dir):
|
||||||
src_file_name = os.path.join('glance/store/tests/etc', file_name)
|
src_file_name = os.path.join('glance_store/tests/etc', file_name)
|
||||||
shutil.copy(src_file_name, dst_dir)
|
shutil.copy(src_file_name, dst_dir)
|
||||||
dst_file_name = os.path.join(dst_dir, file_name)
|
dst_file_name = os.path.join(dst_dir, file_name)
|
||||||
return dst_file_name
|
return dst_file_name
|
@ -13,7 +13,7 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
|
|
||||||
|
|
||||||
class UnconfigurableStore(base.Store):
|
class UnconfigurableStore(base.Store):
|
31
setup.cfg
31
setup.cfg
@ -1,5 +1,5 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
name = glance.store
|
name = glance_store
|
||||||
summary = OpenStack Image Service Store Library
|
summary = OpenStack Image Service Store Library
|
||||||
description-file =
|
description-file =
|
||||||
README.rst
|
README.rst
|
||||||
@ -20,19 +20,18 @@ classifier =
|
|||||||
|
|
||||||
[files]
|
[files]
|
||||||
packages =
|
packages =
|
||||||
glance
|
glance_store
|
||||||
namespace_packages =
|
|
||||||
glance
|
|
||||||
|
|
||||||
[entry_points]
|
[entry_points]
|
||||||
glance.store.drivers =
|
glance_store.drivers =
|
||||||
file = glance.store._drivers.filesystem:Store
|
file = glance_store._drivers.filesystem:Store
|
||||||
http = glance.store._drivers.http:Store
|
http = glance_store._drivers.http:Store
|
||||||
swift = glance.store._drivers.swift:Store
|
swift = glance_store._drivers.swift:Store
|
||||||
vmware = glance.store._drivers.vmware_datastore:Store
|
vmware = glance_store._drivers.vmware_datastore:Store
|
||||||
|
|
||||||
# TESTS ONLY
|
# TESTS ONLY
|
||||||
no_conf = glance.store.tests.fakes:UnconfigurableStore
|
no_conf = glance_store.tests.fakes:UnconfigurableStore
|
||||||
|
|
||||||
[build_sphinx]
|
[build_sphinx]
|
||||||
source-dir = doc/source
|
source-dir = doc/source
|
||||||
build-dir = doc/build
|
build-dir = doc/build
|
||||||
@ -42,15 +41,15 @@ all_files = 1
|
|||||||
upload-dir = doc/build/html
|
upload-dir = doc/build/html
|
||||||
|
|
||||||
[compile_catalog]
|
[compile_catalog]
|
||||||
directory = glance.store/locale
|
directory = glance_store/locale
|
||||||
domain = glance.store
|
domain = glance_store
|
||||||
|
|
||||||
[update_catalog]
|
[update_catalog]
|
||||||
domain = glance.store
|
domain = glance_store
|
||||||
output_dir = glance.store/locale
|
output_dir = glance_store/locale
|
||||||
input_file = glance.store/locale/glance.store.pot
|
input_file = glance_store/locale/glance_store.pot
|
||||||
|
|
||||||
[extract_messages]
|
[extract_messages]
|
||||||
keywords = _ gettext ngettext l_ lazy_gettext
|
keywords = _ gettext ngettext l_ lazy_gettext
|
||||||
mapping_file = babel.cfg
|
mapping_file = babel.cfg
|
||||||
output_file = glance.store/locale/glance.store.pot
|
output_file = glance_store/locale/glance_store.pot
|
||||||
|
@ -16,10 +16,10 @@
|
|||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
|
||||||
from glance.store._drivers import cinder
|
from glance_store._drivers import cinder
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.location import get_location_from_uri
|
from glance_store.location import get_location_from_uri
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
|
|
||||||
|
|
||||||
class FakeObject(object):
|
class FakeObject(object):
|
||||||
|
@ -27,12 +27,12 @@ import uuid
|
|||||||
import fixtures
|
import fixtures
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from glance.store._drivers.filesystem import ChunkedFile
|
from glance_store._drivers.filesystem import ChunkedFile
|
||||||
from glance.store._drivers.filesystem import Store
|
from glance_store._drivers.filesystem import Store
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.location import get_location_from_uri
|
from glance_store.location import get_location_from_uri
|
||||||
from glance.store.openstack.common import units
|
from glance_store.openstack.common import units
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
|
|
||||||
|
|
||||||
KB = 1024
|
KB = 1024
|
||||||
|
@ -17,8 +17,8 @@ import StringIO
|
|||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from glance.store._drivers import gridfs as gfs
|
from glance_store._drivers import gridfs as gfs
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import gridfs
|
import gridfs
|
||||||
|
@ -15,13 +15,13 @@
|
|||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from glance.store._drivers import http
|
from glance_store._drivers import http
|
||||||
from glance.store import delete_from_backend
|
from glance_store import delete_from_backend
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.location import get_location_from_uri
|
from glance_store.location import get_location_from_uri
|
||||||
from glance.store import safe_delete_from_backend
|
from glance_store import safe_delete_from_backend
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
from glance.store.tests import utils
|
from glance_store.tests import utils
|
||||||
|
|
||||||
|
|
||||||
class TestHttpStore(base.StoreBaseTest):
|
class TestHttpStore(base.StoreBaseTest):
|
||||||
|
@ -17,10 +17,10 @@ import StringIO
|
|||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from glance.store._drivers import rbd as rbd_store
|
from glance_store._drivers import rbd as rbd_store
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.location import Location
|
from glance_store.location import Location
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
|
|
||||||
|
|
||||||
class MockRados(object):
|
class MockRados(object):
|
||||||
|
@ -22,13 +22,13 @@ import uuid
|
|||||||
import boto.s3.connection
|
import boto.s3.connection
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.openstack.common import units
|
from glance_store.openstack.common import units
|
||||||
|
|
||||||
from glance.store._drivers import s3
|
from glance_store._drivers import s3
|
||||||
from glance.store.exceptions import UnsupportedBackend
|
from glance_store.exceptions import UnsupportedBackend
|
||||||
from glance.store.location import get_location_from_uri
|
from glance_store.location import get_location_from_uri
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
|
|
||||||
|
|
||||||
FAKE_UUID = str(uuid.uuid4())
|
FAKE_UUID = str(uuid.uuid4())
|
||||||
|
@ -17,9 +17,9 @@ import StringIO
|
|||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from glance.store._drivers import sheepdog
|
from glance_store._drivers import sheepdog
|
||||||
from glance.store.openstack.common import processutils
|
from glance_store.openstack.common import processutils
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
|
|
||||||
|
|
||||||
class TestSheepdogStore(base.StoreBaseTest):
|
class TestSheepdogStore(base.StoreBaseTest):
|
||||||
|
@ -13,10 +13,10 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from glance import store
|
import glance_store as store
|
||||||
from glance.store import driver
|
from glance_store import driver
|
||||||
from glance.store.openstack.common.gettextutils import _
|
from glance_store.openstack.common.gettextutils import _
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
|
|
||||||
|
|
||||||
class TestStoreBase(base.StoreBaseTest):
|
class TestStoreBase(base.StoreBaseTest):
|
||||||
|
@ -29,16 +29,16 @@ import six
|
|||||||
import stubout
|
import stubout
|
||||||
import swiftclient
|
import swiftclient
|
||||||
|
|
||||||
from glance.store._drivers.swift import store as swift
|
from glance_store._drivers.swift import store as swift
|
||||||
from glance.store._drivers.swift import utils as sutils
|
from glance_store._drivers.swift import utils as sutils
|
||||||
from glance.store import backend
|
from glance_store import backend
|
||||||
from glance.store import BackendException
|
from glance_store import BackendException
|
||||||
from glance.store.common import auth
|
from glance_store.common import auth
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.location import get_location_from_uri
|
from glance_store.location import get_location_from_uri
|
||||||
from glance.store.openstack.common import context
|
from glance_store.openstack.common import context
|
||||||
from glance.store.openstack.common import units
|
from glance_store.openstack.common import units
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
|
|
||||||
CONF = cfg.CONF
|
CONF = cfg.CONF
|
||||||
|
|
||||||
|
@ -21,13 +21,13 @@ import uuid
|
|||||||
import mock
|
import mock
|
||||||
import six
|
import six
|
||||||
|
|
||||||
import glance.store._drivers.vmware_datastore as vm_store
|
import glance_store._drivers.vmware_datastore as vm_store
|
||||||
from glance.store import backend
|
from glance_store import backend
|
||||||
from glance.store import exceptions
|
from glance_store import exceptions
|
||||||
from glance.store.location import get_location_from_uri
|
from glance_store.location import get_location_from_uri
|
||||||
from glance.store.openstack.common import units
|
from glance_store.openstack.common import units
|
||||||
from glance.store.tests import base
|
from glance_store.tests import base
|
||||||
from glance.store.tests import utils
|
from glance_store.tests import utils
|
||||||
|
|
||||||
|
|
||||||
FAKE_UUID = str(uuid.uuid4())
|
FAKE_UUID = str(uuid.uuid4())
|
||||||
|
2
tox.ini
2
tox.ini
@ -36,4 +36,4 @@ commands = {posargs}
|
|||||||
# H404 multi line docstring should start with a summary
|
# H404 multi line docstring should start with a summary
|
||||||
ignore = E711,E712,F821,F841,H301,H402,H404
|
ignore = E711,E712,F821,F841,H301,H402,H404
|
||||||
builtins = _
|
builtins = _
|
||||||
exclude = .venv,.git,.tox,dist,doc,etc,*glance/store/locale*,*openstack/common*,*lib/python*,*egg,build
|
exclude = .venv,.git,.tox,dist,doc,etc,*glance_store/locale*,*openstack/common*,*lib/python*,*egg,build
|
||||||
|
Loading…
Reference in New Issue
Block a user