"""A logging fixture providing two important fixtures. _append_config_options(imported_modules, opts) Binary file .git/objects/pack/pack-2d0db57c106a22124c71c50290c7a1c3efb11d40.pack matches # coming from the same YAML file are all in the same process. This is important def _append_config_options(imported_modules, config_options): def _import_modules(module_names): # Duplicate log_options from oslo_service so that we don't have to import for mod in imported_modules: from blockdiag.imagedraw import textfolder from codecs import getreader from __future__ import absolute_import from gabbi import driver from gabbi import fixture from keystoneauth1 import adapter from keystoneauth1 import loading as ks_loading from keystoneauth1 import session from keystonemiddleware import auth_token from microversion_parse import middleware as mp_middleware from migrate.changeset.constraint import ForeignKeyConstraint from migrate import exceptions as versioning_exceptions from migrate import UniqueConstraint from migrate.versioning import api as versioning_api from migrate.versioning.repository import Repository from nova.version import version_info from oslo_concurrency import lockutils from oslo_config import cfg from oslo_config import fixture as config_fixture from oslo_context import context from oslo_db import api as oslo_db_api from oslo_db import exception as db_exc from oslo_db import options as oslo_db_options from oslo_db.sqlalchemy import enginefacade from oslo_db.sqlalchemy import models from oslo_log import log as logging from oslo_middleware import cors from oslo_middleware import request_id from oslo_policy import opts as policy_opts from oslo_policy import policy from oslo_policy import policy as oslo_policy from oslo_serialization import jsonutils from oslotest import log from oslotest import output from oslo_utils import encodeutils from oslo_utils import excutils from oslo_utils import importutils from oslo_utils import timeutils from oslo_utils import uuidutils from oslo_utils import uuidutils from oslo_versionedobjects import base from oslo_versionedobjects import fields from placement.conf import api from placement.conf import base from placement.conf import database from placement.conf import keystone from placement.conf import paths from placement.conf import placement from placement.conf import utils as confutils from placement.db import constants as db_const from placement.db import migration from placement.db.sqlalchemy import api_models from placement.db.sqlalchemy import api_models as models from placement.db.sqlalchemy import migration from placement.handlers import aggregate from placement.handlers import allocation from placement.handlers import allocation_candidate from placement.handlers import inventory from placement.handlers import reshaper from placement.handlers import resource_class from placement.handlers import resource_provider from placement.handlers import root from placement.handlers import trait from placement.handlers import usage from placement.i18n import _ from placement import auth from placement import conf from placement import context from placement import db_api from placement import db_api as placement_db from placement import deploy from placement import direct from placement import errors from placement import exception from placement import fault_wrap from placement import handler from placement import lib as pl from placement import lib as placement_lib from placement import microversion from placement import objects from placement import policies from placement import policy from placement import policy as placement_policy from placement import rc_fields from placement import rc_fields as fields from placement import requestlog from placement import resource_class_cache as rc_cache from placement import util from placement import utils from placement import wsgi_wrapper from placement.objects import consumer as consumer_obj from placement.objects import project as project_obj from placement.objects import resource_provider from placement.objects import resource_provider as rp_obj from placement.objects import user as user_obj from placement.policies import aggregate from placement.policies import aggregate as policies from placement.policies import allocation from placement.policies import allocation as policies from placement.policies import allocation_candidate from placement.policies import allocation_candidate as \ from placement.policies import base from placement.policies import inventory from placement.policies import inventory as policies from placement.policies import reshaper from placement.policies import reshaper as policies from placement.policies import resource_class from placement.policies import resource_class as policies from placement.policies import resource_provider from placement.policies import resource_provider as policies from placement.policies import trait from placement.policies import trait as policies from placement.policies import usage from placement.policies import usage as policies from placement.schemas import aggregate as schema from placement.schemas import allocation from placement.schemas import allocation as schema from placement.schemas import allocation_candidate as schema from placement.schemas import common from placement.schemas import inventory from placement.schemas import inventory as schema from placement.schemas import reshaper as schema from placement.schemas import resource_class as schema from placement.schemas import resource_provider as rp_schema from placement.schemas import trait as schema from placement.schemas import usage as schema from placement.tests.functional.db import test_base as tb from placement.tests.functional.fixtures import capture from placement.tests.functional.fixtures import gabbits as fixtures from placement.tests.functional import base from placement.tests import fixtures from placement.tests import uuidsentinel from placement.tests import uuidsentinel as uuids from placement.tests.unit import policy_fixture from sqlalchemy.dialects.mysql import MEDIUMTEXT from sqlalchemy.engine import reflection from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Boolean from sqlalchemy import Column from sqlalchemy import DateTime from sqlalchemy import dialects from sqlalchemy import Enum from sqlalchemy import exc as sqla_exc from sqlalchemy import Float from sqlalchemy import ForeignKey from sqlalchemy import func from sqlalchemy import Index from sqlalchemy import Integer from sqlalchemy import MetaData from sqlalchemy import MetaData, Table, func, select from sqlalchemy import orm from sqlalchemy import schema from sqlalchemy import sql from sqlalchemy import String from sqlalchemy import Table from sqlalchemy import text from sqlalchemy import Text from sqlalchemy import Unicode from sqlalchemy.orm import backref from sqlalchemy.sql import null from webob.dec import wsgify from webob import exc from wsgi_intercept import interceptor .. important:: # important to be able to update an existing allocation, so this import codecs import collections import contextlib import copy import datetime imported_modules = [] imported_modules.append(mod) imported_modules = _import_modules(module_names) import_exceptions = placement.i18n import fixtures import functools import importlib import inspect import itertools import jsonschema import logging import logging as py_logging import microversion_parse import mock import multiprocessing # noqa import operator import os import oslo_i18n import oslo_middleware import os.path import os_traits import pbr.version import pkgutil import placement import placement.conf import placement.db.api import placement.handler # noqa import placement.microversion import random import re import requests import routes import setuptools import shutil import six import sqlalchemy import sqlalchemy as sa import sys import tempfile import testtools # import the handlers to load up handler decorators import uuid import uuid as uuidlib import warnings import warnings import webob import webob.dec import webob.exc import wsgi_intercept It is especially important to keep in mind that nova-compute is a client of may be called by certain jobs at important times to do extra testing, setup, mod = importlib.import_module("placement.conf." + modname) - [N311] importing code from other virt drivers forbidden - [N323] Ensure that the _() function is explicitly imported to ensure proper translations. - [N337] Don't import translation in tests - [N359] Check for redundant import aliases. # NOTE(cdent): avoid cyclical import conflict between util and # NOTE(cdent): The ordering here is important. The list is ordered # NOTE(edleafe): I would like to import the value directly from # nova.compute.vm_states, but that creates a circular import. Since this value # nova.objects package is imported). own file so the nova db_api (which has cascading imports) is not imported. - ``placement.db`` imports are not allowed in ``nova/virt/*`` # placement side we don't want to import all the nova fields, nor all the profiler = importutils.try_import('osprofiler.opts') resource providers. This is an important difference especially for return imported_modules # should work but it is important to check the usage. """Symbols intended to be imported by both placement code and placement API Then you can delete it. More importantly, you should not The TestCase class from nova.test (generally imported as test) will """Useful db-related constants. In their own file so they can be imported use, offer to sell, sell, import, and otherwise transfer the Work, what features each driver supports based on what's important to some large