Replace openstack/context library by oslo_context
This commit replaces the old openstack.common.context library for the oslo_context library. Bringing all bug fixes and improvements added in the oslo library. TEST PLAN: PASS: AIO-SX: manually replaced these files and no crashes happened. PASS: rebuild the whole system with the code modifications with no crashes. PASS: AIO-SX: bootstrapped system with no crashes. PASS: AIO-SX: followed sysinv log, no error was found. PASS: AIO-SX: followed sysinv-api log, no error was found. Story: 2010087 Task: 46311 Signed-off-by: Caio Cesar Ferreira <Caio.CesarFerreira@windriver.com> Change-Id: I48d6ff4f9799544b605581a7cdd923a41536c41a
This commit is contained in:
parent
01e23af74c
commit
237ddb6383
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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__)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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':
|
||||
|
@ -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__)
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
@ -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__)
|
||||
|
||||
|
@ -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__)
|
||||
|
@ -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__)
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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')
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user