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:
Flavio Percoco 2014-08-28 10:09:36 +02:00
parent c2335ed752
commit a1c59a1575
73 changed files with 458 additions and 474 deletions

View File

@ -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.

View File

@ -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
================== ==================

View File

@ -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__)

View File

@ -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
""" """

View File

@ -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

View 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
""" """

View File

@ -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,

View File

@ -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

View File

@ -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)

View File

@ -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
""" """

View File

@ -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

View File

@ -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

View File

@ -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',

View File

@ -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,

View File

@ -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)

View File

@ -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__)

View File

@ -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.

View File

@ -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):

View File

@ -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

View File

@ -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."

View File

@ -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."

View File

@ -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"

View File

@ -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."

View File

@ -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."

View File

@ -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."

View File

@ -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"

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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."

View File

@ -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回()発生しました。再試行中。"

View File

@ -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 번 발생하였습니다... 다시 시도중."

View File

@ -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."

View File

@ -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"

View File

@ -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 次...正在重试。"

View File

@ -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__)

View File

@ -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):

View File

@ -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__)

View File

@ -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

View File

@ -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)

View File

@ -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")

View File

@ -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(

View File

@ -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__)

View File

@ -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 = {

View File

@ -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

View File

@ -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):

View File

@ -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

View File

@ -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):

View File

@ -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

View File

@ -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

View File

@ -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):

View File

@ -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):

View File

@ -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())

View File

@ -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):

View File

@ -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):

View File

@ -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

View File

@ -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())

View File

@ -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