summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-02-11 21:10:07 +0000
committerGerrit Code Review <review@openstack.org>2015-02-11 21:10:07 +0000
commitab47e4bd58b7b043b2b6efd06d0f363478ff389c (patch)
treeb6cb6d7cc9b13e1227f2e2cb117962d0e76d14bd
parent6f8743790534a8fcd22e958d16ef30c631ca153e (diff)
parentd130ada2ec58021bd9ed498b6ce2dc89df3364f8 (diff)
downloadpycadf-ab47e4bd58b7b043b2b6efd06d0f363478ff389c.tar.gz
Merge "Use oslo_context"
-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