summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/clear_rabbit_queues2
-rwxr-xr-xbin/nova-ajax-console-proxy2
-rwxr-xr-xbin/nova-direct-api2
-rw-r--r--nova/api/auth.py2
-rw-r--r--nova/api/ec2/__init__.py2
-rw-r--r--nova/api/openstack/compute/__init__.py2
-rw-r--r--nova/auth/ldapdriver.py2
-rw-r--r--nova/auth/manager.py2
-rw-r--r--nova/cloudpipe/pipelib.py2
-rw-r--r--nova/compute/api.py2
-rw-r--r--nova/compute/manager.py2
-rw-r--r--nova/console/manager.py2
-rw-r--r--nova/console/vmrc.py2
-rw-r--r--nova/console/vmrc_manager.py2
-rw-r--r--nova/console/xvp.py2
-rw-r--r--nova/consoleauth/__init__.py2
-rw-r--r--nova/consoleauth/manager.py2
-rw-r--r--nova/crypto.py2
-rw-r--r--nova/db/api.py2
-rw-r--r--nova/db/base.py2
-rw-r--r--nova/flags.py2
-rw-r--r--nova/image/s3.py2
-rw-r--r--nova/ipv6/api.py2
-rw-r--r--nova/log.py2
-rw-r--r--nova/network/ldapdns.py2
-rwxr-xr-xnova/network/linux_net.py2
-rw-r--r--nova/network/manager.py2
-rw-r--r--nova/network/quantum/manager.py2
-rw-r--r--nova/network/quantum/melange_connection.py2
-rw-r--r--nova/network/quantum/quantum_connection.py2
-rw-r--r--nova/notifier/api.py2
-rw-r--r--nova/notifier/list_notifier.py2
-rw-r--r--nova/notifier/rabbit_notifier.py2
-rw-r--r--nova/objectstore/s3server.py2
-rw-r--r--nova/openstack/__init__.py15
-rw-r--r--nova/openstack/common/__init__.py15
-rw-r--r--nova/openstack/common/cfg.py (renamed from nova/common/cfg.py)0
-rw-r--r--nova/policy.py2
-rw-r--r--nova/quota.py2
-rw-r--r--nova/rpc/__init__.py6
-rw-r--r--nova/rpc/common.py2
-rw-r--r--nova/rpc/impl_qpid.py2
-rw-r--r--nova/scheduler/api.py2
-rw-r--r--nova/scheduler/driver.py2
-rw-r--r--nova/scheduler/filters/core_filter.py2
-rw-r--r--nova/scheduler/filters/ram_filter.py2
-rw-r--r--nova/scheduler/host_manager.py2
-rw-r--r--nova/scheduler/least_cost.py2
-rw-r--r--nova/scheduler/manager.py2
-rw-r--r--nova/scheduler/multi.py2
-rw-r--r--nova/scheduler/scheduler_options.py2
-rw-r--r--nova/scheduler/simple.py2
-rw-r--r--nova/scheduler/vsa.py2
-rw-r--r--nova/scheduler/zone_manager.py2
-rw-r--r--nova/service.py2
-rw-r--r--nova/test.py2
-rw-r--r--nova/tests/declare_flags.py2
-rw-r--r--nova/tests/runtime_flags.py2
-rw-r--r--nova/tests/test_cfg.py789
-rw-r--r--nova/tests/test_flags.py2
-rw-r--r--nova/tests/test_service.py2
-rw-r--r--nova/utils.py2
-rw-r--r--nova/virt/disk/api.py2
-rw-r--r--nova/virt/disk/nbd.py2
-rw-r--r--nova/virt/firewall.py2
-rw-r--r--nova/virt/libvirt/connection.py2
-rw-r--r--nova/virt/libvirt/imagecache.py2
-rw-r--r--nova/virt/libvirt/utils.py2
-rw-r--r--nova/virt/libvirt/vif.py2
-rw-r--r--nova/virt/vmwareapi/vim.py2
-rw-r--r--nova/virt/vmwareapi/vmops.py2
-rw-r--r--nova/virt/vmwareapi_conn.py2
-rw-r--r--nova/virt/xenapi/vif.py2
-rw-r--r--nova/virt/xenapi/vm_utils.py2
-rw-r--r--nova/virt/xenapi/vmops.py2
-rw-r--r--nova/virt/xenapi_conn.py2
-rw-r--r--nova/vnc/__init__.py2
-rw-r--r--nova/vnc/xvp_proxy.py2
-rw-r--r--nova/volume/driver.py2
-rw-r--r--nova/volume/iscsi.py2
-rw-r--r--nova/volume/manager.py2
-rw-r--r--nova/volume/san.py3
-rw-r--r--nova/vsa/api.py2
-rw-r--r--nova/vsa/manager.py2
84 files changed, 112 insertions, 872 deletions
diff --git a/bin/clear_rabbit_queues b/bin/clear_rabbit_queues
index f697ef6b4..9d0d803a5 100755
--- a/bin/clear_rabbit_queues
+++ b/bin/clear_rabbit_queues
@@ -40,11 +40,11 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'nova', '__init__.py')):
gettext.install('nova', unicode=1)
-from nova.common import cfg
from nova import context
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import rpc
from nova import utils
diff --git a/bin/nova-ajax-console-proxy b/bin/nova-ajax-console-proxy
index 7dd5266a7..94d93cd0e 100755
--- a/bin/nova-ajax-console-proxy
+++ b/bin/nova-ajax-console-proxy
@@ -38,9 +38,9 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import rpc
from nova import service
from nova import utils
diff --git a/bin/nova-direct-api b/bin/nova-direct-api
index f77311914..6a79ef626 100755
--- a/bin/nova-direct-api
+++ b/bin/nova-direct-api
@@ -35,11 +35,11 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
-from nova.common import cfg
from nova import compute
from nova import flags
from nova import log as logging
from nova import network
+from nova.openstack.common import cfg
from nova import service
from nova import utils
from nova import volume
diff --git a/nova/api/auth.py b/nova/api/auth.py
index 84ba3376d..cb601bdb3 100644
--- a/nova/api/auth.py
+++ b/nova/api/auth.py
@@ -21,10 +21,10 @@ Common Auth Middleware.
import webob.dec
import webob.exc
-from nova.common import cfg
from nova import context
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import wsgi
diff --git a/nova/api/ec2/__init__.py b/nova/api/ec2/__init__.py
index 3ee89c9c2..bcd7b239e 100644
--- a/nova/api/ec2/__init__.py
+++ b/nova/api/ec2/__init__.py
@@ -32,11 +32,11 @@ from nova.api.ec2 import ec2utils
from nova.api.ec2 import faults
from nova.api import validator
from nova.auth import manager
-from nova.common import cfg
from nova import context
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova import wsgi
diff --git a/nova/api/openstack/compute/__init__.py b/nova/api/openstack/compute/__init__.py
index d035173ed..3884ffbad 100644
--- a/nova/api/openstack/compute/__init__.py
+++ b/nova/api/openstack/compute/__init__.py
@@ -31,9 +31,9 @@ from nova.api.openstack.compute import limits
from nova.api.openstack.compute import servers
from nova.api.openstack.compute import server_metadata
from nova.api.openstack.compute import versions
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
LOG = logging.getLogger('nova.api.openstack.compute')
diff --git a/nova/auth/ldapdriver.py b/nova/auth/ldapdriver.py
index 79da5bd8d..3cb0de783 100644
--- a/nova/auth/ldapdriver.py
+++ b/nova/auth/ldapdriver.py
@@ -27,10 +27,10 @@ public methods.
import functools
import sys
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
ldap_opts = [
diff --git a/nova/auth/manager.py b/nova/auth/manager.py
index 234b9bf33..40f1fc842 100644
--- a/nova/auth/manager.py
+++ b/nova/auth/manager.py
@@ -30,13 +30,13 @@ import tempfile
import uuid
import zipfile
-from nova.common import cfg
from nova import context
from nova import crypto
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.auth import signer
diff --git a/nova/cloudpipe/pipelib.py b/nova/cloudpipe/pipelib.py
index 3c92f72b1..7d43866e6 100644
--- a/nova/cloudpipe/pipelib.py
+++ b/nova/cloudpipe/pipelib.py
@@ -27,13 +27,13 @@ import string
import tempfile
import zipfile
-from nova.common import cfg
from nova import context
from nova import crypto
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
# TODO(eday): Eventually changes these to something not ec2-specific
from nova.api.ec2 import cloud
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 42c4ea4f0..f54d184dd 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -28,7 +28,6 @@ import novaclient
import webob.exc
from nova import block_device
-from nova.common import cfg
from nova.compute import aggregate_states
from nova.compute import instance_types
from nova.compute import power_state
@@ -40,6 +39,7 @@ from nova import flags
import nova.image
from nova import log as logging
from nova import network
+from nova.openstack.common import cfg
import nova.policy
from nova import quota
from nova import rpc
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 0d49a19c4..64401eeca 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -45,7 +45,6 @@ from eventlet import greenthread
from nova import block_device
import nova.context
-from nova.common import cfg
from nova.compute import instance_types
from nova.compute import power_state
from nova.compute import task_states
@@ -59,6 +58,7 @@ from nova import manager
from nova import network
from nova.network import model as network_model
from nova.notifier import api as notifier
+from nova.openstack.common import cfg
from nova import rpc
from nova import utils
from nova.virt import driver
diff --git a/nova/console/manager.py b/nova/console/manager.py
index 220ac32c5..a181ee437 100644
--- a/nova/console/manager.py
+++ b/nova/console/manager.py
@@ -19,10 +19,10 @@
import socket
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import manager
from nova import rpc
from nova import utils
diff --git a/nova/console/vmrc.py b/nova/console/vmrc.py
index e29254d60..a104a5f7b 100644
--- a/nova/console/vmrc.py
+++ b/nova/console/vmrc.py
@@ -20,9 +20,9 @@
import base64
import json
-from nova.common import cfg
from nova import exception
from nova import flags
+from nova.openstack.common import cfg
from nova.virt.vmwareapi import vim_util
diff --git a/nova/console/vmrc_manager.py b/nova/console/vmrc_manager.py
index 03cc46bf6..161499830 100644
--- a/nova/console/vmrc_manager.py
+++ b/nova/console/vmrc_manager.py
@@ -17,11 +17,11 @@
"""VMRC Console Manager."""
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
from nova import manager
+from nova.openstack.common import cfg
from nova import rpc
from nova import utils
from nova.virt import vmwareapi_conn
diff --git a/nova/console/xvp.py b/nova/console/xvp.py
index 2b8dcc1e0..35e57f086 100644
--- a/nova/console/xvp.py
+++ b/nova/console/xvp.py
@@ -22,12 +22,12 @@ import signal
from Cheetah import Template
-from nova.common import cfg
from nova import context
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/consoleauth/__init__.py b/nova/consoleauth/__init__.py
index 4048ae433..4b28776c0 100644
--- a/nova/consoleauth/__init__.py
+++ b/nova/consoleauth/__init__.py
@@ -18,8 +18,8 @@
"""Module to authenticate Consoles."""
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
consoleauth_topic_opt = \
diff --git a/nova/consoleauth/manager.py b/nova/consoleauth/manager.py
index 08ddd5a3b..b3f85e1f9 100644
--- a/nova/consoleauth/manager.py
+++ b/nova/consoleauth/manager.py
@@ -22,10 +22,10 @@ import os
import sys
import time
-from nova.common import cfg
from nova import flags
from nova import log as logging
from nova import manager
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/crypto.py b/nova/crypto.py
index ddc2f76a0..79e40337b 100644
--- a/nova/crypto.py
+++ b/nova/crypto.py
@@ -33,12 +33,12 @@ import tempfile
import Crypto.Cipher.AES
-from nova.common import cfg
from nova import context
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/db/api.py b/nova/db/api.py
index de7b1de74..a8869458c 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -43,9 +43,9 @@ these objects be simple dictionaries.
"""
-from nova.common import cfg
from nova import exception
from nova import flags
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/db/base.py b/nova/db/base.py
index 77b7d82a7..a1b3bf711 100644
--- a/nova/db/base.py
+++ b/nova/db/base.py
@@ -18,9 +18,9 @@
"""Base class for classes that need modular database access."""
-from nova.common import cfg
from nova import utils
from nova import flags
+from nova.openstack.common import cfg
db_driver_opt = \
diff --git a/nova/flags.py b/nova/flags.py
index 4c0d61498..5be28240d 100644
--- a/nova/flags.py
+++ b/nova/flags.py
@@ -32,7 +32,7 @@ import sys
import gflags
-from nova.common import cfg
+from nova.openstack.common import cfg
class FlagValues(object):
diff --git a/nova/image/s3.py b/nova/image/s3.py
index ee11c163c..2be1b5ede 100644
--- a/nova/image/s3.py
+++ b/nova/image/s3.py
@@ -31,11 +31,11 @@ import eventlet
from nova import rpc
import nova.db.api
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import image
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.api.ec2 import ec2utils
diff --git a/nova/ipv6/api.py b/nova/ipv6/api.py
index 5931b8ba6..ea6d8eb22 100644
--- a/nova/ipv6/api.py
+++ b/nova/ipv6/api.py
@@ -14,8 +14,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/log.py b/nova/log.py
index 6432a0bef..c0bc256cc 100644
--- a/nova/log.py
+++ b/nova/log.py
@@ -40,9 +40,9 @@ import sys
import traceback
import nova
-from nova.common import cfg
from nova import flags
from nova import local
+from nova.openstack.common import cfg
from nova import version
diff --git a/nova/network/ldapdns.py b/nova/network/ldapdns.py
index a5491a259..a6d921186 100644
--- a/nova/network/ldapdns.py
+++ b/nova/network/ldapdns.py
@@ -19,10 +19,10 @@ import tempfile
import time
from nova.auth import fakeldap
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
LOG = logging.getLogger("nova.network.manager")
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index 56d07f983..285f7b2f6 100755
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -24,11 +24,11 @@ import inspect
import netaddr
import os
-from nova.common import cfg
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/network/manager.py b/nova/network/manager.py
index c6d3122b6..bce00f0fd 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -56,7 +56,6 @@ import socket
from eventlet import greenpool
import netaddr
-from nova.common import cfg
from nova.compute import api as compute_api
from nova.compute import instance_types
from nova import context
@@ -68,6 +67,7 @@ from nova import log as logging
from nova import manager
from nova.network import api as network_api
from nova.network import model as network_model
+from nova.openstack.common import cfg
import nova.policy
from nova import quota
from nova import utils
diff --git a/nova/network/quantum/manager.py b/nova/network/quantum/manager.py
index e4a3b4903..5e2729cac 100644
--- a/nova/network/quantum/manager.py
+++ b/nova/network/quantum/manager.py
@@ -19,7 +19,6 @@ import time
from netaddr import IPNetwork, IPAddress
-from nova.common import cfg
from nova.compute import instance_types
from nova import context
from nova import db
@@ -29,6 +28,7 @@ from nova import log as logging
from nova.network import manager
from nova.network.quantum import melange_ipam_lib
from nova.network.quantum import quantum_connection
+from nova.openstack.common import cfg
from nova import utils
LOG = logging.getLogger("nova.network.quantum.manager")
diff --git a/nova/network/quantum/melange_connection.py b/nova/network/quantum/melange_connection.py
index 499ace6b3..c7e3c606d 100644
--- a/nova/network/quantum/melange_connection.py
+++ b/nova/network/quantum/melange_connection.py
@@ -20,9 +20,9 @@ import socket
import urllib
import json
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
melange_opts = [
diff --git a/nova/network/quantum/quantum_connection.py b/nova/network/quantum/quantum_connection.py
index 914b816d1..d8a4e1a48 100644
--- a/nova/network/quantum/quantum_connection.py
+++ b/nova/network/quantum/quantum_connection.py
@@ -15,10 +15,10 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
from nova import flags
from nova import log as logging
from nova.network.quantum import client as quantum_client
+from nova.openstack.common import cfg
LOG = logging.getLogger("nova.network.quantum.quantum_connection")
diff --git a/nova/notifier/api.py b/nova/notifier/api.py
index 50730cb0f..4a59e0ba1 100644
--- a/nova/notifier/api.py
+++ b/nova/notifier/api.py
@@ -15,10 +15,10 @@
import uuid
-from nova.common import cfg
from nova import flags
from nova import utils
from nova import log as logging
+from nova.openstack.common import cfg
LOG = logging.getLogger('nova.exception')
diff --git a/nova/notifier/list_notifier.py b/nova/notifier/list_notifier.py
index 29c6ba720..d952b613e 100644
--- a/nova/notifier/list_notifier.py
+++ b/nova/notifier/list_notifier.py
@@ -13,9 +13,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.exception import ClassNotFound
diff --git a/nova/notifier/rabbit_notifier.py b/nova/notifier/rabbit_notifier.py
index c88f76cb0..25956c611 100644
--- a/nova/notifier/rabbit_notifier.py
+++ b/nova/notifier/rabbit_notifier.py
@@ -16,8 +16,8 @@
import nova.context
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova import rpc
diff --git a/nova/objectstore/s3server.py b/nova/objectstore/s3server.py
index 1ba8d44cf..e5217b4b9 100644
--- a/nova/objectstore/s3server.py
+++ b/nova/objectstore/s3server.py
@@ -44,9 +44,9 @@ import urllib
import routes
import webob
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova import wsgi
diff --git a/nova/openstack/__init__.py b/nova/openstack/__init__.py
new file mode 100644
index 000000000..0a3b98867
--- /dev/null
+++ b/nova/openstack/__init__.py
@@ -0,0 +1,15 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright (c) 2011 Red Hat, Inc.
+#
+# 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.
diff --git a/nova/openstack/common/__init__.py b/nova/openstack/common/__init__.py
new file mode 100644
index 000000000..0a3b98867
--- /dev/null
+++ b/nova/openstack/common/__init__.py
@@ -0,0 +1,15 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright (c) 2011 Red Hat, Inc.
+#
+# 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.
diff --git a/nova/common/cfg.py b/nova/openstack/common/cfg.py
index bfb7b8a19..bfb7b8a19 100644
--- a/nova/common/cfg.py
+++ b/nova/openstack/common/cfg.py
diff --git a/nova/policy.py b/nova/policy.py
index ccf1f4624..09b3ab988 100644
--- a/nova/policy.py
+++ b/nova/policy.py
@@ -17,10 +17,10 @@
"""Policy Engine For Nova"""
-from nova.common import cfg
from nova.common import policy
from nova import exception
from nova import flags
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/quota.py b/nova/quota.py
index d29ba685d..4a5eac4b4 100644
--- a/nova/quota.py
+++ b/nova/quota.py
@@ -18,8 +18,8 @@
"""Quotas for instances, volumes, and floating ips."""
-from nova.common import cfg
from nova import db
+from nova.openstack.common import cfg
from nova import flags
diff --git a/nova/rpc/__init__.py b/nova/rpc/__init__.py
index a6067432e..7c6ed29d0 100644
--- a/nova/rpc/__init__.py
+++ b/nova/rpc/__init__.py
@@ -17,10 +17,10 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
-from nova.utils import import_object
-from nova.rpc.common import RemoteError, LOG
from nova import flags
+from nova.openstack.common import cfg
+from nova.rpc.common import RemoteError, LOG
+from nova.utils import import_object
rpc_backend_opt = \
diff --git a/nova/rpc/common.py b/nova/rpc/common.py
index 70d5d07ba..696639e03 100644
--- a/nova/rpc/common.py
+++ b/nova/rpc/common.py
@@ -19,10 +19,10 @@
import copy
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
LOG = logging.getLogger('nova.rpc')
diff --git a/nova/rpc/impl_qpid.py b/nova/rpc/impl_qpid.py
index 353c7e502..1ed20ba81 100644
--- a/nova/rpc/impl_qpid.py
+++ b/nova/rpc/impl_qpid.py
@@ -25,8 +25,8 @@ import greenlet
import qpid.messaging
import qpid.messaging.exceptions
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova.rpc import amqp as rpc_amqp
from nova.rpc import common as rpc_common
from nova.rpc.common import LOG
diff --git a/nova/scheduler/api.py b/nova/scheduler/api.py
index c814ad664..814e45c6f 100644
--- a/nova/scheduler/api.py
+++ b/nova/scheduler/api.py
@@ -22,11 +22,11 @@ import functools
from novaclient import v1_1 as novaclient
from novaclient import exceptions as novaclient_exceptions
-from nova.common import cfg
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import rpc
from nova import utils
diff --git a/nova/scheduler/driver.py b/nova/scheduler/driver.py
index 5af98485d..f73eebc52 100644
--- a/nova/scheduler/driver.py
+++ b/nova/scheduler/driver.py
@@ -22,7 +22,6 @@ Scheduler base class that all Schedulers should inherit from
"""
from nova.api.ec2 import ec2utils
-from nova.common import cfg
from nova.compute import api as compute_api
from nova.compute import power_state
from nova.compute import vm_states
@@ -30,6 +29,7 @@ from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import rpc
from nova.scheduler import host_manager
from nova.scheduler import zone_manager
diff --git a/nova/scheduler/filters/core_filter.py b/nova/scheduler/filters/core_filter.py
index d76eceeef..5afc63c24 100644
--- a/nova/scheduler/filters/core_filter.py
+++ b/nova/scheduler/filters/core_filter.py
@@ -15,9 +15,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova.scheduler.filters import abstract_filter
diff --git a/nova/scheduler/filters/ram_filter.py b/nova/scheduler/filters/ram_filter.py
index 67c9f72b8..8bae04949 100644
--- a/nova/scheduler/filters/ram_filter.py
+++ b/nova/scheduler/filters/ram_filter.py
@@ -14,9 +14,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova.scheduler.filters import abstract_filter
LOG = logging.getLogger('nova.scheduler.filter.ram_filter')
diff --git a/nova/scheduler/host_manager.py b/nova/scheduler/host_manager.py
index a56f154fc..925a8637a 100644
--- a/nova/scheduler/host_manager.py
+++ b/nova/scheduler/host_manager.py
@@ -21,11 +21,11 @@ import datetime
import types
import UserDict
-from nova.common import cfg
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/scheduler/least_cost.py b/nova/scheduler/least_cost.py
index 90ba4c2a0..4711ac4f3 100644
--- a/nova/scheduler/least_cost.py
+++ b/nova/scheduler/least_cost.py
@@ -22,8 +22,8 @@ The cost-function and weights are tabulated, and the host with the least cost
is then selected for provisioning.
"""
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova import log as logging
diff --git a/nova/scheduler/manager.py b/nova/scheduler/manager.py
index dc1b2c56a..e4eb08d11 100644
--- a/nova/scheduler/manager.py
+++ b/nova/scheduler/manager.py
@@ -23,13 +23,13 @@ Scheduler Service
import functools
-from nova.common import cfg
from nova.compute import vm_states
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
from nova import manager
+from nova.openstack.common import cfg
from nova import rpc
from nova import utils
diff --git a/nova/scheduler/multi.py b/nova/scheduler/multi.py
index 3bc67052f..08d4bf0e6 100644
--- a/nova/scheduler/multi.py
+++ b/nova/scheduler/multi.py
@@ -21,8 +21,8 @@
Scheduler that allows routing some calls to one driver and others to another.
"""
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova import utils
from nova.scheduler import driver
diff --git a/nova/scheduler/scheduler_options.py b/nova/scheduler/scheduler_options.py
index 0a6086fc6..63a77d08d 100644
--- a/nova/scheduler/scheduler_options.py
+++ b/nova/scheduler/scheduler_options.py
@@ -24,9 +24,9 @@ import datetime
import json
import os
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
scheduler_json_config_location_opt = \
diff --git a/nova/scheduler/simple.py b/nova/scheduler/simple.py
index e913730c7..94db0a475 100644
--- a/nova/scheduler/simple.py
+++ b/nova/scheduler/simple.py
@@ -21,10 +21,10 @@
Simple Scheduler
"""
-from nova.common import cfg
from nova import db
from nova import flags
from nova import exception
+from nova.openstack.common import cfg
from nova.scheduler import driver
from nova.scheduler import chance
from nova import utils
diff --git a/nova/scheduler/vsa.py b/nova/scheduler/vsa.py
index 989841d37..ee50ae978 100644
--- a/nova/scheduler/vsa.py
+++ b/nova/scheduler/vsa.py
@@ -19,11 +19,11 @@
VSA Simple Scheduler
"""
-from nova.common import cfg
from nova import context
from nova import db
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import rpc
from nova import utils
from nova import exception
diff --git a/nova/scheduler/zone_manager.py b/nova/scheduler/zone_manager.py
index c27e6bdbe..e94039a6b 100644
--- a/nova/scheduler/zone_manager.py
+++ b/nova/scheduler/zone_manager.py
@@ -23,10 +23,10 @@ import traceback
from eventlet import greenpool
from novaclient import v1_1 as novaclient
-from nova.common import cfg
from nova import db
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/service.py b/nova/service.py
index 56f706c4b..fc62a3b08 100644
--- a/nova/service.py
+++ b/nova/service.py
@@ -25,12 +25,12 @@ import os
import eventlet
import greenlet
-from nova.common import cfg
from nova import context
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import rpc
from nova import utils
from nova import version
diff --git a/nova/test.py b/nova/test.py
index f8e9c390f..7fe4b4abb 100644
--- a/nova/test.py
+++ b/nova/test.py
@@ -33,10 +33,10 @@ import mox
import nose.plugins.skip
import stubout
-from nova.common import cfg
from nova import flags
import nova.image.fake
from nova import log
+from nova.openstack.common import cfg
from nova import utils
from nova import service
from nova.testing.fake import rabbit
diff --git a/nova/tests/declare_flags.py b/nova/tests/declare_flags.py
index 9dc578867..cb6726a7c 100644
--- a/nova/tests/declare_flags.py
+++ b/nova/tests/declare_flags.py
@@ -16,8 +16,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
FLAGS = flags.FLAGS
FLAGS.add_option(cfg.IntOpt('answer', default=42, help='test flag'))
diff --git a/nova/tests/runtime_flags.py b/nova/tests/runtime_flags.py
index 1a28f4fbd..279d51162 100644
--- a/nova/tests/runtime_flags.py
+++ b/nova/tests/runtime_flags.py
@@ -16,8 +16,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
FLAGS = flags.FLAGS
FLAGS.add_option(cfg.IntOpt('runtime_answer', default=54, help='test flag'))
diff --git a/nova/tests/test_cfg.py b/nova/tests/test_cfg.py
deleted file mode 100644
index 6d02134e1..000000000
--- a/nova/tests/test_cfg.py
+++ /dev/null
@@ -1,789 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2011 Red Hat, Inc.
-#
-# 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.
-
-import os
-import sys
-import StringIO
-import tempfile
-
-import stubout
-
-from nova import test
-from nova.common.cfg import *
-
-
-class BaseTestCase(test.TestCase):
-
- def setUp(self):
- self.conf = ConfigOpts(prog='test',
- version='1.0',
- usage='%prog FOO BAR',
- default_config_files=[])
- self.tempfiles = []
- self.stubs = stubout.StubOutForTesting()
-
- def tearDown(self):
- self.remove_tempfiles()
- self.stubs.UnsetAll()
-
- def create_tempfiles(self, files):
- for (basename, contents) in files:
- (fd, path) = tempfile.mkstemp(prefix=basename)
- self.tempfiles.append(path)
- try:
- os.write(fd, contents)
- finally:
- os.close(fd)
- return self.tempfiles[-len(files):]
-
- def remove_tempfiles(self):
- for p in self.tempfiles:
- os.remove(p)
-
-
-class LeftoversTestCase(BaseTestCase):
-
- def test_leftovers(self):
- self.conf.register_cli_opt(StrOpt('foo'))
- self.conf.register_cli_opt(StrOpt('bar'))
-
- leftovers = self.conf(['those', '--foo', 'this',
- 'thems', '--bar', 'that', 'these'])
-
- self.assertEquals(leftovers, ['those', 'thems', 'these'])
-
-
-class FindConfigFilesTestCase(BaseTestCase):
-
- def test_find_config_files(self):
- config_files = \
- [os.path.expanduser('~/.blaa/blaa.conf'), '/etc/foo.conf']
-
- self.stubs.Set(os.path, 'exists', lambda p: p in config_files)
-
- self.assertEquals(find_config_files(project='blaa', prog='foo'),
- config_files)
-
-
-class CliOptsTestCase(BaseTestCase):
-
- def _do_cli_test(self, opt_class, default, cli_args, value):
- self.conf.register_cli_opt(opt_class('foo', default=default))
-
- self.conf(cli_args)
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, value)
-
- def test_str_default(self):
- self._do_cli_test(StrOpt, None, [], None)
-
- def test_str_arg(self):
- self._do_cli_test(StrOpt, None, ['--foo', 'bar'], 'bar')
-
- def test_bool_default(self):
- self._do_cli_test(BoolOpt, False, [], False)
-
- def test_bool_arg(self):
- self._do_cli_test(BoolOpt, None, ['--foo'], True)
-
- def test_bool_arg_inverse(self):
- self._do_cli_test(BoolOpt, None, ['--foo', '--nofoo'], False)
-
- def test_int_default(self):
- self._do_cli_test(IntOpt, 10, [], 10)
-
- def test_int_arg(self):
- self._do_cli_test(IntOpt, None, ['--foo=20'], 20)
-
- def test_float_default(self):
- self._do_cli_test(FloatOpt, 1.0, [], 1.0)
-
- def test_float_arg(self):
- self._do_cli_test(FloatOpt, None, ['--foo', '2.0'], 2.0)
-
- def test_list_default(self):
- self._do_cli_test(ListOpt, ['bar'], [], ['bar'])
-
- def test_list_arg(self):
- self._do_cli_test(ListOpt, None,
- ['--foo', 'blaa,bar'], ['blaa', 'bar'])
-
- def test_multistr_default(self):
- self._do_cli_test(MultiStrOpt, ['bar'], [], ['bar'])
-
- def test_multistr_arg(self):
- self._do_cli_test(MultiStrOpt, None,
- ['--foo', 'blaa', '--foo', 'bar'], ['blaa', 'bar'])
-
- def test_help(self):
- self.stubs.Set(sys, 'stdout', StringIO.StringIO())
- self.assertRaises(SystemExit, self.conf, ['--help'])
- self.assertTrue('FOO BAR' in sys.stdout.getvalue())
- self.assertTrue('--version' in sys.stdout.getvalue())
- self.assertTrue('--help' in sys.stdout.getvalue())
- self.assertTrue('--config-file=PATH' in sys.stdout.getvalue())
-
- def test_version(self):
- self.stubs.Set(sys, 'stdout', StringIO.StringIO())
- self.assertRaises(SystemExit, self.conf, ['--version'])
- self.assertTrue('1.0' in sys.stdout.getvalue())
-
- def test_config_file(self):
- paths = self.create_tempfiles([('1.conf', '[DEFAULT]'),
- ('2.conf', '[DEFAULT]')])
-
- self.conf(['--config-file', paths[0], '--config-file', paths[1]])
-
- self.assertEquals(self.conf.config_file, paths)
-
-
-class ConfigFileOptsTestCase(BaseTestCase):
-
- def test_conf_file_str_default(self):
- self.conf.register_opt(StrOpt('foo', default='bar'))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 'bar')
-
- def test_conf_file_str_value(self):
- self.conf.register_opt(StrOpt('foo'))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'foo = bar\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 'bar')
-
- def test_conf_file_str_value_override(self):
- self.conf.register_cli_opt(StrOpt('foo'))
-
- paths = self.create_tempfiles([('1.conf',
- '[DEFAULT]\n'
- 'foo = baar\n'),
- ('2.conf',
- '[DEFAULT]\n'
- 'foo = baaar\n')])
-
- self.conf(['--foo', 'bar',
- '--config-file', paths[0],
- '--config-file', paths[1]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 'baaar')
-
- def test_conf_file_int_default(self):
- self.conf.register_opt(IntOpt('foo', default=666))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 666)
-
- def test_conf_file_int_value(self):
- self.conf.register_opt(IntOpt('foo'))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'foo = 666\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 666)
-
- def test_conf_file_int_value_override(self):
- self.conf.register_cli_opt(IntOpt('foo'))
-
- paths = self.create_tempfiles([('1.conf',
- '[DEFAULT]\n'
- 'foo = 66\n'),
- ('2.conf',
- '[DEFAULT]\n'
- 'foo = 666\n')])
-
- self.conf(['--foo', '6',
- '--config-file', paths[0],
- '--config-file', paths[1]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 666)
-
- def test_conf_file_float_default(self):
- self.conf.register_opt(FloatOpt('foo', default=6.66))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 6.66)
-
- def test_conf_file_float_value(self):
- self.conf.register_opt(FloatOpt('foo'))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'foo = 6.66\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 6.66)
-
- def test_conf_file_float_value_override(self):
- self.conf.register_cli_opt(FloatOpt('foo'))
-
- paths = self.create_tempfiles([('1.conf',
- '[DEFAULT]\n'
- 'foo = 6.6\n'),
- ('2.conf',
- '[DEFAULT]\n'
- 'foo = 6.66\n')])
-
- self.conf(['--foo', '6',
- '--config-file', paths[0],
- '--config-file', paths[1]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, 6.66)
-
- def test_conf_file_list_default(self):
- self.conf.register_opt(ListOpt('foo', default=['bar']))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, ['bar'])
-
- def test_conf_file_list_value(self):
- self.conf.register_opt(ListOpt('foo'))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'foo = bar\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, ['bar'])
-
- def test_conf_file_list_value_override(self):
- self.conf.register_cli_opt(ListOpt('foo'))
-
- paths = self.create_tempfiles([('1.conf',
- '[DEFAULT]\n'
- 'foo = bar,bar\n'),
- ('2.conf',
- '[DEFAULT]\n'
- 'foo = b,a,r\n')])
-
- self.conf(['--foo', 'bar',
- '--config-file', paths[0],
- '--config-file', paths[1]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, ['b', 'a', 'r'])
-
- def test_conf_file_multistr_default(self):
- self.conf.register_opt(MultiStrOpt('foo', default=['bar']))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, ['bar'])
-
- def test_conf_file_multistr_value(self):
- self.conf.register_opt(MultiStrOpt('foo'))
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'foo = bar\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, ['bar'])
-
- def test_conf_file_multistr_values_append(self):
- self.conf.register_cli_opt(ListOpt('foo'))
-
- paths = self.create_tempfiles([('1.conf',
- '[DEFAULT]\n'
- 'foo = bar\n'),
- ('2.conf',
- '[DEFAULT]\n'
- 'foo = bar\n')])
-
- self.conf(['--foo', 'bar',
- '--config-file', paths[0],
- '--config-file', paths[1]])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
-
- # FIXME(markmc): values spread across the CLI and multiple
- # config files should be appended
- # self.assertEquals(self.conf.foo, ['bar', 'bar', 'bar'])
-
-
-class OptGroupsTestCase(BaseTestCase):
-
- def test_arg_group(self):
- blaa_group = OptGroup('blaa')
- self.conf.register_group(blaa_group)
- self.conf.register_cli_opt(StrOpt('foo'), group=blaa_group)
-
- self.conf(['--blaa-foo', 'bar'])
-
- self.assertTrue(hasattr(self.conf, 'blaa'))
- self.assertTrue(hasattr(self.conf.blaa, 'foo'))
- self.assertEquals(self.conf.blaa.foo, 'bar')
-
- def test_arg_group_by_name(self):
- self.conf.register_group(OptGroup('blaa'))
- self.conf.register_cli_opt(StrOpt('foo'), group='blaa')
-
- self.conf(['--blaa-foo', 'bar'])
-
- self.assertTrue(hasattr(self.conf, 'blaa'))
- self.assertTrue(hasattr(self.conf.blaa, 'foo'))
- self.assertEquals(self.conf.blaa.foo, 'bar')
-
- def test_arg_group_with_default(self):
- self.conf.register_group(OptGroup('blaa'))
- self.conf.register_cli_opt(StrOpt('foo', default='bar'), group='blaa')
-
- self.conf([])
-
- self.assertTrue(hasattr(self.conf, 'blaa'))
- self.assertTrue(hasattr(self.conf.blaa, 'foo'))
- self.assertEquals(self.conf.blaa.foo, 'bar')
-
- def test_arg_group_in_config_file(self):
- self.conf.register_group(OptGroup('blaa'))
- self.conf.register_opt(StrOpt('foo'), group='blaa')
-
- paths = self.create_tempfiles([('test.conf',
- '[blaa]\n'
- 'foo = bar\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'blaa'))
- self.assertTrue(hasattr(self.conf.blaa, 'foo'))
- self.assertEquals(self.conf.blaa.foo, 'bar')
-
-
-class TemplateSubstitutionTestCase(BaseTestCase):
-
- def _prep_test_str_sub(self, foo_default=None, bar_default=None):
- self.conf.register_cli_opt(StrOpt('foo', default=foo_default))
- self.conf.register_cli_opt(StrOpt('bar', default=bar_default))
-
- def _assert_str_sub(self):
- self.assertTrue(hasattr(self.conf, 'bar'))
- self.assertEquals(self.conf.bar, 'blaa')
-
- def test_str_sub_default_from_default(self):
- self._prep_test_str_sub(foo_default='blaa', bar_default='$foo')
-
- self.conf([])
-
- self._assert_str_sub()
-
- def test_str_sub_default_from_arg(self):
- self._prep_test_str_sub(bar_default='$foo')
-
- self.conf(['--foo', 'blaa'])
-
- self._assert_str_sub()
-
- def test_str_sub_default_from_config_file(self):
- self._prep_test_str_sub(bar_default='$foo')
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'foo = blaa\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self._assert_str_sub()
-
- def test_str_sub_arg_from_default(self):
- self._prep_test_str_sub(foo_default='blaa')
-
- self.conf(['--bar', '$foo'])
-
- self._assert_str_sub()
-
- def test_str_sub_arg_from_arg(self):
- self._prep_test_str_sub()
-
- self.conf(['--foo', 'blaa', '--bar', '$foo'])
-
- self._assert_str_sub()
-
- def test_str_sub_arg_from_config_file(self):
- self._prep_test_str_sub()
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'foo = blaa\n')])
-
- self.conf(['--config-file', paths[0], '--bar=$foo'])
-
- self._assert_str_sub()
-
- def test_str_sub_config_file_from_default(self):
- self._prep_test_str_sub(foo_default='blaa')
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'bar = $foo\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self._assert_str_sub()
-
- def test_str_sub_config_file_from_arg(self):
- self._prep_test_str_sub()
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'bar = $foo\n')])
-
- self.conf(['--config-file', paths[0], '--foo=blaa'])
-
- self._assert_str_sub()
-
- def test_str_sub_config_file_from_config_file(self):
- self._prep_test_str_sub()
-
- paths = self.create_tempfiles([('test.conf',
- '[DEFAULT]\n'
- 'bar = $foo\n'
- 'foo = blaa\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self._assert_str_sub()
-
- def test_str_sub_group_from_default(self):
- self.conf.register_cli_opt(StrOpt('foo', default='blaa'))
- self.conf.register_group(OptGroup('ba'))
- self.conf.register_cli_opt(StrOpt('r', default='$foo'), group='ba')
-
- self.conf([])
-
- self.assertTrue(hasattr(self.conf, 'ba'))
- self.assertTrue(hasattr(self.conf.ba, 'r'))
- self.assertEquals(self.conf.ba.r, 'blaa')
-
-
-class ReparseTestCase(BaseTestCase):
-
- def test_reparse(self):
- self.conf.register_group(OptGroup('blaa'))
- self.conf.register_cli_opt(StrOpt('foo', default='r'), group='blaa')
-
- paths = self.create_tempfiles([('test.conf',
- '[blaa]\n'
- 'foo = b\n')])
-
- self.conf(['--config-file', paths[0]])
-
- self.assertTrue(hasattr(self.conf, 'blaa'))
- self.assertTrue(hasattr(self.conf.blaa, 'foo'))
- self.assertEquals(self.conf.blaa.foo, 'b')
-
- self.conf(['--blaa-foo', 'a'])
-
- self.assertTrue(hasattr(self.conf, 'blaa'))
- self.assertTrue(hasattr(self.conf.blaa, 'foo'))
- self.assertEquals(self.conf.blaa.foo, 'a')
-
- self.conf([])
-
- self.assertTrue(hasattr(self.conf, 'blaa'))
- self.assertTrue(hasattr(self.conf.blaa, 'foo'))
- self.assertEquals(self.conf.blaa.foo, 'r')
-
-
-class OverridesTestCase(BaseTestCase):
-
- def test_no_default_override(self):
- self.conf.register_opt(StrOpt('foo'))
- self.conf([])
- self.assertEquals(self.conf.foo, None)
- self.conf.set_default('foo', 'bar')
- self.assertEquals(self.conf.foo, 'bar')
-
- def test_default_override(self):
- self.conf.register_opt(StrOpt('foo', default='foo'))
- self.conf([])
- self.assertEquals(self.conf.foo, 'foo')
- self.conf.set_default('foo', 'bar')
- self.assertEquals(self.conf.foo, 'bar')
- self.conf.set_default('foo', None)
- self.assertEquals(self.conf.foo, 'foo')
-
- def test_override(self):
- self.conf.register_opt(StrOpt('foo'))
- self.conf.set_override('foo', 'bar')
- self.conf([])
- self.assertEquals(self.conf.foo, 'bar')
-
- def test_group_no_default_override(self):
- self.conf.register_group(OptGroup('blaa'))
- self.conf.register_opt(StrOpt('foo'), group='blaa')
- self.conf([])
- self.assertEquals(self.conf.blaa.foo, None)
- self.conf.set_default('foo', 'bar', group='blaa')
- self.assertEquals(self.conf.blaa.foo, 'bar')
-
- def test_group_default_override(self):
- self.conf.register_group(OptGroup('blaa'))
- self.conf.register_opt(StrOpt('foo', default='foo'), group='blaa')
- self.conf([])
- self.assertEquals(self.conf.blaa.foo, 'foo')
- self.conf.set_default('foo', 'bar', group='blaa')
- self.assertEquals(self.conf.blaa.foo, 'bar')
- self.conf.set_default('foo', None, group='blaa')
- self.assertEquals(self.conf.blaa.foo, 'foo')
-
- def test_group_override(self):
- self.conf.register_group(OptGroup('blaa'))
- self.conf.register_opt(StrOpt('foo'), group='blaa')
- self.conf.set_override('foo', 'bar', group='blaa')
- self.conf([])
- self.assertEquals(self.conf.blaa.foo, 'bar')
-
-
-class SadPathTestCase(BaseTestCase):
-
- def test_unknown_attr(self):
- self.conf([])
- self.assertFalse(hasattr(self.conf, 'foo'))
- self.assertRaises(NoSuchOptError, getattr, self.conf, 'foo')
-
- def test_unknown_attr_is_attr_error(self):
- self.conf([])
- self.assertFalse(hasattr(self.conf, 'foo'))
- self.assertRaises(AttributeError, getattr, self.conf, 'foo')
-
- def test_unknown_group_attr(self):
- self.conf.register_group(OptGroup('blaa'))
-
- self.conf([])
-
- self.assertTrue(hasattr(self.conf, 'blaa'))
- self.assertFalse(hasattr(self.conf.blaa, 'foo'))
- self.assertRaises(NoSuchOptError, getattr, self.conf.blaa, 'foo')
-
- def test_ok_duplicate(self):
- opt = StrOpt('foo')
- self.conf.register_cli_opt(opt)
- self.conf.register_cli_opt(opt)
-
- self.conf([])
-
- self.assertTrue(hasattr(self.conf, 'foo'))
- self.assertEquals(self.conf.foo, None)
-
- def test_error_duplicate(self):
- self.conf.register_cli_opt(StrOpt('foo'))
- self.assertRaises(DuplicateOptError,
- self.conf.register_cli_opt, StrOpt('foo'))
-
- def test_error_duplicate_with_different_dest(self):
- self.conf.register_cli_opt(StrOpt('foo', dest='f'))
- self.assertRaises(DuplicateOptError,
- self.conf.register_cli_opt, StrOpt('foo'))
-
- def test_error_duplicate_short(self):
- self.conf.register_cli_opt(StrOpt('foo', short='f'))
- self.assertRaises(DuplicateOptError,
- self.conf.register_cli_opt, StrOpt('bar', short='f'))
-
- def test_no_such_group(self):
- self.assertRaises(NoSuchGroupError, self.conf.register_cli_opt,
- StrOpt('foo'), group='blaa')
-
- def test_already_parsed(self):
- self.conf([])
-
- self.assertRaises(ArgsAlreadyParsedError,
- self.conf.register_cli_opt, StrOpt('foo'))
-
- def test_bad_cli_arg(self):
- self.stubs.Set(sys, 'stderr', StringIO.StringIO())
-
- self.assertRaises(SystemExit, self.conf, ['--foo'])
-
- self.assertTrue('error' in sys.stderr.getvalue())
- self.assertTrue('--foo' in sys.stderr.getvalue())
-
- def _do_test_bad_cli_value(self, opt_class):
- self.conf.register_cli_opt(opt_class('foo'))
-
- self.stubs.Set(sys, 'stderr', StringIO.StringIO())
-
- self.assertRaises(SystemExit, self.conf, ['--foo', 'bar'])
-
- self.assertTrue('foo' in sys.stderr.getvalue())
- self.assertTrue('bar' in sys.stderr.getvalue())
-
- def test_bad_int_arg(self):
- self._do_test_bad_cli_value(IntOpt)
-
- def test_bad_float_arg(self):
- self._do_test_bad_cli_value(FloatOpt)
-
- def test_conf_file_not_found(self):
- paths = self.create_tempfiles([('test.conf', '')])
- os.remove(paths[0])
- self.tempfiles.remove(paths[0])
-
- self.assertRaises(ConfigFilesNotFoundError,
- self.conf, ['--config-file', paths[0]])
-
- def test_conf_file_broken(self):
- paths = self.create_tempfiles([('test.conf', 'foo')])
-
- self.assertRaises(ConfigFileParseError,
- self.conf, ['--config-file', paths[0]])
-
- def _do_test_conf_file_bad_value(self, opt_class):
- self.conf.register_opt(opt_class('foo'))
-
- def test_conf_file_bad_bool(self):
- self._do_test_conf_file_bad_value(BoolOpt)
-
- def test_conf_file_bad_int(self):
- self._do_test_conf_file_bad_value(IntOpt)
-
- def test_conf_file_bad_float(self):
- self._do_test_conf_file_bad_value(FloatOpt)
-
- def test_str_sub_from_group(self):
- self.conf.register_group(OptGroup('f'))
- self.conf.register_cli_opt(StrOpt('oo', default='blaa'), group='f')
- self.conf.register_cli_opt(StrOpt('bar', default='$f.oo'))
-
- self.conf([])
-
- self.assertFalse(hasattr(self.conf, 'bar'))
- self.assertRaises(TemplateSubstitutionError, getattr, self.conf, 'bar')
-
- def test_set_default_unknown_attr(self):
- self.conf([])
- self.assertRaises(NoSuchOptError, self.conf.set_default, 'foo', 'bar')
-
- def test_set_default_unknown_group(self):
- self.conf([])
- self.assertRaises(NoSuchGroupError,
- self.conf.set_default, 'foo', 'bar', group='blaa')
-
- def test_set_override_unknown_attr(self):
- self.conf([])
- self.assertRaises(NoSuchOptError, self.conf.set_override, 'foo', 'bar')
-
- def test_set_override_unknown_group(self):
- self.conf([])
- self.assertRaises(NoSuchGroupError,
- self.conf.set_override, 'foo', 'bar', group='blaa')
-
-
-class OptDumpingTestCase(BaseTestCase):
-
- class FakeLogger:
-
- def __init__(self, test_case, expected_lvl):
- self.test_case = test_case
- self.expected_lvl = expected_lvl
- self.logged = []
-
- def log(self, lvl, fmt, *args):
- self.test_case.assertEquals(lvl, self.expected_lvl)
- self.logged.append(fmt % args)
-
- def test_log_opt_values(self):
- self.conf.register_cli_opt(StrOpt('foo'))
- self.conf.register_group(OptGroup('blaa'))
- self.conf.register_cli_opt(StrOpt('bar'), 'blaa')
-
- self.conf(['--foo', 'this', '--blaa-bar', 'that'])
-
- logger = self.FakeLogger(self, 666)
-
- self.conf.log_opt_values(logger, 666)
-
- self.assertEquals(logger.logged, [
- "*" * 80,
- "Configuration options gathered from:",
- "command line args: ['--foo', 'this', '--blaa-bar', 'that']",
- "config files: []",
- "=" * 80,
- "config_file = []",
- "foo = this",
- "blaa.bar = that",
- "*" * 80,
- ])
-
-
-class CommonOptsTestCase(BaseTestCase):
-
- def setUp(self):
- super(CommonOptsTestCase, self).setUp()
- self.conf = CommonConfigOpts()
-
- def test_debug_verbose(self):
- self.conf(['--debug', '--verbose'])
-
- self.assertEquals(self.conf.debug, True)
- self.assertEquals(self.conf.verbose, True)
-
- def test_logging_opts(self):
- self.conf([])
-
- self.assertTrue(self.conf.log_config is None)
- self.assertTrue(self.conf.log_file is None)
- self.assertTrue(self.conf.log_dir is None)
-
- self.assertEquals(self.conf.log_format,
- CommonConfigOpts.DEFAULT_LOG_FORMAT)
- self.assertEquals(self.conf.log_date_format,
- CommonConfigOpts.DEFAULT_LOG_DATE_FORMAT)
-
- self.assertEquals(self.conf.use_syslog, False)
diff --git a/nova/tests/test_flags.py b/nova/tests/test_flags.py
index 02ee49ef0..bea34007a 100644
--- a/nova/tests/test_flags.py
+++ b/nova/tests/test_flags.py
@@ -21,8 +21,8 @@ import exceptions
import os
import tempfile
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova import test
FLAGS = flags.FLAGS
diff --git a/nova/tests/test_service.py b/nova/tests/test_service.py
index c8a18f7d8..edede55b3 100644
--- a/nova/tests/test_service.py
+++ b/nova/tests/test_service.py
@@ -22,11 +22,11 @@ Unit Tests for remote procedure calls using queue
import mox
-from nova.common import cfg
from nova import context
from nova import db
from nova import exception
from nova import flags
+from nova.openstack.common import cfg
from nova import test
from nova import service
from nova import manager
diff --git a/nova/utils.py b/nova/utils.py
index f86b4ff1f..72e1cd3e0 100644
--- a/nova/utils.py
+++ b/nova/utils.py
@@ -46,10 +46,10 @@ from eventlet import semaphore
from eventlet.green import subprocess
import netaddr
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
LOG = logging.getLogger("nova.utils")
diff --git a/nova/virt/disk/api.py b/nova/virt/disk/api.py
index 223f08a2f..929e17a55 100644
--- a/nova/virt/disk/api.py
+++ b/nova/virt/disk/api.py
@@ -29,10 +29,10 @@ import json
import os
import tempfile
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.virt.disk import guestfs
from nova.virt.disk import loop
diff --git a/nova/virt/disk/nbd.py b/nova/virt/disk/nbd.py
index 19904d694..d43fd3250 100644
--- a/nova/virt/disk/nbd.py
+++ b/nova/virt/disk/nbd.py
@@ -18,8 +18,8 @@
import os
import time
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova import utils
from nova.virt.disk import mount
diff --git a/nova/virt/firewall.py b/nova/virt/firewall.py
index 2af28d7f1..48b02e545 100644
--- a/nova/virt/firewall.py
+++ b/nova/virt/firewall.py
@@ -17,11 +17,11 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova.common import cfg
from nova import context
from nova import db
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.virt import netutils
diff --git a/nova/virt/libvirt/connection.py b/nova/virt/libvirt/connection.py
index 6c3e64692..45af96a0a 100644
--- a/nova/virt/libvirt/connection.py
+++ b/nova/virt/libvirt/connection.py
@@ -54,7 +54,6 @@ from xml.etree import ElementTree
from nova.auth import manager
from nova import block_device
-from nova.common import cfg
from nova.compute import instance_types
from nova.compute import power_state
from nova import context as nova_context
@@ -63,6 +62,7 @@ from nova import exception
from nova import flags
import nova.image
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.virt.disk import api as disk
from nova.virt import driver
diff --git a/nova/virt/libvirt/imagecache.py b/nova/virt/libvirt/imagecache.py
index a70842a3b..00c22ab49 100644
--- a/nova/virt/libvirt/imagecache.py
+++ b/nova/virt/libvirt/imagecache.py
@@ -29,13 +29,13 @@ import os
import sys
import time
-from nova.common import cfg
from nova import compute
from nova import context as db_context
from nova import db
from nova import flags
from nova import image
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.virt.libvirt import utils as virtutils
diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py
index 65254936a..4409e6aa6 100644
--- a/nova/virt/libvirt/utils.py
+++ b/nova/virt/libvirt/utils.py
@@ -23,9 +23,9 @@ import os
import random
import shutil
-from nova.common import cfg
from nova import exception
from nova import flags
+from nova.openstack.common import cfg
from nova import utils
from nova.virt.disk import api as disk
from nova.virt import images
diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py
index 503c33d0f..54bc742f8 100644
--- a/nova/virt/libvirt/vif.py
+++ b/nova/virt/libvirt/vif.py
@@ -19,11 +19,11 @@
"""VIF drivers for libvirt."""
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
from nova.network import linux_net
+from nova.openstack.common import cfg
from nova import utils
from nova.virt import netutils
from nova.virt.vif import VIFDriver
diff --git a/nova/virt/vmwareapi/vim.py b/nova/virt/vmwareapi/vim.py
index 0ce1be645..648231087 100644
--- a/nova/virt/vmwareapi/vim.py
+++ b/nova/virt/vmwareapi/vim.py
@@ -26,8 +26,8 @@ try:
except ImportError:
suds = None
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova.virt.vmwareapi import error_util
RESP_NOT_XML_ERROR = 'Response is "text/html", not "text/xml"'
diff --git a/nova/virt/vmwareapi/vmops.py b/nova/virt/vmwareapi/vmops.py
index 172936def..af867dc6a 100644
--- a/nova/virt/vmwareapi/vmops.py
+++ b/nova/virt/vmwareapi/vmops.py
@@ -26,11 +26,11 @@ import urllib
import urllib2
import uuid
-from nova.common import cfg
from nova.compute import power_state
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.virt.vmwareapi import vim_util
from nova.virt.vmwareapi import vm_util
diff --git a/nova/virt/vmwareapi_conn.py b/nova/virt/vmwareapi_conn.py
index d71b922c9..c63f1e9d5 100644
--- a/nova/virt/vmwareapi_conn.py
+++ b/nova/virt/vmwareapi_conn.py
@@ -36,12 +36,12 @@ import time
from eventlet import event
-from nova.common import cfg
from nova import context
from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.virt import driver
from nova.virt.vmwareapi import error_util
diff --git a/nova/virt/xenapi/vif.py b/nova/virt/xenapi/vif.py
index c1b752d5a..e4a5ea973 100644
--- a/nova/virt/xenapi/vif.py
+++ b/nova/virt/xenapi/vif.py
@@ -19,9 +19,9 @@
"""VIF drivers for XenAPI."""
-from nova.common import cfg
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova.virt.vif import VIFDriver
from nova.virt.xenapi.network_utils import NetworkHelper
from nova.virt.xenapi.vm_utils import VMHelper
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py
index 9ddf8b22a..169bb2b61 100644
--- a/nova/virt/xenapi/vm_utils.py
+++ b/nova/virt/xenapi/vm_utils.py
@@ -33,11 +33,11 @@ import uuid
from decimal import Decimal, InvalidOperation
from xml.dom import minidom
-from nova.common import cfg
from nova import exception
from nova import flags
from nova.image import glance
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.compute import instance_types
from nova.compute import power_state
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py
index 139eb3262..17f658f8e 100644
--- a/nova/virt/xenapi/vmops.py
+++ b/nova/virt/xenapi/vmops.py
@@ -31,7 +31,6 @@ import uuid
from eventlet import greenthread
-from nova.common import cfg
from nova.compute import api as compute
from nova.compute import power_state
from nova import context as nova_context
@@ -39,6 +38,7 @@ from nova import db
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.virt import driver
from nova.virt.xenapi import volume_utils
diff --git a/nova/virt/xenapi_conn.py b/nova/virt/xenapi_conn.py
index 6fda205d0..236bd4762 100644
--- a/nova/virt/xenapi_conn.py
+++ b/nova/virt/xenapi_conn.py
@@ -70,13 +70,13 @@ from eventlet import queue
from eventlet import tpool
from eventlet import timeout
-from nova.common import cfg
from nova import context
from nova import db
from nova import exception
from nova import utils
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova.virt import driver
from nova.virt.xenapi import vm_utils
from nova.virt.xenapi.vmops import VMOps
diff --git a/nova/vnc/__init__.py b/nova/vnc/__init__.py
index 0b2581203..ba7268e97 100644
--- a/nova/vnc/__init__.py
+++ b/nova/vnc/__init__.py
@@ -18,8 +18,8 @@
"""Module for VNC Proxying."""
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
vnc_opts = [
diff --git a/nova/vnc/xvp_proxy.py b/nova/vnc/xvp_proxy.py
index bf9ee5975..dfaf9a47a 100644
--- a/nova/vnc/xvp_proxy.py
+++ b/nova/vnc/xvp_proxy.py
@@ -26,10 +26,10 @@ import eventlet.green
import eventlet.greenio
import eventlet.wsgi
-from nova.common import cfg
from nova import context
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import rpc
from nova import version
from nova import wsgi
diff --git a/nova/volume/driver.py b/nova/volume/driver.py
index 0505b89b1..fa2893737 100644
--- a/nova/volume/driver.py
+++ b/nova/volume/driver.py
@@ -24,10 +24,10 @@ import os
import time
from xml.etree import ElementTree
-from nova.common import cfg
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.volume import iscsi
from nova.volume import volume_types
diff --git a/nova/volume/iscsi.py b/nova/volume/iscsi.py
index 66c293f15..f0934eb96 100644
--- a/nova/volume/iscsi.py
+++ b/nova/volume/iscsi.py
@@ -20,8 +20,8 @@ Helper code for the iSCSI volume driver.
"""
-from nova.common import cfg
from nova import flags
+from nova.openstack.common import cfg
from nova import utils
diff --git a/nova/volume/manager.py b/nova/volume/manager.py
index f22fcc2ca..7e739031b 100644
--- a/nova/volume/manager.py
+++ b/nova/volume/manager.py
@@ -38,12 +38,12 @@ intact.
"""
-from nova.common import cfg
from nova import context
from nova import exception
from nova import flags
from nova import log as logging
from nova import manager
+from nova.openstack.common import cfg
from nova import rpc
from nova import utils
from nova.volume import volume_types
diff --git a/nova/volume/san.py b/nova/volume/san.py
index 25309768e..bc06d7e03 100644
--- a/nova/volume/san.py
+++ b/nova/volume/san.py
@@ -32,11 +32,10 @@ import string
import uuid
from xml.etree import ElementTree
-from nova.common import cfg
-
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import utils
from nova.utils import ssh_execute
from nova.volume.driver import ISCSIDriver
diff --git a/nova/vsa/api.py b/nova/vsa/api.py
index 9c2bc0ce2..08b9deb13 100644
--- a/nova/vsa/api.py
+++ b/nova/vsa/api.py
@@ -25,11 +25,11 @@ For assistance and guidelines pls contact
import sys
-from nova.common import cfg
from nova import compute
from nova import exception
from nova import flags
from nova import log as logging
+from nova.openstack.common import cfg
from nova import rpc
from nova import volume
from nova.compute import instance_types
diff --git a/nova/vsa/manager.py b/nova/vsa/manager.py
index 42b5b1032..4dab8e31f 100644
--- a/nova/vsa/manager.py
+++ b/nova/vsa/manager.py
@@ -22,12 +22,12 @@ Handles all processes relating to Virtual Storage Arrays (VSA).
"""
-from nova.common import cfg
from nova import compute
from nova import exception
from nova import flags
from nova import log as logging
from nova import manager
+from nova.openstack.common import cfg
from nova import volume
from nova import vsa
from nova import utils