summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2015-02-04 01:44:43 -0500
committerSteve Martinelli <stevemar@ca.ibm.com>2015-02-04 01:44:43 -0500
commitd130ada2ec58021bd9ed498b6ce2dc89df3364f8 (patch)
treee258a2b60c6021727ce929871ce93c5577dbfac9
parentebd55395ceaaf263ded4a5edbaf5eb8a6b2dfb6e (diff)
downloadpycadf-d130ada2ec58021bd9ed498b6ce2dc89df3364f8.tar.gz
Use oslo_context
even though we have deprecated the middleware, we should still use oslo_context so we can be fully decoupled from oslo-incubator. Change-Id: I17d0d9a8daef66d9d39b621615e5e7bb9f022510
-rw-r--r--openstack-common.conf1
-rw-r--r--pycadf/middleware/notifier.py2
-rw-r--r--pycadf/openstack/__init__.py0
-rw-r--r--pycadf/openstack/common/__init__.py0
-rw-r--r--pycadf/openstack/common/context.py122
-rw-r--r--requirements.txt1
6 files changed, 2 insertions, 124 deletions
diff --git a/openstack-common.conf b/openstack-common.conf
index 9eb4c2d..6774377 100644
--- a/openstack-common.conf
+++ b/openstack-common.conf
@@ -1,4 +1,3 @@
[DEFAULT]
-module=context
script=tools/run_cross_tests.sh
base=pycadf
diff --git a/pycadf/middleware/notifier.py b/pycadf/middleware/notifier.py
index 175c361..c63dadc 100644
--- a/pycadf/middleware/notifier.py
+++ b/pycadf/middleware/notifier.py
@@ -19,13 +19,13 @@ import sys
import traceback as tb
from oslo_config import cfg
+from oslo_context import context
import oslo_messaging
import six
import webob.dec
from pycadf._i18n import _
from pycadf.middleware import base
-from pycadf.openstack.common import context
LOG = None
diff --git a/pycadf/openstack/__init__.py b/pycadf/openstack/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/pycadf/openstack/__init__.py
+++ /dev/null
diff --git a/pycadf/openstack/common/__init__.py b/pycadf/openstack/common/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/pycadf/openstack/common/__init__.py
+++ /dev/null
diff --git a/pycadf/openstack/common/context.py b/pycadf/openstack/common/context.py
deleted file mode 100644
index 1689890..0000000
--- a/pycadf/openstack/common/context.py
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 2011 OpenStack Foundation.
-# All Rights Reserved.
-#
-# 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.
-
-"""
-Simple class that stores security context information in the web request.
-
-Projects should subclass this class if they wish to enhance the request
-context or provide additional information in their specific WSGI pipeline.
-"""
-
-import itertools
-import uuid
-
-
-def generate_request_id():
- return b'req-' + str(uuid.uuid4()).encode('ascii')
-
-
-class RequestContext(object):
-
- """Helper class to represent useful information about a request context.
-
- Stores information about the security context under which the user
- accesses the system, as well as additional request information.
- """
-
- user_idt_format = '{user} {tenant} {domain} {user_domain} {p_domain}'
-
- def __init__(self, auth_token=None, user=None, tenant=None, domain=None,
- user_domain=None, project_domain=None, is_admin=False,
- read_only=False, show_deleted=False, request_id=None,
- instance_uuid=None):
- self.auth_token = auth_token
- self.user = user
- self.tenant = tenant
- self.domain = domain
- self.user_domain = user_domain
- self.project_domain = project_domain
- self.is_admin = is_admin
- self.read_only = read_only
- self.show_deleted = show_deleted
- self.instance_uuid = instance_uuid
- if not request_id:
- request_id = generate_request_id()
- self.request_id = request_id
-
- def to_dict(self):
- user_idt = (
- self.user_idt_format.format(user=self.user or '-',
- tenant=self.tenant or '-',
- domain=self.domain or '-',
- user_domain=self.user_domain or '-',
- p_domain=self.project_domain or '-'))
-
- return {'user': self.user,
- 'tenant': self.tenant,
- 'domain': self.domain,
- 'user_domain': self.user_domain,
- 'project_domain': self.project_domain,
- 'is_admin': self.is_admin,
- 'read_only': self.read_only,
- 'show_deleted': self.show_deleted,
- 'auth_token': self.auth_token,
- 'request_id': self.request_id,
- 'instance_uuid': self.instance_uuid,
- 'user_identity': user_idt}
-
- @classmethod
- def from_dict(cls, ctx):
- return cls(
- auth_token=ctx.get("auth_token"),
- user=ctx.get("user"),
- tenant=ctx.get("tenant"),
- domain=ctx.get("domain"),
- user_domain=ctx.get("user_domain"),
- project_domain=ctx.get("project_domain"),
- is_admin=ctx.get("is_admin", False),
- read_only=ctx.get("read_only", False),
- show_deleted=ctx.get("show_deleted", False),
- request_id=ctx.get("request_id"),
- instance_uuid=ctx.get("instance_uuid"))
-
-
-def get_admin_context(show_deleted=False):
- context = RequestContext(None,
- tenant=None,
- is_admin=True,
- show_deleted=show_deleted)
- return context
-
-
-def get_context_from_function_and_args(function, args, kwargs):
- """Find an arg of type RequestContext and return it.
-
- This is useful in a couple of decorators where we don't
- know much about the function we're wrapping.
- """
-
- for arg in itertools.chain(kwargs.values(), args):
- if isinstance(arg, RequestContext):
- return arg
-
- return None
-
-
-def is_user_context(context):
- """Indicates if the request context is a normal user."""
- if not context or context.is_admin:
- return False
- return context.user_id and context.project_id
diff --git a/requirements.txt b/requirements.txt
index 1a2e320..af6ce08 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,6 +3,7 @@
# process, which may cause wedges in the gate later.
Babel>=1.3
oslo.config>=1.6.0 # Apache-2.0
+oslo.context>=0.1.0 # Apache-2.0
oslo.i18n>=1.3.0 # Apache-2.0
oslo.serialization>=1.2.0 # Apache-2.0
pytz>=2013.6