Merge "Replace openstack/context library by oslo_context"

This commit is contained in:
Zuul 2023-02-28 21:43:03 +00:00 committed by Gerrit Code Review
commit dccb65aacb
26 changed files with 52 additions and 133 deletions

View File

@ -11,10 +11,10 @@ import os
import subprocess
import sys
from controllerconfig.common import log
from sysinv.openstack.common import context
from sysinv.conductor import rpcapiproxy as conductor_rpcapi
from cgtsclient import client as cgts_client
from oslo_config import cfg
from oslo_context import context
from sysinv.common import constants
CONF = cfg.CONF

View File

@ -26,6 +26,7 @@ import time
from collections import defaultdict
from oslo_config import cfg
from oslo_context import context
from oslo_log import log
from sysinv._i18n import _
@ -36,7 +37,6 @@ from sysinv.common import utils
from sysinv.common import disk_utils
from sysinv.conductor import rpcapiproxy as conductor_rpcapi
from sysinv.openstack.common import context
from functools import cmp_to_key

View File

@ -17,13 +17,13 @@ import pyudev
import re
import sys
from oslo_context import context
from oslo_log import log as logging
from sysinv.common import disk_utils
from sysinv.common import constants
from sysinv.common import utils
from sysinv.conductor import rpcapiproxy as conductor_rpcapi
from sysinv.openstack.common import context
LOG = logging.getLogger(__name__)

View File

@ -50,6 +50,7 @@ from six.moves import configparser
from six import StringIO
from oslo_config import cfg
from oslo_context import context as mycontext
from oslo_log import log
from oslo_service import periodic_task
from oslo_utils import timeutils
@ -69,7 +70,6 @@ from sysinv.common import utils
from sysinv.objects import base as objects_base
from sysinv.puppet import common as puppet
from sysinv.conductor import rpcapiproxy as conductor_rpcapi
from sysinv.openstack.common import context as mycontext
from sysinv.openstack.common.rpc.common import Timeout
from sysinv.openstack.common.rpc.common import serialize_remote_exception
from sysinv.openstack.common.rpc import service as rpc_service

View File

@ -19,7 +19,7 @@
# License for the specific language governing permissions and limitations
# under the License.
#
# Copyright (c) 2013-2016 Wind River Systems, Inc.
# Copyright (c) 2013-2023 Wind River Systems, Inc.
#
@ -34,11 +34,11 @@ import os
import sys
from oslo_config import cfg
from oslo_context import context
from oslo_log import log
from sysinv._i18n import _
from sysinv.common import service as sysinv_service
from sysinv.conductor import rpcapiproxy as conductor_rpcapi
from sysinv.openstack.common import context
CONF = cfg.CONF

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# Copyright (c) 2020 Wind River Systems, Inc.
# Copyright (c) 2023 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
@ -12,9 +12,9 @@ from sysinv.common import constants
from sysinv.common import service
from sysinv.conductor import rpcapiproxy as conductor_rpcapi
from sysinv.db import api
from sysinv.openstack.common import context
from oslo_config import cfg
from oslo_context import context
from oslo_log import log as logging

View File

@ -14,7 +14,7 @@
from sysinv.common.fm import get_fm_region
from sysinv.db import api as dbapi
from sysinv.openstack.common import context
from oslo_context import context
FAULT_MANAGEMENT = 'faultmanagement'
REQUIRED_SERVICE_TYPES = (FAULT_MANAGEMENT,)
@ -26,7 +26,8 @@ class RequestContext(context.RequestContext):
def __init__(self, auth_token=None, domain_id=None, domain_name=None,
user=None, tenant=None, is_admin=False, is_public_api=False,
project_name=None, read_only=False, show_deleted=False,
request_id=None, roles=None, service_catalog=None):
request_id=None, roles=None, service_catalog=None,
system_scope=None, **kwargs):
"""Stores several additional request parameters:
:param domain_id: The ID of the domain.
@ -38,10 +39,6 @@ class RequestContext(context.RequestContext):
:param service_catalog: Specifies the service_catalog
"""
self.is_public_api = is_public_api
self.domain_id = domain_id
self.domain_name = domain_name
self.project_name = project_name
self.roles = roles
self._session = None
super(RequestContext, self).__init__(auth_token=auth_token,
@ -49,7 +46,12 @@ class RequestContext(context.RequestContext):
is_admin=is_admin,
read_only=read_only,
show_deleted=show_deleted,
request_id=request_id)
request_id=request_id,
project_name=project_name,
roles=roles,
domain_id=domain_id,
domain_name=domain_name,
system_scope=system_scope)
if service_catalog:
# Only include required parts of service_catalog
self.service_catalog = [s for s in service_catalog

View File

@ -21,10 +21,10 @@ import abc
import socket
from oslo_config import cfg
from oslo_context import context
from oslo_log import log as logging
from oslo_service import periodic_task
from oslo_service import service as base_service
from sysinv.openstack.common import context
from sysinv.openstack.common import rpc
from sysinv import version

View File

@ -69,6 +69,7 @@ from fm_api import fm_api
from netaddr import IPAddress
from netaddr import IPNetwork
from oslo_config import cfg
from oslo_context import context as ctx
from oslo_log import log
from oslo_serialization import base64
from oslo_serialization import jsonutils
@ -114,7 +115,6 @@ from sysinv.db import api as dbapi
from sysinv import objects
from sysinv.objects import base as objects_base
from sysinv.objects import kube_app as kubeapp_obj
from sysinv.openstack.common import context as ctx
from sysinv.openstack.common.rpc import service as rpc_service
from sysinv.puppet import common as puppet_common
from sysinv.puppet import puppet
@ -402,7 +402,7 @@ class ConductorManager(service.PeriodicService):
""" Get call back endpoints for keystone listener"""
callback_endpoints = []
context = ctx.RequestContext(user='admin', tenant='admin',
context = ctx.RequestContext(user_id='admin', project_id='admin',
is_admin=True)
for username in KEYSTONE_USER_PASSWORD_UPDATE.keys():
if username == 'admin':

View File

@ -1,6 +1,6 @@
# sim: tabstop=4 shiftwidth=4 softtabstop=4
#
# Copyright (c) 2019-2022 Wind River Systems, Inc.
# Copyright (c) 2019-2023 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
@ -19,12 +19,12 @@ import threading
import zlib
from eventlet.green import subprocess
from oslo_context import context
from oslo_log import log as logging
from sysinv.agent import rpcapiproxy as agent_rpcapi
from sysinv.common import exception
from sysinv.common import kubernetes
from sysinv.common.retrying import retry
from sysinv.openstack.common import context
LOG = logging.getLogger(__name__)

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
#
# Copyright (c) 2013-2016 Wind River Systems, Inc.
# Copyright (c) 2013-2023 Wind River Systems, Inc.
#
@ -22,11 +22,11 @@ import collections
import copy
import six
from oslo_context import context
from oslo_log import log as logging
from sysinv._i18n import _
from sysinv.common import exception
from sysinv.objects import utils as obj_utils
from sysinv.openstack.common import context
from sysinv.openstack.common.rpc import common as rpc_common
from sysinv.openstack.common.rpc import serializer as rpc_serializer

View File

@ -1,86 +0,0 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# 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
from oslo_utils import uuidutils
def generate_request_id():
return 'req-%s' % uuidutils.generate_uuid()
class RequestContext(object):
"""
Stores information about the security context under which the user
accesses the system, as well as additional request information.
"""
def __init__(self, auth_token=None, user=None, tenant=None, is_admin=False,
read_only=False, show_deleted=False, request_id=None):
self.auth_token = auth_token
self.user = user
self.tenant = tenant
self.is_admin = is_admin
self.read_only = read_only
self.show_deleted = show_deleted
if not request_id:
request_id = generate_request_id()
self.request_id = request_id
def to_dict(self):
return {'user': self.user,
'tenant': self.tenant,
'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}
@classmethod
def from_dict(cls, values):
return cls(**values)
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

View File

@ -17,12 +17,12 @@ import uuid
import six
from oslo_config import cfg
from oslo_context import context
from oslo_log import log as logging
from oslo_serialization import jsonutils
from oslo_utils import importutils
from oslo_utils import timeutils
from sysinv._i18n import _
from sysinv.openstack.common import context
LOG = logging.getLogger(__name__)

View File

@ -14,9 +14,9 @@
# under the License.
from oslo_config import cfg
from oslo_context import context as req_context
from oslo_log import log as logging
from sysinv._i18n import _
from sysinv.openstack.common import context as req_context
from sysinv.openstack.common import rpc
LOG = logging.getLogger(__name__)

View File

@ -16,9 +16,9 @@
'''messaging based notification driver, with message envelopes'''
from oslo_config import cfg
from oslo_context import context as req_context
from oslo_log import log as logging
from sysinv._i18n import _
from sysinv.openstack.common import context as req_context
from sysinv.openstack.common import rpc
LOG = logging.getLogger(__name__)

View File

@ -1,5 +1,5 @@
#
# Copyright (c) 2021 Wind River Systems, Inc.
# Copyright (c) 2023 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
@ -11,10 +11,10 @@ Tests for the sysinv agent manager.
import mock
from tsconfig import tsconfig
from oslo_context import context
from sysinv.agent.manager import AgentManager
from sysinv.common import constants
from sysinv.openstack.common import context
from sysinv.tests import base

View File

@ -2,7 +2,7 @@
# -*- encoding: utf-8 -*-
#
#
# Copyright (c) 2017-2021 Wind River Systems, Inc.
# Copyright (c) 2017-2023 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
@ -28,6 +28,7 @@ except ImportError:
"""
with ExitStack() as stack:
yield tuple(stack.enter_context(cm) for cm in contexts)
from oslo_context import context
from oslo_serialization import jsonutils
from oslo_utils import uuidutils
from sysinv.conductor import manager
@ -36,7 +37,6 @@ from sysinv.common import constants
from sysinv.common import utils as cutils
from sysinv.common.storage_backend_conf import StorageBackendConfig
from sysinv.db import api as dbapi
from sysinv.openstack.common import context
from sysinv.tests.api import base
from sysinv.tests.db import utils as dbutils

View File

@ -1,5 +1,5 @@
#
# Copyright (c) 2019 Wind River Systems, Inc.
# Copyright (c) 2023 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
@ -13,9 +13,10 @@ import kubernetes
import mock
import uuid
from oslo_context import context
from sysinv.common import constants
from sysinv.common import health
from sysinv.openstack.common import context
from sysinv.tests.db import base as dbbase
from sysinv.tests.db import utils as dbutils

View File

@ -1,7 +1,7 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# coding=utf-8
# Copyright (c) 2017-2019 Wind River Systems, Inc.
# Copyright (c) 2017-2023 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
@ -11,6 +11,7 @@
import mock
from cephclient import wrapper as ceph
from oslo_context import context
from oslo_utils import uuidutils
from sysinv.common import ceph as cceph
@ -18,7 +19,6 @@ from sysinv.common import constants
from sysinv.conductor import manager
from sysinv.conductor import ceph as iceph
from sysinv.db import api as dbapi
from sysinv.openstack.common import context
from sysinv.tests.db import base
from sysinv.tests.db import utils

View File

@ -8,12 +8,13 @@
import fixtures
from oslo_context import context
from sysinv.common import constants
from sysinv.conductor import kube_app
from sysinv.conductor import manager
from sysinv.db import api as dbapi
from sysinv.helm import helm
from sysinv.openstack.common import context
from sysinv.objects import kube_app as obj_app
from sysinv.tests.db import base

View File

@ -17,7 +17,7 @@
# License for the specific language governing permissions and limitations
# under the License.
#
# Copyright (c) 2013-2022 Wind River Systems, Inc.
# Copyright (c) 2013-2023 Wind River Systems, Inc.
#
"""Test class for Sysinv ManagerService."""
@ -31,6 +31,7 @@ from cryptography import x509
from cryptography.hazmat.backends import default_backend
from fm_api import constants as fm_constants
from oslo_context import context
from oslo_serialization import base64
from sysinv.agent import rpcapi as agent_rpcapi
from sysinv.common import constants
@ -40,7 +41,6 @@ from sysinv.common import kubernetes
from sysinv.common import utils as cutils
from sysinv.conductor import manager
from sysinv.db import api as dbapi
from sysinv.openstack.common import context
from sysinv.tests.db import base
from sysinv.tests.db import utils
@ -4191,7 +4191,7 @@ class ManagerTestCase(base.DbTestCase):
}
mock_config_apply_runtime_manifest.assert_called_with(mock.ANY, '1234', config_dict)
@mock.patch("sysinv.openstack.common.context.RequestContext")
@mock.patch("oslo_context.context.RequestContext")
def test_get_keystone_callback_endpoints(self, requestCtx):
mock_config_update_hosts = mock.MagicMock()
mock_config_apply_runtime_manifest = mock.MagicMock()

View File

@ -1,5 +1,5 @@
#
# Copyright (c) 2021 Wind River Systems, Inc.
# Copyright (c) 2023 Wind River Systems, Inc.
#
# SPDX-License-Identilfier: Apache-2.0
#
@ -8,10 +8,11 @@
Tests for the restore logic
"""
from oslo_context import context
from sysinv.common import constants
from sysinv.conductor import manager
from sysinv.db import api as dbapi
from sysinv.openstack.common import context
from sysinv.tests.db import base

View File

@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
#
# Copyright (c) 2013-2016 Wind River Systems, Inc.
# Copyright (c) 2013-2023 Wind River Systems, Inc.
#
"""
@ -25,11 +25,11 @@ Unit Tests for :py:class:`sysinv.conductor.rpcapi.ConductorAPI`.
import mock
from oslo_config import cfg
from oslo_context import context
from oslo_serialization import jsonutils as json
from sysinv.conductor import rpcapi as conductor_rpcapi
from sysinv.db import api as dbapi
from sysinv.openstack.common import context
from sysinv.openstack.common import rpc
from sysinv.tests.db import base
from sysinv.tests.db import utils as dbutils

View File

@ -15,7 +15,7 @@
# License for the specific language governing permissions and limitations
# under the License.
#
# Copyright (c) 2013-2022 Wind River Systems, Inc.
# Copyright (c) 2013-2023 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
@ -29,11 +29,11 @@ import os
import netaddr
import six
from oslo_context import context
from oslo_utils import uuidutils
from sysinv.common import constants
from sysinv.common import utils
from sysinv.openstack.common import context
from sysinv.tests import base
from sysinv.tests.db import utils as dbutils

View File

@ -21,11 +21,11 @@ import six
gettext.install('sysinv')
from oslo_context import context
from oslo_utils import timeutils
from sysinv.common import exception
from sysinv.objects import base
from sysinv.objects import utils
from sysinv.openstack.common import context
from sysinv.tests import base as test_base
@ -335,7 +335,7 @@ class _TestObjectMixin(object):
def test_with_alternate_context(self):
ctxt1 = context.RequestContext('foo', 'foo')
ctxt2 = context.RequestContext('bar', tenant='alternate')
ctxt2 = context.RequestContext('bar', project_id='alternate')
obj = MyObj.get(ctxt1)
obj.update_test(ctxt2)
self.assertEqual(obj.bar, 'alternate-context')

View File

@ -1,4 +1,4 @@
# Copyright (c) 2022 Wind River Systems, Inc.
# Copyright (c) 2023 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
@ -8,9 +8,9 @@ import netaddr
import uuid
from oslo_utils import timeutils
from oslo_context.context import RequestContext as BaseRequestContext
from sysinv.objects.base import SysinvObject
from sysinv.common.context import RequestContext
from sysinv.openstack.common.context import RequestContext as BaseRequestContext
from sysinv.openstack.common.rpc.amqp import RpcContext
from sysinv.openstack.common.rpc.common import CommonRpcContext