]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Replace FLAGS with cfg.CONF in api
authorSergey Vilgelm <svilgelm@mirantis.com>
Mon, 10 Jun 2013 08:52:13 +0000 (12:52 +0400)
committerSergey Vilgelm <svilgelm@mirantis.com>
Mon, 10 Jun 2013 13:56:26 +0000 (17:56 +0400)
Replace all the FLAGS with cfg.CONF in cinder/api
Large commit was split into several parts

Change-Id: I2114d5fc45f5299c3b2011270034a3370e0ec388
Fixes: bug #1182037
15 files changed:
cinder/api/__init__.py
cinder/api/common.py
cinder/api/contrib/__init__.py
cinder/api/contrib/backups.py
cinder/api/contrib/extended_snapshot_attributes.py
cinder/api/contrib/hosts.py
cinder/api/contrib/volume_actions.py
cinder/api/extensions.py
cinder/api/middleware/auth.py
cinder/api/middleware/sizelimit.py
cinder/api/v1/snapshots.py
cinder/api/v1/volumes.py
cinder/api/v2/snapshots.py
cinder/api/v2/volumes.py
cinder/api/versions.py

index fc348ac565903dbffc13793db0c64c098263cf76..8bd465ba430b4af59a2dbdacd359389e9deac46d 100644 (file)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import paste.urlmap
 
-from cinder import flags
+from oslo.config import cfg
+import paste.urlmap
 
 
-FLAGS = flags.FLAGS
+CONF = cfg.CONF
 
 
 def root_app_factory(loader, global_conf, **local_conf):
-    if not FLAGS.enable_v1_api:
+    if not CONF.enable_v1_api:
         del local_conf['/v1']
-    if not FLAGS.enable_v2_api:
+    if not CONF.enable_v2_api:
         del local_conf['/v2']
     return paste.urlmap.urlmap_factory(loader, global_conf, **local_conf)
index 94bf594c00b7fdeba2466b8d692f91b87dc3bc0f..0a076ac467e6975291778808483a734a46f35bfa 100644 (file)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+
 import os
 import re
 import urlparse
 
+from oslo.config import cfg
 import webob
 
 from cinder.api.openstack import wsgi
 from cinder.api import xmlutil
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder import utils
 
 
+CONF = cfg.CONF
 LOG = logging.getLogger(__name__)
-FLAGS = flags.FLAGS
 
 
 XML_NS_V1 = 'http://docs.openstack.org/volume/api/v1'
@@ -73,7 +74,7 @@ def _get_marker_param(request):
     return request.GET['marker']
 
 
-def limited(items, request, max_limit=FLAGS.osapi_max_limit):
+def limited(items, request, max_limit=CONF.osapi_max_limit):
     """Return a slice of items according to requested offset and limit.
 
     :param items: A sliceable entity
@@ -110,7 +111,7 @@ def limited(items, request, max_limit=FLAGS.osapi_max_limit):
     return items[offset:range_end]
 
 
-def limited_by_marker(items, request, max_limit=FLAGS.osapi_max_limit):
+def limited_by_marker(items, request, max_limit=CONF.osapi_max_limit):
     """Return a slice of items according to the requested marker and limit."""
     params = get_pagination_params(request)
 
@@ -192,7 +193,7 @@ class ViewBuilder(object):
         params = request.params.copy()
         params["marker"] = identifier
         prefix = self._update_link_prefix(request.application_url,
-                                          FLAGS.osapi_volume_base_URL)
+                                          CONF.osapi_volume_base_URL)
         url = os.path.join(prefix,
                            request.environ["cinder.context"].project_id,
                            self._collection_name)
@@ -201,7 +202,7 @@ class ViewBuilder(object):
     def _get_href_link(self, request, identifier):
         """Return an href string pointing to this object."""
         prefix = self._update_link_prefix(request.application_url,
-                                          FLAGS.osapi_volume_base_URL)
+                                          CONF.osapi_volume_base_URL)
         return os.path.join(prefix,
                             request.environ["cinder.context"].project_id,
                             self._collection_name,
@@ -211,7 +212,7 @@ class ViewBuilder(object):
         """Create a URL that refers to a specific resource."""
         base_url = remove_version_from_href(request.application_url)
         base_url = self._update_link_prefix(base_url,
-                                            FLAGS.osapi_volume_base_URL)
+                                            CONF.osapi_volume_base_URL)
         return os.path.join(base_url,
                             request.environ["cinder.context"].project_id,
                             self._collection_name,
index 503bc90b8f18db89a738f5e9e9b74b0ed3415b7b..7fb1e78690f167ee8d3aa67da602c3803da6fbcb 100644 (file)
@@ -21,12 +21,13 @@ It can't be called 'extensions' because that causes namespacing problems.
 
 """
 
+from oslo.config import cfg
+
 from cinder.api import extensions
-from cinder import flags
 from cinder.openstack.common import log as logging
 
 
-FLAGS = flags.FLAGS
+CONF = cfg.CONF
 LOG = logging.getLogger(__name__)
 
 
@@ -36,4 +37,4 @@ def standard_extensions(ext_mgr):
 
 def select_extensions(ext_mgr):
     extensions.load_standard_extensions(ext_mgr, LOG, __path__, __package__,
-                                        FLAGS.osapi_volume_ext_list)
+                                        CONF.osapi_volume_ext_list)
index 02444ac550202234ad81350c00ce29486a0c6b21..81c8953724127ed4818687644a8436503976b980 100644 (file)
@@ -15,6 +15,7 @@
 
 """The backups api."""
 
+
 import webob
 from webob import exc
 from xml.dom import minidom
@@ -26,10 +27,9 @@ from cinder.api.views import backups as backup_views
 from cinder.api import xmlutil
 from cinder import backup as backupAPI
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import log as logging
 
-FLAGS = flags.FLAGS
+
 LOG = logging.getLogger(__name__)
 
 
index f55fa53ac2579be57ee878a8b3fdc67c53ad19e2..d4219387b6ad87d6518bc16dc82af4a455d12045 100644 (file)
 
 """The Extended Snapshot Attributes API extension."""
 
+
 from webob import exc
 
 from cinder.api import extensions
 from cinder.api.openstack import wsgi
 from cinder.api import xmlutil
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder import volume
 
 
-FLAGS = flags.FLAGS
 LOG = logging.getLogger(__name__)
 authorize = extensions.soft_extension_authorizer(
     'volume',
index 0fc85481d6e96f69dcfcd382e6e3ee660de9b3a2..1a853f3399018d77275e49165475d2e249da9a4c 100644 (file)
@@ -15,6 +15,8 @@
 
 """The hosts admin extension."""
 
+
+from oslo.config import cfg
 import webob.exc
 from xml.parsers import expat
 
@@ -23,13 +25,14 @@ from cinder.api.openstack import wsgi
 from cinder.api import xmlutil
 from cinder import db
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder.openstack.common import timeutils
 from cinder import utils
 from cinder.volume import api as volume_api
 
-FLAGS = flags.FLAGS
+
+CONF = cfg.CONF
+
 LOG = logging.getLogger(__name__)
 authorize = extensions.extension_authorizer('volume', 'hosts')
 
@@ -103,7 +106,7 @@ def _list_hosts(req, service=None):
     hosts = []
     for host in services:
         delta = curr_time - (host['updated_at'] or host['created_at'])
-        alive = abs(utils.total_seconds(delta)) <= FLAGS.service_down_time
+        alive = abs(utils.total_seconds(delta)) <= CONF.service_down_time
         status = (alive and "available") or "unavailable"
         active = 'enabled'
         if host['disabled']:
@@ -205,7 +208,7 @@ class HostController(object):
         try:
             host_ref = db.service_get_by_host_and_topic(context,
                                                         host,
-                                                        FLAGS.volume_topic)
+                                                        CONF.volume_topic)
         except exception.ServiceNotFound:
             raise webob.exc.HTTPNotFound(explanation=_("Host not found"))
 
index 50587c3692673c3f7e633f3d4a910996a949ffc5..7ab19d710e6a0a750a7c0a9e008bd3c776f28087 100644 (file)
@@ -18,14 +18,12 @@ from cinder.api import extensions
 from cinder.api.openstack import wsgi
 from cinder.api import xmlutil
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder.openstack.common.rpc import common as rpc_common
 from cinder import utils
 from cinder import volume
 
 
-FLAGS = flags.FLAGS
 LOG = logging.getLogger(__name__)
 
 
index 67e682a0cce682f0ecc2325010a982f15e1328f1..744adfcbd53e772a8af6c4484e0b917a4bf33d5d 100644 (file)
@@ -18,6 +18,7 @@
 
 import os
 
+from oslo.config import cfg
 import webob.dec
 import webob.exc
 
@@ -25,15 +26,15 @@ import cinder.api.openstack
 from cinder.api.openstack import wsgi
 from cinder.api import xmlutil
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import exception as common_exception
 from cinder.openstack.common import importutils
 from cinder.openstack.common import log as logging
 import cinder.policy
 
 
+CONF = cfg.CONF
+
 LOG = logging.getLogger(__name__)
-FLAGS = flags.FLAGS
 
 
 class ExtensionDescriptor(object):
@@ -183,7 +184,7 @@ class ExtensionManager(object):
     def __init__(self):
         LOG.audit(_('Initializing extension manager.'))
 
-        self.cls_list = FLAGS.osapi_volume_extension
+        self.cls_list = CONF.osapi_volume_extension
         self.extensions = {}
         self._load_extensions()
 
index 6c6e23862c683f051823ffb401c0e6bd36787bf6..17bda1f94fbf7bc439baacbe4e40272759d9502e 100644 (file)
@@ -18,6 +18,8 @@
 Common Auth Middleware.
 
 """
+
+
 import os
 
 from oslo.config import cfg
@@ -26,26 +28,27 @@ import webob.exc
 
 from cinder.api.openstack import wsgi
 from cinder import context
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder import wsgi as base_wsgi
 
+
 use_forwarded_for_opt = cfg.BoolOpt(
     'use_forwarded_for',
     default=False,
     help='Treat X-Forwarded-For as the canonical remote address. '
          'Only enable this if you have a sanitizing proxy.')
 
-FLAGS = flags.FLAGS
-FLAGS.register_opt(use_forwarded_for_opt)
+CONF = cfg.CONF
+CONF.register_opt(use_forwarded_for_opt)
+
 LOG = logging.getLogger(__name__)
 
 
 def pipeline_factory(loader, global_conf, **local_conf):
     """A paste pipeline replica that keys off of auth_strategy."""
-    pipeline = local_conf[FLAGS.auth_strategy]
-    if not FLAGS.api_rate_limit:
-        limit_name = FLAGS.auth_strategy + '_nolimit'
+    pipeline = local_conf[CONF.auth_strategy]
+    if not CONF.api_rate_limit:
+        limit_name = CONF.auth_strategy + '_nolimit'
         pipeline = local_conf.get(limit_name, pipeline)
     pipeline = pipeline.split()
     filters = [loader.get_filter(n) for n in pipeline[:-1]]
@@ -94,7 +97,7 @@ class CinderKeystoneContext(base_wsgi.Middleware):
 
         # Build a context, including the auth_token...
         remote_address = req.remote_addr
-        if FLAGS.use_forwarded_for:
+        if CONF.use_forwarded_for:
             remote_address = req.headers.get('X-Forwarded-For', remote_address)
         ctx = context.RequestContext(user_id,
                                      project_id,
@@ -129,7 +132,7 @@ class NoAuthMiddleware(base_wsgi.Middleware):
         user_id, _sep, project_id = token.partition(':')
         project_id = project_id or user_id
         remote_address = getattr(req, 'remote_address', '127.0.0.1')
-        if FLAGS.use_forwarded_for:
+        if CONF.use_forwarded_for:
             remote_address = req.headers.get('X-Forwarded-For', remote_address)
         ctx = context.RequestContext(user_id,
                                      project_id,
index 868db0f39e2068c14b9fc04b637fb0308388d05e..588df2c189cba9926f9b447aa9dea1875275379e 100644 (file)
@@ -18,21 +18,23 @@ Request Body limiting middleware.
 
 """
 
+
 from oslo.config import cfg
 import webob.dec
 import webob.exc
 
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder import wsgi
 
+
 #default request size is 112k
 max_request_body_size_opt = cfg.IntOpt('osapi_max_request_body_size',
                                        default=114688,
                                        help='Max size for body of a request')
 
-FLAGS = flags.FLAGS
-FLAGS.register_opt(max_request_body_size_opt)
+CONF = cfg.CONF
+CONF.register_opt(max_request_body_size_opt)
+
 LOG = logging.getLogger(__name__)
 
 
@@ -73,11 +75,11 @@ class RequestBodySizeLimiter(wsgi.Middleware):
 
     @webob.dec.wsgify(RequestClass=wsgi.Request)
     def __call__(self, req):
-        if req.content_length > FLAGS.osapi_max_request_body_size:
+        if req.content_length > CONF.osapi_max_request_body_size:
             msg = _("Request is too large.")
             raise webob.exc.HTTPRequestEntityTooLarge(explanation=msg)
         if req.content_length is None and req.is_body_readable:
             limiter = LimitingReader(req.body_file,
-                                     FLAGS.osapi_max_request_body_size)
+                                     CONF.osapi_max_request_body_size)
             req.body_file = limiter
         return self.application
index 6dd24e1a7040f6d2d99add70a88eeb039e170d6d..05a7ee0fa968e5e493626bf0992de6f0eba6b2eb 100644 (file)
@@ -23,7 +23,6 @@ from cinder.api.openstack import wsgi
 from cinder.api.v1 import volumes
 from cinder.api import xmlutil
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder.openstack.common import strutils
 from cinder import utils
@@ -33,9 +32,6 @@ from cinder import volume
 LOG = logging.getLogger(__name__)
 
 
-FLAGS = flags.FLAGS
-
-
 def _translate_snapshot_detail_view(context, snapshot):
     """Maps keys for snapshots details view."""
 
index b7a687ee1f7f5b0be022e5b465ece09ef534665d..fa395b402e2d616e21ece8424b99354b84c467d2 100644 (file)
@@ -22,7 +22,6 @@ from cinder.api import common
 from cinder.api.openstack import wsgi
 from cinder.api import xmlutil
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder.openstack.common import uuidutils
 from cinder import utils
@@ -33,9 +32,6 @@ from cinder.volume import volume_types
 LOG = logging.getLogger(__name__)
 
 
-FLAGS = flags.FLAGS
-
-
 def _translate_attachment_detail_view(_context, vol):
     """Maps keys for attachment details view."""
 
index 5c7dc1f9b9d0d4a6bded39c7afbf0efa149b8db4..47a21f310fe659a7adc5a991a92c85bf8d7978a9 100644 (file)
@@ -23,7 +23,6 @@ from cinder.api.openstack import wsgi
 from cinder.api.v2 import volumes
 from cinder.api import xmlutil
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder.openstack.common import strutils
 from cinder import utils
@@ -33,9 +32,6 @@ from cinder import volume
 LOG = logging.getLogger(__name__)
 
 
-FLAGS = flags.FLAGS
-
-
 def _translate_snapshot_detail_view(context, snapshot):
     """Maps keys for snapshots details view."""
 
index 66cb280df64c9430b5044b215a662b4ee6403730..6ef8997a2ad41cb4a475068e512ab20ca3a9ebe6 100644 (file)
@@ -15,6 +15,7 @@
 
 """The volumes api."""
 
+
 import webob
 from webob import exc
 
@@ -23,7 +24,6 @@ from cinder.api.openstack import wsgi
 from cinder.api.v2.views import volumes as volume_views
 from cinder.api import xmlutil
 from cinder import exception
-from cinder import flags
 from cinder.openstack.common import log as logging
 from cinder.openstack.common import uuidutils
 from cinder import utils
@@ -34,7 +34,6 @@ from cinder.volume import volume_types
 LOG = logging.getLogger(__name__)
 SCHEDULER_HINTS_NAMESPACE =\
     "http://docs.openstack.org/block-service/ext/scheduler-hints/api/v2"
-FLAGS = flags.FLAGS
 
 
 def make_attachment(elem):
index 30627bd29a8adfdc38148e564b9477cbd36ae798..954ed9e55e9761ef653af11007306ae5251bb482 100644 (file)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+
 import datetime
+
 from lxml import etree
+from oslo.config import cfg
 
 from cinder.api.openstack import wsgi
 from cinder.api.views import versions as views_versions
 from cinder.api import xmlutil
-from cinder import flags
 
-FLAGS = flags.FLAGS
+
+CONF = cfg.CONF
 
 
 _KNOWN_VERSIONS = {
@@ -87,16 +90,15 @@ _KNOWN_VERSIONS = {
             }
         ],
     }
-
 }
 
 
 def get_supported_versions():
     versions = {}
 
-    if FLAGS.enable_v1_api:
+    if CONF.enable_v1_api:
         versions['v1.0'] = _KNOWN_VERSIONS['v1.0']
-    if FLAGS.enable_v2_api:
+    if CONF.enable_v2_api:
         versions['v2.0'] = _KNOWN_VERSIONS['v2.0']
 
     return versions