summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bogott <abogott@wikimedia.org>2012-06-28 15:59:23 -0500
committerAndrew Bogott <abogott@wikimedia.org>2012-07-02 15:57:09 -0500
commitd335457f48d09c3d780c92413fe777030c1335e2 (patch)
tree3403e3548f1a374b002470f8c7c399a9e8eed381
parent2038e933bd8bde659e31b4a78e2211a585e3dcec (diff)
downloadnova-d335457f48d09c3d780c92413fe777030c1335e2.tar.gz
Switch to common logging.
I only just moved logging from nova to common, so behavior should remain the same. Change-Id: I1d7304ca200f9d024bb7244d25be2f9a670318fb
-rwxr-xr-xbin/nova-all4
-rwxr-xr-xbin/nova-api4
-rwxr-xr-xbin/nova-api-ec24
-rwxr-xr-xbin/nova-api-metadata4
-rwxr-xr-xbin/nova-api-os-compute4
-rwxr-xr-xbin/nova-api-os-volume4
-rwxr-xr-xbin/nova-cert4
-rwxr-xr-xbin/nova-clear-rabbit-queues4
-rwxr-xr-xbin/nova-compute4
-rwxr-xr-xbin/nova-console4
-rwxr-xr-xbin/nova-consoleauth4
-rwxr-xr-xbin/nova-dhcpbridge4
-rwxr-xr-xbin/nova-instance-usage-audit4
-rwxr-xr-xbin/nova-manage4
-rwxr-xr-xbin/nova-network4
-rwxr-xr-xbin/nova-objectstore4
-rwxr-xr-xbin/nova-rpc-zmq-receiver2
-rwxr-xr-xbin/nova-scheduler4
-rwxr-xr-xbin/nova-volume4
-rwxr-xr-xbin/nova-volume-usage-audit4
-rwxr-xr-xbin/nova-xvpvncproxy4
-rw-r--r--etc/nova/logging_sample.conf2
-rw-r--r--nova/api/auth.py2
-rw-r--r--nova/api/ec2/__init__.py2
-rw-r--r--nova/api/ec2/apirequest.py2
-rw-r--r--nova/api/ec2/cloud.py2
-rw-r--r--nova/api/ec2/ec2utils.py2
-rw-r--r--nova/api/metadata/base.py2
-rw-r--r--nova/api/metadata/handler.py2
-rw-r--r--nova/api/openstack/__init__.py2
-rw-r--r--nova/api/openstack/auth.py2
-rw-r--r--nova/api/openstack/common.py2
-rw-r--r--nova/api/openstack/compute/__init__.py2
-rw-r--r--nova/api/openstack/compute/contrib/__init__.py2
-rw-r--r--nova/api/openstack/compute/contrib/accounts.py2
-rw-r--r--nova/api/openstack/compute/contrib/admin_actions.py2
-rw-r--r--nova/api/openstack/compute/contrib/aggregates.py2
-rw-r--r--nova/api/openstack/compute/contrib/certificates.py2
-rw-r--r--nova/api/openstack/compute/contrib/cloudpipe.py2
-rw-r--r--nova/api/openstack/compute/contrib/console_output.py2
-rw-r--r--nova/api/openstack/compute/contrib/consoles.py2
-rw-r--r--nova/api/openstack/compute/contrib/deferred_delete.py2
-rw-r--r--nova/api/openstack/compute/contrib/extended_server_attributes.py2
-rw-r--r--nova/api/openstack/compute/contrib/extended_status.py2
-rw-r--r--nova/api/openstack/compute/contrib/flavormanage.py2
-rw-r--r--nova/api/openstack/compute/contrib/floating_ip_dns.py2
-rw-r--r--nova/api/openstack/compute/contrib/floating_ip_pools.py2
-rw-r--r--nova/api/openstack/compute/contrib/floating_ips.py2
-rw-r--r--nova/api/openstack/compute/contrib/hosts.py2
-rw-r--r--nova/api/openstack/compute/contrib/hypervisors.py2
-rw-r--r--nova/api/openstack/compute/contrib/multinic.py2
-rw-r--r--nova/api/openstack/compute/contrib/networks.py2
-rw-r--r--nova/api/openstack/compute/contrib/rescue.py2
-rw-r--r--nova/api/openstack/compute/contrib/scheduler_hints.py2
-rw-r--r--nova/api/openstack/compute/contrib/security_groups.py2
-rw-r--r--nova/api/openstack/compute/contrib/server_start_stop.py2
-rw-r--r--nova/api/openstack/compute/contrib/users.py2
-rw-r--r--nova/api/openstack/compute/contrib/virtual_interfaces.py2
-rw-r--r--nova/api/openstack/compute/contrib/volumes.py2
-rw-r--r--nova/api/openstack/compute/extensions.py2
-rw-r--r--nova/api/openstack/compute/images.py2
-rw-r--r--nova/api/openstack/compute/ips.py2
-rw-r--r--nova/api/openstack/compute/servers.py2
-rw-r--r--nova/api/openstack/compute/views/addresses.py2
-rw-r--r--nova/api/openstack/compute/views/servers.py2
-rw-r--r--nova/api/openstack/extensions.py2
-rw-r--r--nova/api/openstack/urlmap.py2
-rw-r--r--nova/api/openstack/volume/__init__.py2
-rw-r--r--nova/api/openstack/volume/contrib/__init__.py2
-rw-r--r--nova/api/openstack/volume/extensions.py2
-rw-r--r--nova/api/openstack/volume/snapshots.py2
-rw-r--r--nova/api/openstack/volume/volumes.py2
-rw-r--r--nova/api/openstack/wsgi.py2
-rw-r--r--nova/api/sizelimit.py2
-rw-r--r--nova/auth/ldapdriver.py2
-rw-r--r--nova/auth/manager.py2
-rw-r--r--nova/auth/signer.py2
-rw-r--r--nova/cert/manager.py2
-rw-r--r--nova/cloudpipe/pipelib.py2
-rw-r--r--nova/common/deprecated.py2
-rw-r--r--nova/compute/api.py2
-rw-r--r--nova/compute/instance_types.py2
-rw-r--r--nova/compute/manager.py2
-rw-r--r--nova/compute/utils.py2
-rw-r--r--nova/console/manager.py2
-rw-r--r--nova/console/vmrc_manager.py2
-rw-r--r--nova/console/xvp.py2
-rw-r--r--nova/consoleauth/manager.py2
-rw-r--r--nova/context.py2
-rw-r--r--nova/crypto.py2
-rw-r--r--nova/db/sqlalchemy/api.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/082_essex.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/083_quota_class.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/087_add_uuid_to_bw_usage_cache.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/088_change_instance_id_to_uuid_in_block_device_mapping.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/089_add_volume_id_mappings.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py3
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/091_convert_volume_ids_to_uuid.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/092_add_instance_system_metadata.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/095_change_fk_instance_id_to_uuid.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/099_add_disabled_instance_types.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/100_instance_metadata_uses_uuid.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/101_security_group_instance_association_uses_uuid.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/102_consoles_uses_uuid.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/105_instance_info_caches_uses_uuid.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/106_add_foreign_keys.py2
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/107_add_instance_id_mappings.py2
-rw-r--r--nova/db/sqlalchemy/migration.py2
-rw-r--r--nova/db/sqlalchemy/session.py2
-rw-r--r--nova/exception.py2
-rw-r--r--nova/flags.py16
-rw-r--r--nova/image/glance.py2
-rw-r--r--nova/image/s3.py2
-rw-r--r--nova/manager.py2
-rw-r--r--nova/network/api.py2
-rw-r--r--nova/network/l3.py2
-rw-r--r--nova/network/ldapdns.py2
-rw-r--r--nova/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/melange_ipam_lib.py2
-rw-r--r--nova/network/quantum/nova_ipam_lib.py2
-rw-r--r--nova/network/quantum/quantum_connection.py2
-rw-r--r--nova/network/quantum/sg.py2
-rw-r--r--nova/notifications.py2
-rw-r--r--nova/notifier/api.py2
-rw-r--r--nova/notifier/capacity_notifier.py2
-rw-r--r--nova/notifier/list_notifier.py2
-rw-r--r--nova/notifier/log_notifier.py2
-rw-r--r--nova/notifier/rabbit_notifier.py2
-rw-r--r--nova/openstack/common/log.py (renamed from nova/log.py)272
-rw-r--r--nova/openstack/common/rpc/impl_zmq.py4
-rw-r--r--nova/quota.py2
-rw-r--r--nova/scheduler/driver.py2
-rw-r--r--nova/scheduler/filter_scheduler.py2
-rw-r--r--nova/scheduler/filters/arch_filter.py2
-rw-r--r--nova/scheduler/filters/compute_filter.py2
-rw-r--r--nova/scheduler/filters/core_filter.py2
-rw-r--r--nova/scheduler/filters/ram_filter.py2
-rw-r--r--nova/scheduler/filters/trusted_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/scheduler_options.py2
-rw-r--r--nova/service.py2
-rw-r--r--nova/test.py2
-rw-r--r--nova/tests/__init__.py4
-rw-r--r--nova/tests/api/ec2/test_cloud.py2
-rw-r--r--nova/tests/api/ec2/test_ec2_validate.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_aggregates.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_hosts.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_snapshots.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_volume_types.py2
-rw-r--r--nova/tests/api/openstack/compute/test_urlmap.py2
-rw-r--r--nova/tests/api/openstack/volume/test_router.py2
-rw-r--r--nova/tests/api/openstack/volume/test_snapshots.py2
-rw-r--r--nova/tests/compute/test_compute.py2
-rw-r--r--nova/tests/consoleauth/test_consoleauth.py2
-rw-r--r--nova/tests/fake_utils.py2
-rw-r--r--nova/tests/image/fake.py2
-rw-r--r--nova/tests/integrated/api/client.py2
-rw-r--r--nova/tests/integrated/integrated_helpers.py3
-rw-r--r--nova/tests/integrated/test_extensions.py2
-rw-r--r--nova/tests/integrated/test_login.py2
-rw-r--r--nova/tests/integrated/test_multiprocess_api.py2
-rw-r--r--nova/tests/integrated/test_servers.py2
-rw-r--r--nova/tests/integrated/test_volumes.py2
-rw-r--r--nova/tests/integrated/test_xml.py2
-rw-r--r--nova/tests/network/test_linux_net.py2
-rw-r--r--nova/tests/network/test_manager.py2
-rw-r--r--nova/tests/network/test_network_info.py2
-rw-r--r--nova/tests/network/test_quantum.py2
-rw-r--r--nova/tests/notifier/test_list_notifier.py2
-rw-r--r--nova/tests/test_SolidFireSanISCSIDriver.py2
-rw-r--r--nova/tests/test_auth.py2
-rw-r--r--nova/tests/test_compute_utils.py2
-rw-r--r--nova/tests/test_imagecache.py6
-rw-r--r--nova/tests/test_instance_types.py2
-rw-r--r--nova/tests/test_ipv6.py2
-rw-r--r--nova/tests/test_libvirt.py2
-rw-r--r--nova/tests/test_log.py217
-rw-r--r--nova/tests/test_migrations.py2
-rw-r--r--nova/tests/test_netapp.py2
-rw-r--r--nova/tests/test_notifications.py2
-rw-r--r--nova/tests/test_notifier.py4
-rw-r--r--nova/tests/test_virt_drivers.py2
-rw-r--r--nova/tests/test_volume.py4
-rw-r--r--nova/tests/test_volume_types.py2
-rw-r--r--nova/tests/test_volume_utils.py2
-rw-r--r--nova/tests/test_xenapi.py2
-rw-r--r--nova/tests/test_xensm.py2
-rw-r--r--nova/tests/volume/test_HpSanISCSIDriver.py2
-rw-r--r--nova/utils.py2
-rw-r--r--nova/virt/baremetal/dom.py2
-rw-r--r--nova/virt/baremetal/proxy.py2
-rw-r--r--nova/virt/baremetal/tilera.py2
-rw-r--r--nova/virt/connection.py2
-rw-r--r--nova/virt/disk/api.py2
-rw-r--r--nova/virt/disk/mount.py2
-rw-r--r--nova/virt/driver.py2
-rw-r--r--nova/virt/fake.py2
-rw-r--r--nova/virt/firewall.py2
-rw-r--r--nova/virt/images.py2
-rw-r--r--nova/virt/libvirt/config.py2
-rw-r--r--nova/virt/libvirt/driver.py2
-rw-r--r--nova/virt/libvirt/firewall.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/libvirt/volume.py2
-rw-r--r--nova/virt/vmwareapi/fake.py2
-rw-r--r--nova/virt/vmwareapi/io_util.py2
-rw-r--r--nova/virt/vmwareapi/network_utils.py2
-rw-r--r--nova/virt/vmwareapi/read_write_util.py2
-rw-r--r--nova/virt/vmwareapi/vif.py2
-rw-r--r--nova/virt/vmwareapi/vmops.py2
-rw-r--r--nova/virt/vmwareapi/vmware_images.py2
-rw-r--r--nova/virt/vmwareapi_conn.py2
-rw-r--r--nova/virt/xenapi/connection.py2
-rw-r--r--nova/virt/xenapi/fake.py2
-rw-r--r--nova/virt/xenapi/firewall.py2
-rw-r--r--nova/virt/xenapi/pool.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/volume_utils.py2
-rw-r--r--nova/virt/xenapi/volumeops.py2
-rw-r--r--nova/vnc/xvp_proxy.py2
-rw-r--r--nova/volume/api.py2
-rw-r--r--nova/volume/driver.py2
-rw-r--r--nova/volume/manager.py2
-rw-r--r--nova/volume/netapp.py2
-rw-r--r--nova/volume/nexenta/jsonrpc.py2
-rw-r--r--nova/volume/nexenta/volume.py2
-rw-r--r--nova/volume/san.py2
-rw-r--r--nova/volume/utils.py2
-rw-r--r--nova/volume/volume_types.py2
-rw-r--r--nova/volume/xensm.py2
-rw-r--r--nova/wsgi.py2
-rw-r--r--openstack-common.conf2
-rwxr-xr-xtools/clean_file_locks.py2
243 files changed, 415 insertions, 624 deletions
diff --git a/bin/nova-all b/bin/nova-all
index 6aee878056..a67c77b99d 100755
--- a/bin/nova-all
+++ b/bin/nova-all
@@ -41,8 +41,8 @@ if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
from nova import flags
-from nova import log as logging
from nova.objectstore import s3server
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
from nova.vnc import xvp_proxy
@@ -52,7 +52,7 @@ LOG = logging.getLogger('nova.all')
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
launcher = service.ProcessLauncher()
diff --git a/bin/nova-api b/bin/nova-api
index b778854f08..f55eca719d 100755
--- a/bin/nova-api
+++ b/bin/nova-api
@@ -37,13 +37,13 @@ if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
launcher = service.ProcessLauncher()
for api in flags.FLAGS.enabled_apis:
diff --git a/bin/nova-api-ec2 b/bin/nova-api-ec2
index f76f3dd7e3..8e66ab8748 100755
--- a/bin/nova-api-ec2
+++ b/bin/nova-api-ec2
@@ -33,13 +33,13 @@ if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = service.WSGIService('ec2')
service.serve(server, workers=server.workers)
diff --git a/bin/nova-api-metadata b/bin/nova-api-metadata
index 2aad934536..d445a16a97 100755
--- a/bin/nova-api-metadata
+++ b/bin/nova-api-metadata
@@ -33,13 +33,13 @@ if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = service.WSGIService('metadata')
service.serve(server, workers=server.workers)
diff --git a/bin/nova-api-os-compute b/bin/nova-api-os-compute
index c838552540..529d588212 100755
--- a/bin/nova-api-os-compute
+++ b/bin/nova-api-os-compute
@@ -33,13 +33,13 @@ if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = service.WSGIService('osapi_compute')
service.serve(server, workers=server.workers)
diff --git a/bin/nova-api-os-volume b/bin/nova-api-os-volume
index f08c69384e..7c368fce93 100755
--- a/bin/nova-api-os-volume
+++ b/bin/nova-api-os-volume
@@ -33,13 +33,13 @@ if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = service.WSGIService('osapi_volume')
service.serve(server, workers=server.workers)
diff --git a/bin/nova-cert b/bin/nova-cert
index a845c10558..81189492a9 100755
--- a/bin/nova-cert
+++ b/bin/nova-cert
@@ -33,13 +33,13 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'nova', '__init__.py')):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = service.Service.create(binary='nova-cert')
service.serve(server)
diff --git a/bin/nova-clear-rabbit-queues b/bin/nova-clear-rabbit-queues
index aff9da14ea..a2484c0b3a 100755
--- a/bin/nova-clear-rabbit-queues
+++ b/bin/nova-clear-rabbit-queues
@@ -43,8 +43,8 @@ gettext.install('nova', unicode=1)
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.openstack.common import log as logging
from nova.openstack.common import rpc
@@ -70,7 +70,7 @@ def delete_queues(queues):
if __name__ == '__main__':
args = flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
delete_queues(args[1:])
if FLAGS.delete_exchange:
delete_exchange(FLAGS.control_exchange)
diff --git a/bin/nova-compute b/bin/nova-compute
index bef7bce860..0a8432b1e1 100755
--- a/bin/nova-compute
+++ b/bin/nova-compute
@@ -35,13 +35,13 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'nova', '__init__.py')):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup('nova')
utils.monkey_patch()
server = service.Service.create(binary='nova-compute')
service.serve(server)
diff --git a/bin/nova-console b/bin/nova-console
index f5a760b374..a40e84c925 100755
--- a/bin/nova-console
+++ b/bin/nova-console
@@ -34,12 +34,12 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
server = service.Service.create(binary='nova-console')
service.serve(server)
service.wait()
diff --git a/bin/nova-consoleauth b/bin/nova-consoleauth
index 71d77b2855..082c7f6a27 100755
--- a/bin/nova-consoleauth
+++ b/bin/nova-consoleauth
@@ -33,13 +33,13 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
from nova.consoleauth import manager
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
if __name__ == "__main__":
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
server = service.Service.create(binary='nova-consoleauth')
service.serve(server)
diff --git a/bin/nova-dhcpbridge b/bin/nova-dhcpbridge
index d5179d074e..0693ae27a4 100755
--- a/bin/nova-dhcpbridge
+++ b/bin/nova-dhcpbridge
@@ -38,9 +38,9 @@ gettext.install('nova', unicode=1)
from nova import context
from nova import db
from nova import flags
-from nova import log as logging
from nova.network import linux_net
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import utils
@@ -97,7 +97,7 @@ def main():
"""Parse environment and arguments and call the approproate action."""
flagfile = os.environ.get('FLAGFILE', FLAGS.dhcpbridge_flagfile)
argv = flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
if int(os.environ.get('TESTING', '0')):
from nova.tests import fake_flags
diff --git a/bin/nova-instance-usage-audit b/bin/nova-instance-usage-audit
index 9fc71db056..1a7f34d6b9 100755
--- a/bin/nova-instance-usage-audit
+++ b/bin/nova-instance-usage-audit
@@ -55,7 +55,7 @@ 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 log as logging
from nova.openstack.common import rpc
from nova import utils
@@ -65,7 +65,7 @@ FLAGS = flags.FLAGS
if __name__ == '__main__':
admin_context = context.get_admin_context()
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
begin, end = utils.last_completed_audit_period()
print "Starting instance usage audit"
print "Creating usages for %s until %s" % (str(begin), str(end))
diff --git a/bin/nova-manage b/bin/nova-manage
index bc9dd4cd48..31b8669c54 100755
--- a/bin/nova-manage
+++ b/bin/nova-manage
@@ -86,10 +86,10 @@ from nova import db
from nova.db import migration
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova.openstack.common import timeutils
from nova import quota
@@ -1667,7 +1667,7 @@ def main():
try:
argv = flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
except cfg.ConfigFilesNotFoundError:
cfgfile = FLAGS.config_file[-1] if FLAGS.config_file else None
if cfgfile and not os.access(cfgfile, os.R_OK):
diff --git a/bin/nova-network b/bin/nova-network
index 306eddafa6..ca9a975515 100755
--- a/bin/nova-network
+++ b/bin/nova-network
@@ -35,13 +35,13 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = service.Service.create(binary='nova-network')
service.serve(server)
diff --git a/bin/nova-objectstore b/bin/nova-objectstore
index e9bd0f42d8..2149b16109 100755
--- a/bin/nova-objectstore
+++ b/bin/nova-objectstore
@@ -35,15 +35,15 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
from nova import flags
-from nova import log as logging
from nova.objectstore import s3server
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = s3server.get_wsgi_server()
service.serve(server)
diff --git a/bin/nova-rpc-zmq-receiver b/bin/nova-rpc-zmq-receiver
index 2fe569b770..5e5e6d8f75 100755
--- a/bin/nova-rpc-zmq-receiver
+++ b/bin/nova-rpc-zmq-receiver
@@ -45,7 +45,7 @@ CONF = cfg.CONF
def main():
CONF.register_opts(rpc.rpc_opts)
impl_zmq.register_opts(CONF)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
ipc_dir = CONF.rpc_zmq_ipc_dir
diff --git a/bin/nova-scheduler b/bin/nova-scheduler
index fb803ab5bb..e100156df9 100755
--- a/bin/nova-scheduler
+++ b/bin/nova-scheduler
@@ -37,13 +37,13 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
gettext.install('nova', unicode=1)
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = service.Service.create(binary='nova-scheduler')
service.serve(server)
diff --git a/bin/nova-volume b/bin/nova-volume
index d8c13b9a62..2c10c99f52 100755
--- a/bin/nova-volume
+++ b/bin/nova-volume
@@ -35,13 +35,13 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import service
from nova import utils
if __name__ == '__main__':
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
utils.monkey_patch()
server = service.Service.create(binary='nova-volume')
service.serve(server)
diff --git a/bin/nova-volume-usage-audit b/bin/nova-volume-usage-audit
index aff650aa44..735786f8f0 100755
--- a/bin/nova-volume-usage-audit
+++ b/bin/nova-volume-usage-audit
@@ -54,7 +54,7 @@ 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 log as logging
from nova.openstack.common import rpc
from nova import utils
from nova.volume import utils as volume_utils
@@ -65,7 +65,7 @@ if __name__ == '__main__':
admin_context = context.get_admin_context()
utils.default_cfgfile()
flags.FLAGS(sys.argv)
- logging.setup()
+ logging.setup("nova")
begin, end = utils.last_completed_audit_period()
print "Starting volume usage audit"
print "Creating usages for %s until %s" % (str(begin), str(end))
diff --git a/bin/nova-xvpvncproxy b/bin/nova-xvpvncproxy
index 1e3708072c..4a2f0ec116 100755
--- a/bin/nova-xvpvncproxy
+++ b/bin/nova-xvpvncproxy
@@ -32,7 +32,7 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import service
from nova.vnc import xvp_proxy
@@ -41,7 +41,7 @@ FLAGS = flags.FLAGS
if __name__ == "__main__":
flags.parse_args(sys.argv)
- logging.setup()
+ logging.setup("nova")
wsgi_server = xvp_proxy.get_wsgi_server()
service.serve(wsgi_server)
diff --git a/etc/nova/logging_sample.conf b/etc/nova/logging_sample.conf
index 403d70ed9a..ff8bc4a21a 100644
--- a/etc/nova/logging_sample.conf
+++ b/etc/nova/logging_sample.conf
@@ -70,7 +70,7 @@ formatter = default
args = ()
[formatter_legacynova]
-class = nova.log.LegacyNovaFormatter
+class = nova.log.LegacyFormatter
[formatter_default]
format = %(message)s
diff --git a/nova/api/auth.py b/nova/api/auth.py
index 72eba1d9ca..d8b5342c67 100644
--- a/nova/api/auth.py
+++ b/nova/api/auth.py
@@ -23,8 +23,8 @@ import webob.exc
from nova import context
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova import wsgi
diff --git a/nova/api/ec2/__init__.py b/nova/api/ec2/__init__.py
index 6bb19e7b3b..11fa9d6d5a 100644
--- a/nova/api/ec2/__init__.py
+++ b/nova/api/ec2/__init__.py
@@ -34,10 +34,10 @@ from nova.api import validator
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.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import utils
from nova import wsgi
diff --git a/nova/api/ec2/apirequest.py b/nova/api/ec2/apirequest.py
index c76549562a..70b1e3b804 100644
--- a/nova/api/ec2/apirequest.py
+++ b/nova/api/ec2/apirequest.py
@@ -27,7 +27,7 @@ from xml.dom import minidom
from nova.api.ec2 import ec2utils
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
FLAGS = flags.FLAGS
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 126df0f0a1..c632d7ac2c 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -37,9 +37,9 @@ from nova import db
from nova import exception
from nova import flags
from nova.image import s3
-from nova import log as logging
from nova import network
from nova.openstack.common import excutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import quota
from nova import utils
diff --git a/nova/api/ec2/ec2utils.py b/nova/api/ec2/ec2utils.py
index 6086282093..e1ea9c6d80 100644
--- a/nova/api/ec2/ec2utils.py
+++ b/nova/api/ec2/ec2utils.py
@@ -22,8 +22,8 @@ from nova import context
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
from nova.network import model as network_model
+from nova.openstack.common import log as logging
from nova import utils
diff --git a/nova/api/metadata/base.py b/nova/api/metadata/base.py
index 582bdec82b..ee6e282087 100644
--- a/nova/api/metadata/base.py
+++ b/nova/api/metadata/base.py
@@ -28,8 +28,8 @@ from nova import context
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
from nova import network
+from nova.openstack.common import log as logging
from nova import volume
FLAGS = flags.FLAGS
diff --git a/nova/api/metadata/handler.py b/nova/api/metadata/handler.py
index 59a7d030e0..d022cbc82e 100644
--- a/nova/api/metadata/handler.py
+++ b/nova/api/metadata/handler.py
@@ -25,7 +25,7 @@ import webob.exc
from nova.api.metadata import base
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import wsgi
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/__init__.py b/nova/api/openstack/__init__.py
index 82e958a597..afeed0399e 100644
--- a/nova/api/openstack/__init__.py
+++ b/nova/api/openstack/__init__.py
@@ -25,7 +25,7 @@ import webob.dec
import webob.exc
from nova.api.openstack import wsgi
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import wsgi as base_wsgi
diff --git a/nova/api/openstack/auth.py b/nova/api/openstack/auth.py
index 9e9e4d9787..078d586393 100644
--- a/nova/api/openstack/auth.py
+++ b/nova/api/openstack/auth.py
@@ -23,7 +23,7 @@ import webob.exc
from nova.api.openstack import wsgi
from nova import context
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import wsgi as base_wsgi
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py
index b8e013f981..88c81a5780 100644
--- a/nova/api/openstack/common.py
+++ b/nova/api/openstack/common.py
@@ -30,7 +30,7 @@ from nova.compute import utils as compute_utils
from nova.compute import vm_states
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import quota
diff --git a/nova/api/openstack/compute/__init__.py b/nova/api/openstack/compute/__init__.py
index f52234cf12..081290b10b 100644
--- a/nova/api/openstack/compute/__init__.py
+++ b/nova/api/openstack/compute/__init__.py
@@ -32,8 +32,8 @@ from nova.api.openstack.compute import server_metadata
from nova.api.openstack.compute import servers
from nova.api.openstack.compute import versions
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/__init__.py b/nova/api/openstack/compute/contrib/__init__.py
index 4d02ecf7e7..d44254eb6b 100644
--- a/nova/api/openstack/compute/contrib/__init__.py
+++ b/nova/api/openstack/compute/contrib/__init__.py
@@ -23,7 +23,7 @@ It can't be called 'extensions' because that causes namespacing problems.
from nova.api.openstack import extensions
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/compute/contrib/accounts.py b/nova/api/openstack/compute/contrib/accounts.py
index 1498ed1c56..e407015c2a 100644
--- a/nova/api/openstack/compute/contrib/accounts.py
+++ b/nova/api/openstack/compute/contrib/accounts.py
@@ -21,7 +21,7 @@ from nova.api.openstack import xmlutil
from nova.auth import manager
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/compute/contrib/admin_actions.py b/nova/api/openstack/compute/contrib/admin_actions.py
index 72815ed006..8432f02fca 100644
--- a/nova/api/openstack/compute/contrib/admin_actions.py
+++ b/nova/api/openstack/compute/contrib/admin_actions.py
@@ -25,7 +25,7 @@ from nova import compute
from nova.compute import vm_states
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/compute/contrib/aggregates.py b/nova/api/openstack/compute/contrib/aggregates.py
index aa10fe5321..834131f92e 100644
--- a/nova/api/openstack/compute/contrib/aggregates.py
+++ b/nova/api/openstack/compute/contrib/aggregates.py
@@ -20,7 +20,7 @@ from webob import exc
from nova.api.openstack import extensions
from nova.compute import api as compute_api
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
authorize = extensions.extension_authorizer('compute', 'aggregates')
diff --git a/nova/api/openstack/compute/contrib/certificates.py b/nova/api/openstack/compute/contrib/certificates.py
index 554ff10d8b..ccc6b84a2e 100644
--- a/nova/api/openstack/compute/contrib/certificates.py
+++ b/nova/api/openstack/compute/contrib/certificates.py
@@ -21,8 +21,8 @@ from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
import nova.cert.rpcapi
from nova import flags
-from nova import log as logging
from nova import network
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/cloudpipe.py b/nova/api/openstack/compute/contrib/cloudpipe.py
index 321123d76c..a2faf833b6 100644
--- a/nova/api/openstack/compute/contrib/cloudpipe.py
+++ b/nova/api/openstack/compute/contrib/cloudpipe.py
@@ -27,8 +27,8 @@ 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 network
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/api/openstack/compute/contrib/console_output.py b/nova/api/openstack/compute/contrib/console_output.py
index fd1e9418c7..7a16daec30 100644
--- a/nova/api/openstack/compute/contrib/console_output.py
+++ b/nova/api/openstack/compute/contrib/console_output.py
@@ -23,7 +23,7 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova import compute
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/consoles.py b/nova/api/openstack/compute/contrib/consoles.py
index 915ca5c876..ef61d39667 100644
--- a/nova/api/openstack/compute/contrib/consoles.py
+++ b/nova/api/openstack/compute/contrib/consoles.py
@@ -20,7 +20,7 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova import compute
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/deferred_delete.py b/nova/api/openstack/compute/contrib/deferred_delete.py
index 8ba23a6632..8eaea04bbd 100644
--- a/nova/api/openstack/compute/contrib/deferred_delete.py
+++ b/nova/api/openstack/compute/contrib/deferred_delete.py
@@ -22,7 +22,7 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova import compute
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/extended_server_attributes.py b/nova/api/openstack/compute/contrib/extended_server_attributes.py
index 46d4df2d14..f1ec9b9566 100644
--- a/nova/api/openstack/compute/contrib/extended_server_attributes.py
+++ b/nova/api/openstack/compute/contrib/extended_server_attributes.py
@@ -20,7 +20,7 @@ from nova.api.openstack import xmlutil
from nova import compute
from nova import db
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/compute/contrib/extended_status.py b/nova/api/openstack/compute/contrib/extended_status.py
index d17319c679..d88f4e14b9 100644
--- a/nova/api/openstack/compute/contrib/extended_status.py
+++ b/nova/api/openstack/compute/contrib/extended_status.py
@@ -19,7 +19,7 @@ from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import compute
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/compute/contrib/flavormanage.py b/nova/api/openstack/compute/contrib/flavormanage.py
index 547760e94a..4dedcf981c 100644
--- a/nova/api/openstack/compute/contrib/flavormanage.py
+++ b/nova/api/openstack/compute/contrib/flavormanage.py
@@ -20,7 +20,7 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova.compute import instance_types
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/floating_ip_dns.py b/nova/api/openstack/compute/contrib/floating_ip_dns.py
index a8a7a2a231..788d83b2da 100644
--- a/nova/api/openstack/compute/contrib/floating_ip_dns.py
+++ b/nova/api/openstack/compute/contrib/floating_ip_dns.py
@@ -22,8 +22,8 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import exception
-from nova import log as logging
from nova import network
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/floating_ip_pools.py b/nova/api/openstack/compute/contrib/floating_ip_pools.py
index 7265d8611c..216bc9091e 100644
--- a/nova/api/openstack/compute/contrib/floating_ip_pools.py
+++ b/nova/api/openstack/compute/contrib/floating_ip_pools.py
@@ -17,8 +17,8 @@
from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
-from nova import log as logging
from nova import network
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/floating_ips.py b/nova/api/openstack/compute/contrib/floating_ips.py
index 0b7fa881ea..ed5f61d53e 100644
--- a/nova/api/openstack/compute/contrib/floating_ips.py
+++ b/nova/api/openstack/compute/contrib/floating_ips.py
@@ -25,8 +25,8 @@ from nova.api.openstack import xmlutil
from nova import compute
from nova.compute import utils as compute_utils
from nova import exception
-from nova import log as logging
from nova import network
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/hosts.py b/nova/api/openstack/compute/contrib/hosts.py
index e24ef36051..95a80f3f6d 100644
--- a/nova/api/openstack/compute/contrib/hosts.py
+++ b/nova/api/openstack/compute/contrib/hosts.py
@@ -26,7 +26,7 @@ from nova.compute import api as compute_api
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/hypervisors.py b/nova/api/openstack/compute/contrib/hypervisors.py
index 6686de5a9b..084d875757 100644
--- a/nova/api/openstack/compute/contrib/hypervisors.py
+++ b/nova/api/openstack/compute/contrib/hypervisors.py
@@ -22,7 +22,7 @@ from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import db
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/multinic.py b/nova/api/openstack/compute/contrib/multinic.py
index 02e87edf25..29409c0503 100644
--- a/nova/api/openstack/compute/contrib/multinic.py
+++ b/nova/api/openstack/compute/contrib/multinic.py
@@ -22,7 +22,7 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova import compute
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/networks.py b/nova/api/openstack/compute/contrib/networks.py
index 20e481bc7e..ece331fbbb 100644
--- a/nova/api/openstack/compute/contrib/networks.py
+++ b/nova/api/openstack/compute/contrib/networks.py
@@ -22,8 +22,8 @@ from webob import exc
from nova.api.openstack import extensions
from nova import exception
from nova import flags
-from nova import log as logging
import nova.network.api
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/compute/contrib/rescue.py b/nova/api/openstack/compute/contrib/rescue.py
index 7bf815a379..918f17100c 100644
--- a/nova/api/openstack/compute/contrib/rescue.py
+++ b/nova/api/openstack/compute/contrib/rescue.py
@@ -23,7 +23,7 @@ from nova.api.openstack import wsgi
from nova import compute
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import utils
diff --git a/nova/api/openstack/compute/contrib/scheduler_hints.py b/nova/api/openstack/compute/contrib/scheduler_hints.py
index 9e0b3ea3a0..86b7564bdc 100644
--- a/nova/api/openstack/compute/contrib/scheduler_hints.py
+++ b/nova/api/openstack/compute/contrib/scheduler_hints.py
@@ -18,7 +18,7 @@ import webob.exc
from nova.api.openstack import extensions
from nova.api.openstack import wsgi
-import nova.log as logging
+import nova.openstack.common.log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/security_groups.py b/nova/api/openstack/compute/contrib/security_groups.py
index 840813d684..004df4e735 100644
--- a/nova/api/openstack/compute/contrib/security_groups.py
+++ b/nova/api/openstack/compute/contrib/security_groups.py
@@ -29,8 +29,8 @@ from nova import compute
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import excutils
+from nova.openstack.common import log as logging
from nova import utils
diff --git a/nova/api/openstack/compute/contrib/server_start_stop.py b/nova/api/openstack/compute/contrib/server_start_stop.py
index ca905d496d..049fa393b1 100644
--- a/nova/api/openstack/compute/contrib/server_start_stop.py
+++ b/nova/api/openstack/compute/contrib/server_start_stop.py
@@ -20,7 +20,7 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova import compute
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/users.py b/nova/api/openstack/compute/contrib/users.py
index 8eb9b9c5b0..12013f0141 100644
--- a/nova/api/openstack/compute/contrib/users.py
+++ b/nova/api/openstack/compute/contrib/users.py
@@ -22,7 +22,7 @@ from nova.api.openstack import xmlutil
from nova.auth import manager
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/compute/contrib/virtual_interfaces.py b/nova/api/openstack/compute/contrib/virtual_interfaces.py
index e7c0a87358..f4f14dc821 100644
--- a/nova/api/openstack/compute/contrib/virtual_interfaces.py
+++ b/nova/api/openstack/compute/contrib/virtual_interfaces.py
@@ -20,8 +20,8 @@ from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import compute
-from nova import log as logging
from nova import network
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/contrib/volumes.py b/nova/api/openstack/compute/contrib/volumes.py
index a51ba92291..6b04e3240f 100644
--- a/nova/api/openstack/compute/contrib/volumes.py
+++ b/nova/api/openstack/compute/contrib/volumes.py
@@ -26,7 +26,7 @@ from nova.api.openstack import xmlutil
from nova import compute
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import volume
from nova.volume import volume_types
diff --git a/nova/api/openstack/compute/extensions.py b/nova/api/openstack/compute/extensions.py
index b52e89ab52..cb5e89deb0 100644
--- a/nova/api/openstack/compute/extensions.py
+++ b/nova/api/openstack/compute/extensions.py
@@ -17,7 +17,7 @@
from nova.api.openstack import extensions as base_extensions
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/images.py b/nova/api/openstack/compute/images.py
index 35d21da600..1b20531def 100644
--- a/nova/api/openstack/compute/images.py
+++ b/nova/api/openstack/compute/images.py
@@ -22,7 +22,7 @@ from nova.api.openstack import xmlutil
from nova import exception
from nova import flags
import nova.image.glance
-from nova import log as logging
+from nova.openstack.common import log as logging
import nova.utils
diff --git a/nova/api/openstack/compute/ips.py b/nova/api/openstack/compute/ips.py
index 3afb206fa9..6ad888fd72 100644
--- a/nova/api/openstack/compute/ips.py
+++ b/nova/api/openstack/compute/ips.py
@@ -23,7 +23,7 @@ from nova.api.openstack.compute.views import addresses as view_addresses
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py
index 5a8e1f645e..ca87f3d4af 100644
--- a/nova/api/openstack/compute/servers.py
+++ b/nova/api/openstack/compute/servers.py
@@ -31,7 +31,7 @@ from nova import compute
from nova.compute import instance_types
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.openstack.common.rpc import common as rpc_common
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/api/openstack/compute/views/addresses.py b/nova/api/openstack/compute/views/addresses.py
index 794feb5bad..41d1d0730f 100644
--- a/nova/api/openstack/compute/views/addresses.py
+++ b/nova/api/openstack/compute/views/addresses.py
@@ -19,7 +19,7 @@ import itertools
from nova.api.openstack import common
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/compute/views/servers.py b/nova/api/openstack/compute/views/servers.py
index b0c2fb2b2a..9aaf96fe32 100644
--- a/nova/api/openstack/compute/views/servers.py
+++ b/nova/api/openstack/compute/views/servers.py
@@ -22,7 +22,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.views import addresses as views_addresses
from nova.api.openstack.compute.views import flavors as views_flavors
from nova.api.openstack.compute.views import images as views_images
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
diff --git a/nova/api/openstack/extensions.py b/nova/api/openstack/extensions.py
index 93accab93f..be7304e6ed 100644
--- a/nova/api/openstack/extensions.py
+++ b/nova/api/openstack/extensions.py
@@ -26,8 +26,8 @@ from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
import nova.policy
diff --git a/nova/api/openstack/urlmap.py b/nova/api/openstack/urlmap.py
index 6f3c484ec8..aa49226b38 100644
--- a/nova/api/openstack/urlmap.py
+++ b/nova/api/openstack/urlmap.py
@@ -20,7 +20,7 @@ import re
import urllib2
from nova.api.openstack import wsgi
-from nova import log as logging
+from nova.openstack.common import log as logging
_quoted_string_re = r'"[^"\\]*(?:\\.[^"\\]*)*"'
diff --git a/nova/api/openstack/volume/__init__.py b/nova/api/openstack/volume/__init__.py
index 0f529980f8..3e6f731e1b 100644
--- a/nova/api/openstack/volume/__init__.py
+++ b/nova/api/openstack/volume/__init__.py
@@ -26,7 +26,7 @@ from nova.api.openstack.volume import snapshots
from nova.api.openstack.volume import types
from nova.api.openstack.volume import versions
from nova.api.openstack.volume import volumes
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/volume/contrib/__init__.py b/nova/api/openstack/volume/contrib/__init__.py
index 1eba0b4dfa..8e01d88d0b 100644
--- a/nova/api/openstack/volume/contrib/__init__.py
+++ b/nova/api/openstack/volume/contrib/__init__.py
@@ -23,7 +23,7 @@ It can't be called 'extensions' because that causes namespacing problems.
from nova.api.openstack import extensions
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/api/openstack/volume/extensions.py b/nova/api/openstack/volume/extensions.py
index fa7fc1a77e..cf400bd9a2 100644
--- a/nova/api/openstack/volume/extensions.py
+++ b/nova/api/openstack/volume/extensions.py
@@ -17,7 +17,7 @@
from nova.api.openstack import extensions as base_extensions
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/api/openstack/volume/snapshots.py b/nova/api/openstack/volume/snapshots.py
index 11681f6e80..209f78d133 100644
--- a/nova/api/openstack/volume/snapshots.py
+++ b/nova/api/openstack/volume/snapshots.py
@@ -23,7 +23,7 @@ from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import volume
diff --git a/nova/api/openstack/volume/volumes.py b/nova/api/openstack/volume/volumes.py
index 4c50a6d2ea..1b0c8dfcad 100644
--- a/nova/api/openstack/volume/volumes.py
+++ b/nova/api/openstack/volume/volumes.py
@@ -23,7 +23,7 @@ from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import volume
from nova.volume import volume_types
diff --git a/nova/api/openstack/wsgi.py b/nova/api/openstack/wsgi.py
index 4f78a4697f..fb25c5caae 100644
--- a/nova/api/openstack/wsgi.py
+++ b/nova/api/openstack/wsgi.py
@@ -25,8 +25,8 @@ from lxml import etree
import webob
from nova import exception
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova import wsgi
diff --git a/nova/api/sizelimit.py b/nova/api/sizelimit.py
index a948a1e8ab..6c991408d8 100644
--- a/nova/api/sizelimit.py
+++ b/nova/api/sizelimit.py
@@ -22,8 +22,8 @@ import webob.dec
import webob.exc
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova import wsgi
diff --git a/nova/auth/ldapdriver.py b/nova/auth/ldapdriver.py
index 3f36d97b62..ac4fcf4b52 100644
--- a/nova/auth/ldapdriver.py
+++ b/nova/auth/ldapdriver.py
@@ -29,8 +29,8 @@ import sys
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
ldap_opts = [
diff --git a/nova/auth/manager.py b/nova/auth/manager.py
index c4e438daf1..8aa3adeabc 100644
--- a/nova/auth/manager.py
+++ b/nova/auth/manager.py
@@ -34,9 +34,9 @@ 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.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import utils
diff --git a/nova/auth/signer.py b/nova/auth/signer.py
index 05be345592..0892aeb9a8 100644
--- a/nova/auth/signer.py
+++ b/nova/auth/signer.py
@@ -59,7 +59,7 @@ except ImportError:
boto = None
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/cert/manager.py b/nova/cert/manager.py
index 992f5d96b0..a7cb6cc12a 100644
--- a/nova/cert/manager.py
+++ b/nova/cert/manager.py
@@ -28,8 +28,8 @@ import base64
from nova import crypto
from nova import flags
-from nova import log as logging
from nova import manager
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
FLAGS = flags.FLAGS
diff --git a/nova/cloudpipe/pipelib.py b/nova/cloudpipe/pipelib.py
index 0f9f782b08..6926978fcc 100644
--- a/nova/cloudpipe/pipelib.py
+++ b/nova/cloudpipe/pipelib.py
@@ -34,8 +34,8 @@ 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.openstack.common import log as logging
from nova import utils
diff --git a/nova/common/deprecated.py b/nova/common/deprecated.py
index a442c15065..feef86d980 100644
--- a/nova/common/deprecated.py
+++ b/nova/common/deprecated.py
@@ -16,8 +16,8 @@
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 1e3ebf1f3b..771ed8b17e 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -40,12 +40,12 @@ from nova.db import base
from nova import exception
from nova import flags
from nova.image import glance
-from nova import log as logging
from nova import network
from nova import notifications
from nova.openstack.common import excutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
import nova.policy
from nova import quota
diff --git a/nova/compute/instance_types.py b/nova/compute/instance_types.py
index d06252a6b1..dfcf235dd7 100644
--- a/nova/compute/instance_types.py
+++ b/nova/compute/instance_types.py
@@ -26,7 +26,7 @@ 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 log as logging
FLAGS = flags.FLAGS
LOG = logging.getLogger(__name__)
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 3cdf35266c..9253303f85 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -58,7 +58,6 @@ import nova.context
from nova import exception
from nova import flags
from nova.image import glance
-from nova import log as logging
from nova import manager
from nova import network
from nova.network import model as network_model
@@ -68,6 +67,7 @@ from nova.openstack.common import cfg
from nova.openstack.common import excutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/compute/utils.py b/nova/compute/utils.py
index d5905f7e7a..f0bfe7646a 100644
--- a/nova/compute/utils.py
+++ b/nova/compute/utils.py
@@ -19,10 +19,10 @@
from nova import db
from nova import exception
from nova import flags
-from nova import log
from nova.network import model as network_model
from nova import notifications
from nova.notifier import api as notifier_api
+from nova.openstack.common import log
FLAGS = flags.FLAGS
diff --git a/nova/console/manager.py b/nova/console/manager.py
index bc58942909..ddb564f060 100644
--- a/nova/console/manager.py
+++ b/nova/console/manager.py
@@ -22,10 +22,10 @@ import socket
from nova.compute import rpcapi as compute_rpcapi
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.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import utils
diff --git a/nova/console/vmrc_manager.py b/nova/console/vmrc_manager.py
index cb6fd51adc..70cc6caeee 100644
--- a/nova/console/vmrc_manager.py
+++ b/nova/console/vmrc_manager.py
@@ -20,10 +20,10 @@
from nova.compute import rpcapi as compute_rpcapi
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.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.virt import vmwareapi_conn
diff --git a/nova/console/xvp.py b/nova/console/xvp.py
index 9017c55cd1..60197c766f 100644
--- a/nova/console/xvp.py
+++ b/nova/console/xvp.py
@@ -26,8 +26,8 @@ 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.openstack.common import log as logging
from nova import utils
diff --git a/nova/consoleauth/manager.py b/nova/consoleauth/manager.py
index 049ce1fcee..c78554c870 100644
--- a/nova/consoleauth/manager.py
+++ b/nova/consoleauth/manager.py
@@ -21,10 +21,10 @@
import time
from nova import flags
-from nova import log as logging
from nova import manager
from nova.openstack.common import cfg
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/context.py b/nova/context.py
index f2bb6b5d60..cb3ee5ebc3 100644
--- a/nova/context.py
+++ b/nova/context.py
@@ -21,8 +21,8 @@
import copy
-from nova import log as logging
from nova.openstack.common import local
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/crypto.py b/nova/crypto.py
index eb9e36c703..dfab2cd55b 100644
--- a/nova/crypto.py
+++ b/nova/crypto.py
@@ -35,8 +35,8 @@ 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.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 9bf3a0e12a..f9f9e2228b 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -33,7 +33,7 @@ from nova.db.sqlalchemy import models
from nova.db.sqlalchemy.session import get_session
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import utils
from sqlalchemy import and_
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/082_essex.py b/nova/db/sqlalchemy/migrate_repo/versions/082_essex.py
index 9a68ee116d..4e60487148 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/082_essex.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/082_essex.py
@@ -19,7 +19,7 @@ from sqlalchemy import Boolean, BigInteger, Column, DateTime, Float, ForeignKey
from sqlalchemy import Index, Integer, MetaData, String, Table, Text
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/083_quota_class.py b/nova/db/sqlalchemy/migrate_repo/versions/083_quota_class.py
index 2f3b2ecc1d..d08afd16e6 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/083_quota_class.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/083_quota_class.py
@@ -17,7 +17,7 @@
from sqlalchemy import Boolean, Column, DateTime
from sqlalchemy import MetaData, Integer, String, Table
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/087_add_uuid_to_bw_usage_cache.py b/nova/db/sqlalchemy/migrate_repo/versions/087_add_uuid_to_bw_usage_cache.py
index 1c4ac26420..1be008ec32 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/087_add_uuid_to_bw_usage_cache.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/087_add_uuid_to_bw_usage_cache.py
@@ -17,7 +17,7 @@
from sqlalchemy import Boolean, Column, DateTime, BigInteger
from sqlalchemy import MetaData, Integer, String, Table
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/088_change_instance_id_to_uuid_in_block_device_mapping.py b/nova/db/sqlalchemy/migrate_repo/versions/088_change_instance_id_to_uuid_in_block_device_mapping.py
index 46fd7467f0..52a3408895 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/088_change_instance_id_to_uuid_in_block_device_mapping.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/088_change_instance_id_to_uuid_in_block_device_mapping.py
@@ -20,7 +20,7 @@ from migrate import ForeignKeyConstraint
from sqlalchemy import MetaData, String, Table
from sqlalchemy import select, Column, ForeignKey, Integer
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/089_add_volume_id_mappings.py b/nova/db/sqlalchemy/migrate_repo/versions/089_add_volume_id_mappings.py
index 120d22707b..1dd47aec24 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/089_add_volume_id_mappings.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/089_add_volume_id_mappings.py
@@ -18,7 +18,7 @@
from sqlalchemy import Boolean, Column, DateTime, Integer
from sqlalchemy import MetaData, String, Table
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import utils
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py b/nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py
index 3366ebc3c5..4a2ba2d475 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py
@@ -19,7 +19,8 @@ from migrate import ForeignKeyConstraint
from sqlalchemy import Integer
from sqlalchemy import MetaData, String, Table
-from nova import log as logging
+from migrate import ForeignKeyConstraint
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/091_convert_volume_ids_to_uuid.py b/nova/db/sqlalchemy/migrate_repo/versions/091_convert_volume_ids_to_uuid.py
index 00aa95fb83..3c4183f68a 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/091_convert_volume_ids_to_uuid.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/091_convert_volume_ids_to_uuid.py
@@ -17,7 +17,7 @@
from sqlalchemy import MetaData, select, Table
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/092_add_instance_system_metadata.py b/nova/db/sqlalchemy/migrate_repo/versions/092_add_instance_system_metadata.py
index 2d0e7a0ddd..130c4fe59e 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/092_add_instance_system_metadata.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/092_add_instance_system_metadata.py
@@ -18,7 +18,7 @@
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer
from sqlalchemy import MetaData, String, Table
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/095_change_fk_instance_id_to_uuid.py b/nova/db/sqlalchemy/migrate_repo/versions/095_change_fk_instance_id_to_uuid.py
index b561c85c42..08501177df 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/095_change_fk_instance_id_to_uuid.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/095_change_fk_instance_id_to_uuid.py
@@ -20,7 +20,7 @@ from migrate import ForeignKeyConstraint
from sqlalchemy import MetaData, Integer, String, Table
from sqlalchemy import select, Column
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py b/nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py
index f56cc71b95..82d66938c5 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py
@@ -15,7 +15,7 @@
from sqlalchemy import Boolean, Column, DateTime
from sqlalchemy import MetaData, Integer, String, Table, ForeignKey
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/099_add_disabled_instance_types.py b/nova/db/sqlalchemy/migrate_repo/versions/099_add_disabled_instance_types.py
index 166ca98cbb..549426608d 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/099_add_disabled_instance_types.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/099_add_disabled_instance_types.py
@@ -14,7 +14,7 @@
from sqlalchemy import Boolean, Column, MetaData, Table
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/100_instance_metadata_uses_uuid.py b/nova/db/sqlalchemy/migrate_repo/versions/100_instance_metadata_uses_uuid.py
index 4c02ef5571..e5c2a275d8 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/100_instance_metadata_uses_uuid.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/100_instance_metadata_uses_uuid.py
@@ -20,7 +20,7 @@ from migrate import ForeignKeyConstraint
from sqlalchemy import MetaData, String, Table
from sqlalchemy import select, Column, ForeignKey, Integer
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/101_security_group_instance_association_uses_uuid.py b/nova/db/sqlalchemy/migrate_repo/versions/101_security_group_instance_association_uses_uuid.py
index 42aba6b7b5..26b53bb7e9 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/101_security_group_instance_association_uses_uuid.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/101_security_group_instance_association_uses_uuid.py
@@ -20,7 +20,7 @@ from migrate import ForeignKeyConstraint
from sqlalchemy import MetaData, String, Table
from sqlalchemy import select, Column, ForeignKey, Integer
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/102_consoles_uses_uuid.py b/nova/db/sqlalchemy/migrate_repo/versions/102_consoles_uses_uuid.py
index 7484b73c6f..1cfa523c6b 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/102_consoles_uses_uuid.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/102_consoles_uses_uuid.py
@@ -20,7 +20,7 @@ from migrate import ForeignKeyConstraint
from sqlalchemy import MetaData, String, Table
from sqlalchemy import select, Column, ForeignKey, Integer
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/105_instance_info_caches_uses_uuid.py b/nova/db/sqlalchemy/migrate_repo/versions/105_instance_info_caches_uses_uuid.py
index f98f399c83..c1c7d7a44a 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/105_instance_info_caches_uses_uuid.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/105_instance_info_caches_uses_uuid.py
@@ -20,7 +20,7 @@ from sqlalchemy import select, Column, ForeignKey, Integer
from sqlalchemy import MetaData, String, Table
from migrate import ForeignKeyConstraint
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/106_add_foreign_keys.py b/nova/db/sqlalchemy/migrate_repo/versions/106_add_foreign_keys.py
index 1aed8588ef..8d867609c5 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/106_add_foreign_keys.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/106_add_foreign_keys.py
@@ -20,7 +20,7 @@ from sqlalchemy import select, Column, ForeignKey, Integer
from sqlalchemy import MetaData, String, Table
from migrate import ForeignKeyConstraint
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/107_add_instance_id_mappings.py b/nova/db/sqlalchemy/migrate_repo/versions/107_add_instance_id_mappings.py
index 94adbd89bf..39985a1af5 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/107_add_instance_id_mappings.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/107_add_instance_id_mappings.py
@@ -14,9 +14,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova.openstack.common import log as logging
from sqlalchemy import Boolean, Column, DateTime, Integer
from sqlalchemy import Index, MetaData, String, Table
-from nova import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/db/sqlalchemy/migration.py b/nova/db/sqlalchemy/migration.py
index e7c659a708..69375d05c9 100644
--- a/nova/db/sqlalchemy/migration.py
+++ b/nova/db/sqlalchemy/migration.py
@@ -23,7 +23,7 @@ from nova.db import migration
from nova.db.sqlalchemy.session import get_engine
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
import migrate
diff --git a/nova/db/sqlalchemy/session.py b/nova/db/sqlalchemy/session.py
index 4f115e16c1..a161c03270 100644
--- a/nova/db/sqlalchemy/session.py
+++ b/nova/db/sqlalchemy/session.py
@@ -27,7 +27,7 @@ from sqlalchemy.pool import NullPool, StaticPool
import nova.exception
import nova.flags as flags
-import nova.log as logging
+import nova.openstack.common.log as logging
FLAGS = flags.FLAGS
diff --git a/nova/exception.py b/nova/exception.py
index df21f02730..c1f417afe2 100644
--- a/nova/exception.py
+++ b/nova/exception.py
@@ -29,8 +29,8 @@ import itertools
import webob.exc
-from nova import log as logging
from nova.openstack.common import excutils
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/flags.py b/nova/flags.py
index bb769c4dd1..cff3b46ae5 100644
--- a/nova/flags.py
+++ b/nova/flags.py
@@ -73,18 +73,6 @@ def _get_my_ip():
return "127.0.0.1"
-log_opts = [
- cfg.StrOpt('logdir',
- default=None,
- help='Log output to a per-service log file in named directory'),
- cfg.StrOpt('logfile',
- default=None,
- help='Log output to a named file'),
- cfg.BoolOpt('use_stderr',
- default=True,
- help='Log output to standard error'),
- ]
-
core_opts = [
cfg.StrOpt('connection_type',
default=None,
@@ -125,7 +113,6 @@ debug_opts = [
help='Add python stack traces to SQL as comment strings'),
]
-FLAGS.register_cli_opts(log_opts)
FLAGS.register_cli_opts(core_opts)
FLAGS.register_cli_opts(debug_opts)
@@ -273,9 +260,6 @@ global_opts = [
cfg.IntOpt('auth_token_ttl',
default=3600,
help='Seconds for auth tokens to linger'),
- cfg.StrOpt('logfile_mode',
- default='0644',
- help='Default file mode used when creating log files'),
cfg.StrOpt('sqlite_db',
default='nova.sqlite',
help='the filename to use with sqlite'),
diff --git a/nova/image/glance.py b/nova/image/glance.py
index d8c2e12457..2da91c9b6b 100644
--- a/nova/image/glance.py
+++ b/nova/image/glance.py
@@ -30,8 +30,8 @@ from glance.common import exception as glance_exception
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/image/s3.py b/nova/image/s3.py
index df2758b3a2..282f7702a0 100644
--- a/nova/image/s3.py
+++ b/nova/image/s3.py
@@ -34,8 +34,8 @@ import nova.cert.rpcapi
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.openstack.common import log as logging
from nova import utils
diff --git a/nova/manager.py b/nova/manager.py
index 1d73040b4c..a74caa8f62 100644
--- a/nova/manager.py
+++ b/nova/manager.py
@@ -55,7 +55,7 @@ This module provides Manager, a base class for managers.
from nova.db import base
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.openstack.common.rpc import dispatcher as rpc_dispatcher
from nova.scheduler import rpcapi as scheduler_rpcapi
from nova import version
diff --git a/nova/network/api.py b/nova/network/api.py
index a36edd7969..6a5c151da8 100644
--- a/nova/network/api.py
+++ b/nova/network/api.py
@@ -22,8 +22,8 @@ import inspect
from nova.db import base
from nova import flags
-from nova import log as logging
from nova.network import model as network_model
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
diff --git a/nova/network/l3.py b/nova/network/l3.py
index 034678aa5c..e098c1e8f1 100644
--- a/nova/network/l3.py
+++ b/nova/network/l3.py
@@ -16,8 +16,8 @@
# under the License.
from nova import flags
-from nova import log as logging
from nova.network import linux_net
+from nova.openstack.common import log as logging
from nova import utils
LOG = logging.getLogger(__name__)
diff --git a/nova/network/ldapdns.py b/nova/network/ldapdns.py
index 25e6e55ade..e3ba3006c6 100644
--- a/nova/network/ldapdns.py
+++ b/nova/network/ldapdns.py
@@ -18,8 +18,8 @@ import time
from nova.auth import fakeldap
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova import utils
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index 828174b3a7..d5c6bb4599 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -27,9 +27,9 @@ import os
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.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import utils
diff --git a/nova/network/manager.py b/nova/network/manager.py
index 114e0d750b..d4937d90bc 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -58,7 +58,6 @@ from nova import context
from nova import exception
from nova import flags
from nova import ipv6
-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
@@ -67,6 +66,7 @@ from nova.openstack.common import cfg
from nova.openstack.common import excutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova.openstack.common import timeutils
import nova.policy
diff --git a/nova/network/quantum/manager.py b/nova/network/quantum/manager.py
index 95ee06c9f0..9fa852c092 100644
--- a/nova/network/quantum/manager.py
+++ b/nova/network/quantum/manager.py
@@ -23,11 +23,11 @@ from nova import context
from nova import db
from nova import exception
from nova import flags
-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.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import utils
diff --git a/nova/network/quantum/melange_connection.py b/nova/network/quantum/melange_connection.py
index dd16afc714..3422229096 100644
--- a/nova/network/quantum/melange_connection.py
+++ b/nova/network/quantum/melange_connection.py
@@ -22,9 +22,9 @@ import urllib
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
melange_opts = [
diff --git a/nova/network/quantum/melange_ipam_lib.py b/nova/network/quantum/melange_ipam_lib.py
index 6ceabc8a49..44f4b3c69c 100644
--- a/nova/network/quantum/melange_ipam_lib.py
+++ b/nova/network/quantum/melange_ipam_lib.py
@@ -20,8 +20,8 @@ import netaddr
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
from nova.network.quantum import melange_connection
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/network/quantum/nova_ipam_lib.py b/nova/network/quantum/nova_ipam_lib.py
index ceb5895628..08e19f0a40 100644
--- a/nova/network/quantum/nova_ipam_lib.py
+++ b/nova/network/quantum/nova_ipam_lib.py
@@ -21,8 +21,8 @@ from nova import db
from nova import exception
from nova import flags
from nova import ipv6
-from nova import log as logging
from nova.network import manager
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/network/quantum/quantum_connection.py b/nova/network/quantum/quantum_connection.py
index 52a9fc301d..2161c79163 100644
--- a/nova/network/quantum/quantum_connection.py
+++ b/nova/network/quantum/quantum_connection.py
@@ -16,9 +16,9 @@
# under the License.
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
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/network/quantum/sg.py b/nova/network/quantum/sg.py
index 7212280c53..7f41a99836 100644
--- a/nova/network/quantum/sg.py
+++ b/nova/network/quantum/sg.py
@@ -27,7 +27,7 @@ will provide enhanced functionality and will be loadable via the
security_group_handler flag.
'''
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/notifications.py b/nova/notifications.py
index 29bca2c2fb..998abee654 100644
--- a/nova/notifications.py
+++ b/nova/notifications.py
@@ -23,11 +23,11 @@ import nova.context
from nova import db
from nova import exception
from nova import flags
-from nova import log
from nova import network
from nova.network import model as network_model
from nova.notifier import api as notifier_api
from nova.openstack.common import cfg
+from nova.openstack.common import log
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/notifier/api.py b/nova/notifier/api.py
index cf96dfed4e..df3b39a681 100644
--- a/nova/notifier/api.py
+++ b/nova/notifier/api.py
@@ -17,10 +17,10 @@ import uuid
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
diff --git a/nova/notifier/capacity_notifier.py b/nova/notifier/capacity_notifier.py
index b8e3a88e28..ea78382d83 100644
--- a/nova/notifier/capacity_notifier.py
+++ b/nova/notifier/capacity_notifier.py
@@ -15,7 +15,7 @@
from nova import context
from nova import db
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/notifier/list_notifier.py b/nova/notifier/list_notifier.py
index 4e73bdd508..5aa7738b20 100644
--- a/nova/notifier/list_notifier.py
+++ b/nova/notifier/list_notifier.py
@@ -14,9 +14,9 @@
# under the License.
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
list_notifier_drivers_opt = cfg.MultiStrOpt('list_notifier_drivers',
diff --git a/nova/notifier/log_notifier.py b/nova/notifier/log_notifier.py
index 50528d3e68..5ce6dc4af1 100644
--- a/nova/notifier/log_notifier.py
+++ b/nova/notifier/log_notifier.py
@@ -14,8 +14,8 @@
# under the License.
from nova import flags
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/notifier/rabbit_notifier.py b/nova/notifier/rabbit_notifier.py
index 27f6ea209b..867ad9c19b 100644
--- a/nova/notifier/rabbit_notifier.py
+++ b/nova/notifier/rabbit_notifier.py
@@ -17,8 +17,8 @@
import nova.context
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
LOG = logging.getLogger(__name__)
diff --git a/nova/log.py b/nova/openstack/common/log.py
index 19ad95b707..42491b717b 100644
--- a/nova/log.py
+++ b/nova/openstack/common/log.py
@@ -17,7 +17,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-"""Nova logging handler.
+"""Openstack logging handler.
This module adds to logging functionality by adding the option to specify
a context object when calling the various log methods. If the context object
@@ -25,7 +25,7 @@ is not specified, default formatting is used. Additionally, an instance uuid
may be passed as part of the log message, which is intended to make it easier
for admins to find messages related to a specific instance.
-It also allows setting of formatting information through flags.
+It also allows setting of formatting information through conf.
"""
@@ -40,12 +40,10 @@ import stat
import sys
import traceback
-import nova
-from nova import flags
+from nova import notifier
from nova.openstack.common import cfg
from nova.openstack.common import jsonutils
from nova.openstack.common import local
-from nova import version
log_opts = [
@@ -92,8 +90,26 @@ log_opts = [
'format it like this'),
]
-FLAGS = flags.FLAGS
-FLAGS.register_opts(log_opts)
+
+generic_log_opts = [
+ cfg.StrOpt('logdir',
+ default=None,
+ help='Log output to a per-service log file in named directory'),
+ cfg.StrOpt('logfile',
+ default=None,
+ help='Log output to a named file'),
+ cfg.BoolOpt('use_stderr',
+ default=True,
+ help='Log output to standard error'),
+ cfg.StrOpt('logfile_mode',
+ default='0644',
+ help='Default file mode used when creating log files'),
+ ]
+
+
+CONF = cfg.CONF
+CONF.register_opts(generic_log_opts)
+CONF.register_opts(log_opts)
# our new audit level
# NOTE(jkoelker) Since we synthesized an audit level, make the logging
@@ -129,8 +145,8 @@ def _get_binary_name():
def _get_log_file_path(binary=None):
- logfile = FLAGS.log_file or FLAGS.logfile
- logdir = FLAGS.log_dir or FLAGS.logdir
+ logfile = CONF.log_file or CONF.logfile
+ logdir = CONF.log_dir or CONF.logdir
if logfile and not logdir:
return logfile
@@ -143,11 +159,13 @@ def _get_log_file_path(binary=None):
return '%s.log' % (os.path.join(logdir, binary),)
-class NovaContextAdapter(logging.LoggerAdapter):
+class ContextAdapter(logging.LoggerAdapter):
warn = logging.LoggerAdapter.warning
- def __init__(self, logger):
+ def __init__(self, logger, project_name, version_string):
self.logger = logger
+ self.project = project_name
+ self.version = version_string
def audit(self, msg, *args, **kwargs):
self.log(logging.AUDIT, msg, *args, **kwargs)
@@ -166,15 +184,16 @@ class NovaContextAdapter(logging.LoggerAdapter):
instance = kwargs.pop('instance', None)
instance_extra = ''
if instance:
- instance_extra = FLAGS.instance_format % instance
+ instance_extra = CONF.instance_format % instance
else:
instance_uuid = kwargs.pop('instance_uuid', None)
if instance_uuid:
- instance_extra = (FLAGS.instance_uuid_format
+ instance_extra = (CONF.instance_uuid_format
% {'uuid': instance_uuid})
extra.update({'instance': instance_extra})
- extra.update({"nova_version": version.version_string_with_vcs()})
+ extra.update({"project": self.project})
+ extra.update({"version": self.version})
extra['extra'] = extra.copy()
return msg, kwargs
@@ -225,115 +244,47 @@ class JSONFormatter(logging.Formatter):
return jsonutils.dumps(message)
-class LegacyNovaFormatter(logging.Formatter):
- """A nova.context.RequestContext aware formatter configured through flags.
-
- The flags used to set format strings are: logging_context_format_string
- and logging_default_format_string. You can also specify
- logging_debug_format_suffix to append extra formatting if the log level is
- debug.
-
- For information about what variables are available for the formatter see:
- http://docs.python.org/library/logging.html#formatter
-
- """
-
- def format(self, record):
- """Uses contextstring if request_id is set, otherwise default."""
- if 'instance' not in record.__dict__:
- record.__dict__['instance'] = ''
-
- if record.__dict__.get('request_id', None):
- self._fmt = FLAGS.logging_context_format_string
- else:
- self._fmt = FLAGS.logging_default_format_string
-
- if (record.levelno == logging.DEBUG and
- FLAGS.logging_debug_format_suffix):
- self._fmt += " " + FLAGS.logging_debug_format_suffix
-
- # Cache this on the record, Logger will respect our formated copy
- if record.exc_info:
- record.exc_text = self.formatException(record.exc_info, record)
- return logging.Formatter.format(self, record)
-
- def formatException(self, exc_info, record=None):
- """Format exception output with FLAGS.logging_exception_prefix."""
- if not record:
- return logging.Formatter.formatException(self, exc_info)
-
- stringbuffer = cStringIO.StringIO()
- traceback.print_exception(exc_info[0], exc_info[1], exc_info[2],
- None, stringbuffer)
- lines = stringbuffer.getvalue().split('\n')
- stringbuffer.close()
-
- if FLAGS.logging_exception_prefix.find('%(asctime)') != -1:
- record.asctime = self.formatTime(record, self.datefmt)
-
- formatted_lines = []
- for line in lines:
- pl = FLAGS.logging_exception_prefix % record.__dict__
- fl = '%s%s' % (pl, line)
- formatted_lines.append(fl)
- return '\n'.join(formatted_lines)
-
-
-class NovaColorHandler(logging.StreamHandler):
- LEVEL_COLORS = {
- logging.DEBUG: '\033[00;32m', # GREEN
- logging.INFO: '\033[00;36m', # CYAN
- logging.AUDIT: '\033[01;36m', # BOLD CYAN
- logging.WARN: '\033[01;33m', # BOLD YELLOW
- logging.ERROR: '\033[01;31m', # BOLD RED
- logging.CRITICAL: '\033[01;31m', # BOLD RED
- }
-
- def format(self, record):
- record.color = self.LEVEL_COLORS[record.levelno]
- return logging.StreamHandler.format(self, record)
-
-
class PublishErrorsHandler(logging.Handler):
def emit(self, record):
- if 'list_notifier_drivers' in FLAGS:
- if 'nova.notifier.log_notifier' in FLAGS.list_notifier_drivers:
+ if 'list_notifier_drivers' in CONF:
+ if ('nova.openstack.common.notifier.log_notifier' in
+ CONF.list_notifier_drivers):
return
- nova.notifier.api.notify(None, 'nova.error.publisher',
+ notifier.api.notify(None, 'error.publisher',
'error_notification',
- nova.notifier.api.ERROR,
+ notifier.api.ERROR,
dict(error=record.msg))
def handle_exception(type, value, tb):
extra = {}
- if FLAGS.verbose:
+ if CONF.verbose:
extra['exc_info'] = (type, value, tb)
getLogger().critical(str(value), **extra)
-def setup():
- """Setup nova logging."""
+def setup(product_name):
+ """Setup logging."""
sys.excepthook = handle_exception
- if FLAGS.log_config:
+ if CONF.log_config:
try:
- logging.config.fileConfig(FLAGS.log_config)
+ logging.config.fileConfig(CONF.log_config)
except Exception:
traceback.print_exc()
raise
else:
- _setup_logging_from_flags()
+ _setup_logging_from_conf(product_name)
-def _find_facility_from_flags():
+def _find_facility_from_conf():
facility_names = logging.handlers.SysLogHandler.facility_names
facility = getattr(logging.handlers.SysLogHandler,
- FLAGS.syslog_log_facility,
+ CONF.syslog_log_facility,
None)
- if facility is None and FLAGS.syslog_log_facility in facility_names:
- facility = facility_names.get(FLAGS.syslog_log_facility)
+ if facility is None and CONF.syslog_log_facility in facility_names:
+ facility = facility_names.get(CONF.syslog_log_facility)
if facility is None:
valid_facilities = facility_names.keys()
@@ -350,59 +301,59 @@ def _find_facility_from_flags():
return facility
-def _setup_logging_from_flags():
- nova_root = getLogger().logger
- for handler in nova_root.handlers:
- nova_root.removeHandler(handler)
+def _setup_logging_from_conf(product_name):
+ log_root = getLogger(product_name).logger
+ for handler in log_root.handlers:
+ log_root.removeHandler(handler)
- if FLAGS.use_syslog:
- facility = _find_facility_from_flags()
+ if CONF.use_syslog:
+ facility = _find_facility_from_conf()
syslog = logging.handlers.SysLogHandler(address='/dev/log',
facility=facility)
- nova_root.addHandler(syslog)
+ log_root.addHandler(syslog)
logpath = _get_log_file_path()
if logpath:
filelog = logging.handlers.WatchedFileHandler(logpath)
- nova_root.addHandler(filelog)
+ log_root.addHandler(filelog)
- mode = int(FLAGS.logfile_mode, 8)
+ mode = int(CONF.logfile_mode, 8)
st = os.stat(logpath)
if st.st_mode != (stat.S_IFREG | mode):
os.chmod(logpath, mode)
- if FLAGS.use_stderr:
- streamlog = NovaColorHandler()
- nova_root.addHandler(streamlog)
+ if CONF.use_stderr:
+ streamlog = ColorHandler()
+ log_root.addHandler(streamlog)
- elif not FLAGS.log_file:
+ elif not CONF.log_file:
# pass sys.stdout as a positional argument
# python2.6 calls the argument strm, in 2.7 it's stream
streamlog = logging.StreamHandler(sys.stdout)
- nova_root.addHandler(streamlog)
+ log_root.addHandler(streamlog)
- if FLAGS.publish_errors:
- nova_root.addHandler(PublishErrorsHandler(logging.ERROR))
+ if CONF.publish_errors:
+ log_root.addHandler(PublishErrorsHandler(logging.ERROR))
- for handler in nova_root.handlers:
- datefmt = FLAGS.log_date_format
- if FLAGS.log_format:
- handler.setFormatter(logging.Formatter(fmt=FLAGS.log_format,
+ for handler in log_root.handlers:
+ datefmt = CONF.log_date_format
+ if CONF.log_format:
+ handler.setFormatter(logging.Formatter(fmt=CONF.log_format,
datefmt=datefmt))
- handler.setFormatter(LegacyNovaFormatter(datefmt=datefmt))
+ handler.setFormatter(LegacyFormatter(datefmt=datefmt))
- if FLAGS.verbose or FLAGS.debug:
- nova_root.setLevel(logging.DEBUG)
+ if CONF.verbose or CONF.debug:
+ log_root.setLevel(logging.DEBUG)
else:
- nova_root.setLevel(logging.INFO)
+ log_root.setLevel(logging.INFO)
level = logging.NOTSET
- for pair in FLAGS.default_log_levels:
+ for pair in CONF.default_log_levels:
mod, _sep, level_name = pair.partition('=')
level = logging.getLevelName(level_name)
logger = logging.getLogger(mod)
logger.setLevel(level)
- for handler in nova_root.handlers:
+ for handler in log_root.handlers:
logger.addHandler(handler)
# NOTE(jkoelker) Clear the handlers for the root logger that was setup
@@ -419,9 +370,11 @@ def _setup_logging_from_flags():
_loggers = {}
-def getLogger(name='nova'):
+def getLogger(name='unknown', version='unknown'):
if name not in _loggers:
- _loggers[name] = NovaContextAdapter(logging.getLogger(name))
+ _loggers[name] = ContextAdapter(logging.getLogger(name),
+ name,
+ version)
return _loggers[name]
@@ -434,3 +387,72 @@ class WritableLogger(object):
def write(self, msg):
self.logger.log(self.level, msg)
+
+
+class LegacyFormatter(logging.Formatter):
+ """A context.RequestContext aware formatter configured through flags.
+
+ The flags used to set format strings are: logging_context_format_string
+ and logging_default_format_string. You can also specify
+ logging_debug_format_suffix to append extra formatting if the log level is
+ debug.
+
+ For information about what variables are available for the formatter see:
+ http://docs.python.org/library/logging.html#formatter
+
+ """
+
+ def format(self, record):
+ """Uses contextstring if request_id is set, otherwise default."""
+ if 'instance' not in record.__dict__:
+ record.__dict__['instance'] = ''
+
+ if record.__dict__.get('request_id', None):
+ self._fmt = CONF.logging_context_format_string
+ else:
+ self._fmt = CONF.logging_default_format_string
+
+ if (record.levelno == logging.DEBUG and
+ CONF.logging_debug_format_suffix):
+ self._fmt += " " + CONF.logging_debug_format_suffix
+
+ # Cache this on the record, Logger will respect our formated copy
+ if record.exc_info:
+ record.exc_text = self.formatException(record.exc_info, record)
+ return logging.Formatter.format(self, record)
+
+ def formatException(self, exc_info, record=None):
+ """Format exception output with CONF.logging_exception_prefix."""
+ if not record:
+ return logging.Formatter.formatException(self, exc_info)
+
+ stringbuffer = cStringIO.StringIO()
+ traceback.print_exception(exc_info[0], exc_info[1], exc_info[2],
+ None, stringbuffer)
+ lines = stringbuffer.getvalue().split('\n')
+ stringbuffer.close()
+
+ if CONF.logging_exception_prefix.find('%(asctime)') != -1:
+ record.asctime = self.formatTime(record, self.datefmt)
+
+ formatted_lines = []
+ for line in lines:
+ pl = CONF.logging_exception_prefix % record.__dict__
+ fl = '%s%s' % (pl, line)
+ formatted_lines.append(fl)
+ return '\n'.join(formatted_lines)
+
+
+class ColorHandler(logging.StreamHandler):
+ LEVEL_COLORS = {
+ logging.DEBUG: '\033[00;32m', # GREEN
+ logging.INFO: '\033[00;36m', # CYAN
+ logging.AUDIT: '\033[01;36m', # BOLD CYAN
+ logging.WARN: '\033[01;33m', # BOLD YELLOW
+ logging.ERROR: '\033[01;31m', # BOLD RED
+ logging.CRITICAL: '\033[01;31m', # BOLD RED
+ }
+
+ def format(self, record):
+ record.color = self.LEVEL_COLORS[record.levelno]
+ return logging.StreamHandler.format(self, record)
diff --git a/nova/openstack/common/rpc/impl_zmq.py b/nova/openstack/common/rpc/impl_zmq.py
index 8435cd0206..dc54913819 100644
--- a/nova/openstack/common/rpc/impl_zmq.py
+++ b/nova/openstack/common/rpc/impl_zmq.py
@@ -47,8 +47,8 @@ zmq_opts = [
# The module.Class to use for matchmaking.
cfg.StrOpt('rpc_zmq_matchmaker',
- default='openstack.common.rpc.matchmaker.MatchMakerLocalhost',
- help='MatchMaker driver'),
+ default='nova.openstack.common.rpc.matchmaker.MatchMakerLocalhost',
+ help='MatchMaker driver'),
# The following port is unassigned by IANA as of 2012-05-21
cfg.IntOpt('rpc_zmq_port', default=9501,
diff --git a/nova/quota.py b/nova/quota.py
index 68321cf741..d3ba0aa020 100644
--- a/nova/quota.py
+++ b/nova/quota.py
@@ -23,9 +23,9 @@ import datetime
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.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
diff --git a/nova/scheduler/driver.py b/nova/scheduler/driver.py
index 64f068ff28..be39d5a0a1 100644
--- a/nova/scheduler/driver.py
+++ b/nova/scheduler/driver.py
@@ -28,11 +28,11 @@ from nova.compute import task_states
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
from nova import notifications
from nova.openstack.common import cfg
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/scheduler/filter_scheduler.py b/nova/scheduler/filter_scheduler.py
index c577e35696..c186ceeb40 100644
--- a/nova/scheduler/filter_scheduler.py
+++ b/nova/scheduler/filter_scheduler.py
@@ -23,9 +23,9 @@ import operator
from nova import exception
from nova import flags
-from nova import log as logging
from nova.notifier import api as notifier
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.scheduler import driver
from nova.scheduler import least_cost
from nova.scheduler import scheduler_options
diff --git a/nova/scheduler/filters/arch_filter.py b/nova/scheduler/filters/arch_filter.py
index 1f11d07b68..625ce29098 100644
--- a/nova/scheduler/filters/arch_filter.py
+++ b/nova/scheduler/filters/arch_filter.py
@@ -15,7 +15,7 @@
# under the License.
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.scheduler import filters
from nova import utils
diff --git a/nova/scheduler/filters/compute_filter.py b/nova/scheduler/filters/compute_filter.py
index 5409d3db0a..5ba078394e 100644
--- a/nova/scheduler/filters/compute_filter.py
+++ b/nova/scheduler/filters/compute_filter.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.scheduler import filters
from nova import utils
diff --git a/nova/scheduler/filters/core_filter.py b/nova/scheduler/filters/core_filter.py
index 5abcfeec73..5af68bc9fa 100644
--- a/nova/scheduler/filters/core_filter.py
+++ b/nova/scheduler/filters/core_filter.py
@@ -16,8 +16,8 @@
# under the License.
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova.scheduler import filters
diff --git a/nova/scheduler/filters/ram_filter.py b/nova/scheduler/filters/ram_filter.py
index 4bc84c243d..7f79c1923e 100644
--- a/nova/scheduler/filters/ram_filter.py
+++ b/nova/scheduler/filters/ram_filter.py
@@ -15,8 +15,8 @@
# under the License.
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova.scheduler import filters
LOG = logging.getLogger(__name__)
diff --git a/nova/scheduler/filters/trusted_filter.py b/nova/scheduler/filters/trusted_filter.py
index 41dc18dc30..a7c711b4ec 100644
--- a/nova/scheduler/filters/trusted_filter.py
+++ b/nova/scheduler/filters/trusted_filter.py
@@ -49,9 +49,9 @@ import socket
import ssl
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.scheduler import filters
diff --git a/nova/scheduler/host_manager.py b/nova/scheduler/host_manager.py
index 6de5ebc8f0..19f0a0bb78 100644
--- a/nova/scheduler/host_manager.py
+++ b/nova/scheduler/host_manager.py
@@ -23,8 +23,8 @@ import UserDict
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.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova.scheduler import filters
diff --git a/nova/scheduler/least_cost.py b/nova/scheduler/least_cost.py
index 45b76bb479..71db730cbb 100644
--- a/nova/scheduler/least_cost.py
+++ b/nova/scheduler/least_cost.py
@@ -23,8 +23,8 @@ is then selected for provisioning.
"""
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/scheduler/manager.py b/nova/scheduler/manager.py
index e24705a020..436df0946a 100644
--- a/nova/scheduler/manager.py
+++ b/nova/scheduler/manager.py
@@ -27,13 +27,13 @@ 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 import notifications
from nova.notifier import api as notifier
from nova.openstack.common import cfg
from nova.openstack.common import excutils
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import quota
diff --git a/nova/scheduler/scheduler_options.py b/nova/scheduler/scheduler_options.py
index 94572fc698..7acf2f750e 100644
--- a/nova/scheduler/scheduler_options.py
+++ b/nova/scheduler/scheduler_options.py
@@ -27,8 +27,8 @@ import json
import os
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
diff --git a/nova/service.py b/nova/service.py
index d3fb769338..bb2964b952 100644
--- a/nova/service.py
+++ b/nova/service.py
@@ -35,9 +35,9 @@ 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.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import utils
from nova import version
diff --git a/nova/test.py b/nova/test.py
index da115300eb..a8a2464ceb 100644
--- a/nova/test.py
+++ b/nova/test.py
@@ -32,8 +32,8 @@ import nose.plugins.skip
import stubout
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import service
from nova import tests
diff --git a/nova/tests/__init__.py b/nova/tests/__init__.py
index 9ff38e3a97..a8d0ef28c8 100644
--- a/nova/tests/__init__.py
+++ b/nova/tests/__init__.py
@@ -39,7 +39,7 @@ import shutil
from nova.db.sqlalchemy.session import get_engine
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
import eventlet
@@ -49,7 +49,7 @@ eventlet.monkey_patch(os=False)
FLAGS = flags.FLAGS
FLAGS.use_stderr = False
-logging.setup()
+logging.setup('nova')
_DB = None
diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py
index 0603cac628..6128811f1d 100644
--- a/nova/tests/api/ec2/test_cloud.py
+++ b/nova/tests/api/ec2/test_cloud.py
@@ -37,8 +37,8 @@ from nova import db
from nova import exception
from nova import flags
from nova.image import s3
-from nova import log as logging
from nova.network import api as network_api
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import test
from nova.tests.image import fake
diff --git a/nova/tests/api/ec2/test_ec2_validate.py b/nova/tests/api/ec2/test_ec2_validate.py
index f9c1d2be88..18f99ffbb6 100644
--- a/nova/tests/api/ec2/test_ec2_validate.py
+++ b/nova/tests/api/ec2/test_ec2_validate.py
@@ -22,8 +22,8 @@ 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 importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import test
from nova.tests.image import fake
diff --git a/nova/tests/api/openstack/compute/contrib/test_aggregates.py b/nova/tests/api/openstack/compute/contrib/test_aggregates.py
index fc19a9545e..c2c5a14865 100644
--- a/nova/tests/api/openstack/compute/contrib/test_aggregates.py
+++ b/nova/tests/api/openstack/compute/contrib/test_aggregates.py
@@ -20,7 +20,7 @@ from webob import exc
from nova.api.openstack.compute.contrib import aggregates
from nova import context
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
diff --git a/nova/tests/api/openstack/compute/contrib/test_hosts.py b/nova/tests/api/openstack/compute/contrib/test_hosts.py
index 40805bb66a..6865487269 100644
--- a/nova/tests/api/openstack/compute/contrib/test_hosts.py
+++ b/nova/tests/api/openstack/compute/contrib/test_hosts.py
@@ -23,7 +23,7 @@ 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 log as logging
from nova import test
diff --git a/nova/tests/api/openstack/compute/contrib/test_snapshots.py b/nova/tests/api/openstack/compute/contrib/test_snapshots.py
index 365c88ef8d..b1d05118d9 100644
--- a/nova/tests/api/openstack/compute/contrib/test_snapshots.py
+++ b/nova/tests/api/openstack/compute/contrib/test_snapshots.py
@@ -20,8 +20,8 @@ from nova.api.openstack.compute.contrib import volumes
from nova import context
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import test
from nova.tests.api.openstack import fakes
diff --git a/nova/tests/api/openstack/compute/contrib/test_volume_types.py b/nova/tests/api/openstack/compute/contrib/test_volume_types.py
index 3d02547909..4ad6297b8a 100644
--- a/nova/tests/api/openstack/compute/contrib/test_volume_types.py
+++ b/nova/tests/api/openstack/compute/contrib/test_volume_types.py
@@ -18,7 +18,7 @@ import webob
from nova.api.openstack.compute.contrib import volumetypes
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
from nova.tests.api.openstack import fakes
from nova.volume import volume_types
diff --git a/nova/tests/api/openstack/compute/test_urlmap.py b/nova/tests/api/openstack/compute/test_urlmap.py
index 780879e3cd..c0b20bbebf 100644
--- a/nova/tests/api/openstack/compute/test_urlmap.py
+++ b/nova/tests/api/openstack/compute/test_urlmap.py
@@ -15,8 +15,8 @@
import webob
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova import test
from nova.tests.api.openstack import fakes
import nova.tests.image.fake
diff --git a/nova/tests/api/openstack/volume/test_router.py b/nova/tests/api/openstack/volume/test_router.py
index 53d96c191a..677cddb6a4 100644
--- a/nova/tests/api/openstack/volume/test_router.py
+++ b/nova/tests/api/openstack/volume/test_router.py
@@ -20,7 +20,7 @@ from nova.api.openstack.volume import versions
from nova.api.openstack.volume import volumes
from nova.api.openstack import wsgi
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
from nova.tests.api.openstack import fakes
diff --git a/nova/tests/api/openstack/volume/test_snapshots.py b/nova/tests/api/openstack/volume/test_snapshots.py
index 35708685a5..ccd3a70b4f 100644
--- a/nova/tests/api/openstack/volume/test_snapshots.py
+++ b/nova/tests/api/openstack/volume/test_snapshots.py
@@ -19,7 +19,7 @@ import webob
from nova.api.openstack.volume import snapshots
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import test
from nova.tests.api.openstack import fakes
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index bf4a20cf30..bd7db1c375 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -39,9 +39,9 @@ from nova import context
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
from nova.notifier import test_notifier
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import policy as common_policy
from nova.openstack.common import rpc
from nova.openstack.common.rpc import common as rpc_common
diff --git a/nova/tests/consoleauth/test_consoleauth.py b/nova/tests/consoleauth/test_consoleauth.py
index 03cd157da6..da50eb83b5 100644
--- a/nova/tests/consoleauth/test_consoleauth.py
+++ b/nova/tests/consoleauth/test_consoleauth.py
@@ -25,7 +25,7 @@ import time
from nova.consoleauth import manager
from nova import context
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
diff --git a/nova/tests/fake_utils.py b/nova/tests/fake_utils.py
index e64ff97a12..08a84e73ff 100644
--- a/nova/tests/fake_utils.py
+++ b/nova/tests/fake_utils.py
@@ -21,7 +21,7 @@ import re
from eventlet import greenthread
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import utils
LOG = logging.getLogger(__name__)
diff --git a/nova/tests/image/fake.py b/nova/tests/image/fake.py
index 99b1a61751..66e37e5d54 100644
--- a/nova/tests/image/fake.py
+++ b/nova/tests/image/fake.py
@@ -24,7 +24,7 @@ import datetime
from nova import exception
from nova import flags
import nova.image.glance
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import utils
diff --git a/nova/tests/integrated/api/client.py b/nova/tests/integrated/api/client.py
index ce0dc0f82d..36a90883b5 100644
--- a/nova/tests/integrated/api/client.py
+++ b/nova/tests/integrated/api/client.py
@@ -18,8 +18,8 @@ import httplib
import urllib
import urlparse
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/tests/integrated/integrated_helpers.py b/nova/tests/integrated/integrated_helpers.py
index a514de6775..8cd37ba6d1 100644
--- a/nova/tests/integrated/integrated_helpers.py
+++ b/nova/tests/integrated/integrated_helpers.py
@@ -22,7 +22,8 @@ Provides common functionality for integrated unit tests
import random
import string
-from nova.log import logging
+import nova.image.glance
+from nova.openstack.common.log import logging
from nova import service
from nova import test # For the flags
import nova.tests.image.fake
diff --git a/nova/tests/integrated/test_extensions.py b/nova/tests/integrated/test_extensions.py
index e5b35645ca..056ff32b7e 100644
--- a/nova/tests/integrated/test_extensions.py
+++ b/nova/tests/integrated/test_extensions.py
@@ -16,7 +16,7 @@
# under the License.
from nova import flags
-from nova.log import logging
+from nova.openstack.common.log import logging
from nova.tests.integrated import integrated_helpers
diff --git a/nova/tests/integrated/test_login.py b/nova/tests/integrated/test_login.py
index aa256f8033..cecfef31a2 100644
--- a/nova/tests/integrated/test_login.py
+++ b/nova/tests/integrated/test_login.py
@@ -16,7 +16,7 @@
# under the License.
-from nova.log import logging
+from nova.openstack.common.log import logging
from nova.tests.integrated import integrated_helpers
diff --git a/nova/tests/integrated/test_multiprocess_api.py b/nova/tests/integrated/test_multiprocess_api.py
index 6fe1479cd8..fbab7eb49e 100644
--- a/nova/tests/integrated/test_multiprocess_api.py
+++ b/nova/tests/integrated/test_multiprocess_api.py
@@ -22,7 +22,7 @@ import time
import traceback
from nova import flags
-from nova.log import logging
+from nova.openstack.common.log import logging
from nova import service
from nova.tests.integrated import integrated_helpers
diff --git a/nova/tests/integrated/test_servers.py b/nova/tests/integrated/test_servers.py
index dccc879a7b..49abd0011b 100644
--- a/nova/tests/integrated/test_servers.py
+++ b/nova/tests/integrated/test_servers.py
@@ -18,7 +18,7 @@
import time
import unittest
-from nova.log import logging
+from nova.openstack.common.log import logging
from nova.tests.integrated.api import client
from nova.tests.integrated import integrated_helpers
import nova.virt.fake
diff --git a/nova/tests/integrated/test_volumes.py b/nova/tests/integrated/test_volumes.py
index 24bc43462c..fe70c3ce8f 100644
--- a/nova/tests/integrated/test_volumes.py
+++ b/nova/tests/integrated/test_volumes.py
@@ -18,7 +18,7 @@
import time
import unittest
-from nova.log import logging
+from nova.openstack.common.log import logging
from nova import service
from nova.tests.integrated.api import client
from nova.tests.integrated import integrated_helpers
diff --git a/nova/tests/integrated/test_xml.py b/nova/tests/integrated/test_xml.py
index 58ca4f726b..b6bf197d79 100644
--- a/nova/tests/integrated/test_xml.py
+++ b/nova/tests/integrated/test_xml.py
@@ -19,7 +19,7 @@ from lxml import etree
from nova.api.openstack import common
from nova.api.openstack import xmlutil
-from nova.log import logging
+from nova.openstack.common.log import logging
from nova.tests.integrated import integrated_helpers
diff --git a/nova/tests/network/test_linux_net.py b/nova/tests/network/test_linux_net.py
index 0660bb0f3c..b05127c728 100644
--- a/nova/tests/network/test_linux_net.py
+++ b/nova/tests/network/test_linux_net.py
@@ -22,9 +22,9 @@ import mox
from nova import context
from nova import db
from nova import flags
-from nova import log as logging
from nova.network import linux_net
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import test
from nova import utils
diff --git a/nova/tests/network/test_manager.py b/nova/tests/network/test_manager.py
index 995c780613..276681cad1 100644
--- a/nova/tests/network/test_manager.py
+++ b/nova/tests/network/test_manager.py
@@ -23,10 +23,10 @@ import tempfile
from nova import context
from nova import db
from nova import exception
-from nova import log as logging
from nova.network import linux_net
from nova.network import manager as network_manager
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
import nova.policy
from nova import test
diff --git a/nova/tests/network/test_network_info.py b/nova/tests/network/test_network_info.py
index f1c908b2cf..c9b17306da 100644
--- a/nova/tests/network/test_network_info.py
+++ b/nova/tests/network/test_network_info.py
@@ -16,8 +16,8 @@
# under the License.
from nova import exception
-from nova import log as logging
from nova.network import model
+from nova.openstack.common import log as logging
from nova import test
from nova.tests import fake_network_cache_model
diff --git a/nova/tests/network/test_quantum.py b/nova/tests/network/test_quantum.py
index 7f93c9c2ba..cd6c4b8cbc 100644
--- a/nova/tests/network/test_quantum.py
+++ b/nova/tests/network/test_quantum.py
@@ -23,13 +23,13 @@ from nova.db.sqlalchemy import models
from nova.db.sqlalchemy import session as sql_session
from nova import exception
from nova import flags
-from nova import log as logging
from nova.network.quantum import client as quantum_client
from nova.network.quantum import fake_client
from nova.network.quantum import manager as quantum_manager
from nova.network.quantum import melange_connection
from nova.network.quantum import melange_ipam_lib
from nova.network.quantum import quantum_connection
+from nova.openstack.common import log as logging
from nova import test
from nova import utils
diff --git a/nova/tests/notifier/test_list_notifier.py b/nova/tests/notifier/test_list_notifier.py
index bd1da99478..bb14fa80ea 100644
--- a/nova/tests/notifier/test_list_notifier.py
+++ b/nova/tests/notifier/test_list_notifier.py
@@ -14,11 +14,11 @@
# under the License.
import nova
-from nova import log as logging
import nova.notifier.api
from nova.notifier import list_notifier
import nova.notifier.log_notifier
import nova.notifier.no_op_notifier
+from nova.openstack.common import log as logging
from nova import test
diff --git a/nova/tests/test_SolidFireSanISCSIDriver.py b/nova/tests/test_SolidFireSanISCSIDriver.py
index 9ebab6d5f5..dd0e8d0de7 100644
--- a/nova/tests/test_SolidFireSanISCSIDriver.py
+++ b/nova/tests/test_SolidFireSanISCSIDriver.py
@@ -16,7 +16,7 @@
# under the License.
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
from nova.volume import san
diff --git a/nova/tests/test_auth.py b/nova/tests/test_auth.py
index afee021cd2..1027a6a0a6 100644
--- a/nova/tests/test_auth.py
+++ b/nova/tests/test_auth.py
@@ -22,7 +22,7 @@ from nova.auth import fakeldap
from nova.auth import manager
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
FLAGS = flags.FLAGS
diff --git a/nova/tests/test_compute_utils.py b/nova/tests/test_compute_utils.py
index 0955134baf..4e00025bca 100644
--- a/nova/tests/test_compute_utils.py
+++ b/nova/tests/test_compute_utils.py
@@ -22,9 +22,9 @@ from nova.compute import utils as compute_utils
from nova import context
from nova import db
from nova import flags
-from nova import log as logging
from nova.notifier import test_notifier
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import test
from nova.tests import fake_network
import nova.tests.image.fake
diff --git a/nova/tests/test_imagecache.py b/nova/tests/test_imagecache.py
index 9ab10cc51a..4ac7adfade 100644
--- a/nova/tests/test_imagecache.py
+++ b/nova/tests/test_imagecache.py
@@ -29,7 +29,7 @@ from nova import test
from nova.compute import vm_states
from nova import db
from nova import flags
-from nova import log
+from nova.openstack.common import log
from nova import utils
from nova.virt.libvirt import imagecache
from nova.virt.libvirt import utils as virtutils
@@ -335,10 +335,10 @@ class ImageCacheManagerTestCase(test.TestCase):
@contextlib.contextmanager
def _intercept_log_messages(self):
try:
- mylog = log.getLogger()
+ mylog = log.getLogger('nova')
stream = cStringIO.StringIO()
handler = logging.StreamHandler(stream)
- handler.setFormatter(log.LegacyNovaFormatter())
+ handler.setFormatter(log.LegacyFormatter())
mylog.logger.addHandler(handler)
yield stream
finally:
diff --git a/nova/tests/test_instance_types.py b/nova/tests/test_instance_types.py
index 0d0417d0f9..ed33a74b05 100644
--- a/nova/tests/test_instance_types.py
+++ b/nova/tests/test_instance_types.py
@@ -24,7 +24,7 @@ from nova.db.sqlalchemy import models
from nova.db.sqlalchemy import session as sql_session
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
FLAGS = flags.FLAGS
diff --git a/nova/tests/test_ipv6.py b/nova/tests/test_ipv6.py
index a09482ddd7..b16855eb40 100644
--- a/nova/tests/test_ipv6.py
+++ b/nova/tests/test_ipv6.py
@@ -17,7 +17,7 @@
"""Test suite for IPv6."""
from nova import ipv6
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
LOG = logging.getLogger(__name__)
diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py
index 55163b4c43..a05c8c96b1 100644
--- a/nova/tests/test_libvirt.py
+++ b/nova/tests/test_libvirt.py
@@ -34,9 +34,9 @@ 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 importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova import test
from nova.tests import fake_libvirt_utils
from nova.tests import fake_network
diff --git a/nova/tests/test_log.py b/nova/tests/test_log.py
deleted file mode 100644
index 9597b99c64..0000000000
--- a/nova/tests/test_log.py
+++ /dev/null
@@ -1,217 +0,0 @@
-import cStringIO
-import logging
-
-from nova import context
-from nova import flags
-from nova import log
-from nova.notifier import api as notifier
-from nova.openstack.common import jsonutils
-from nova import test
-
-FLAGS = flags.FLAGS
-flags.DECLARE('list_notifier_drivers',
- 'nova.notifier.list_notifier')
-
-
-def _fake_context():
- return context.RequestContext(1, 1)
-
-
-class LoggerTestCase(test.TestCase):
- def setUp(self):
- super(LoggerTestCase, self).setUp()
- self.log = log.getLogger()
-
- def test_handlers_have_nova_formatter(self):
- formatters = []
- for h in self.log.logger.handlers:
- f = h.formatter
- if isinstance(f, log.LegacyNovaFormatter):
- formatters.append(f)
- self.assert_(formatters)
- self.assertEqual(len(formatters), len(self.log.logger.handlers))
-
- def test_handles_context_kwarg(self):
- self.log.info("foo", context=_fake_context())
- self.assert_(True) # didn't raise exception
-
- def test_audit_handles_context_arg(self):
- self.log.audit("foo", context=_fake_context())
- self.assert_(True) # didn't raise exception
-
- def test_will_be_verbose_if_verbose_flag_set(self):
- self.flags(verbose=True)
- log.setup()
- self.assertEqual(logging.DEBUG, self.log.logger.getEffectiveLevel())
-
- def test_will_not_be_verbose_if_verbose_flag_not_set(self):
- self.flags(verbose=False)
- log.setup()
- self.assertEqual(logging.INFO, self.log.logger.getEffectiveLevel())
-
- def test_no_logging_via_module(self):
- for func in ('critical', 'error', 'exception', 'warning', 'warn',
- 'info', 'debug', 'log', 'audit'):
- self.assertRaises(AttributeError, getattr, log, func)
-
-
-class LogHandlerTestCase(test.TestCase):
- def test_log_path_logdir(self):
- self.flags(logdir='/some/path', logfile=None)
- self.assertEquals(log._get_log_file_path(binary='foo-bar'),
- '/some/path/foo-bar.log')
-
- def test_log_path_logfile(self):
- self.flags(logfile='/some/path/foo-bar.log')
- self.assertEquals(log._get_log_file_path(binary='foo-bar'),
- '/some/path/foo-bar.log')
-
- def test_log_path_none(self):
- self.flags(logdir=None, logfile=None)
- self.assertTrue(log._get_log_file_path(binary='foo-bar') is None)
-
- def test_log_path_logfile_overrides_logdir(self):
- self.flags(logdir='/some/other/path',
- logfile='/some/path/foo-bar.log')
- self.assertEquals(log._get_log_file_path(binary='foo-bar'),
- '/some/path/foo-bar.log')
-
-
-class PublishErrorsHandlerTestCase(test.TestCase):
- """Tests for nova.log.PublishErrorsHandler"""
- def setUp(self):
- super(PublishErrorsHandlerTestCase, self).setUp()
- self.publiserrorshandler = log.PublishErrorsHandler(logging.ERROR)
-
- def test_emit_cfg_list_notifier_drivers_in_flags(self):
- self.stub_flg = False
-
- def fake_notifier(*args, **kwargs):
- self.stub_flg = True
-
- self.stubs.Set(notifier, 'notify', fake_notifier)
- logrecord = logging.LogRecord('name', 'WARN', '/tmp', 1,
- 'Message', None, None)
- self.publiserrorshandler.emit(logrecord)
- self.assertTrue(self.stub_flg)
-
- def test_emit_cfg_log_notifier_in_list_notifier_drivers(self):
- self.flags(list_notifier_drivers=['nova.notifier.rabbit_notifier',
- 'nova.notifier.log_notifier'])
- self.stub_flg = True
-
- def fake_notifier(*args, **kwargs):
- self.stub_flg = False
-
- self.stubs.Set(notifier, 'notify', fake_notifier)
- logrecord = logging.LogRecord('name', 'WARN', '/tmp', 1,
- 'Message', None, None)
- self.publiserrorshandler.emit(logrecord)
- self.assertTrue(self.stub_flg)
-
-
-class NovaFormatterTestCase(test.TestCase):
- def setUp(self):
- super(NovaFormatterTestCase, self).setUp()
- self.flags(logging_context_format_string="HAS CONTEXT "
- "[%(request_id)s]: "
- "%(message)s",
- logging_default_format_string="NOCTXT: %(message)s",
- logging_debug_format_suffix="--DBG")
- self.log = log.getLogger()
- self.stream = cStringIO.StringIO()
- self.handler = logging.StreamHandler(self.stream)
- self.handler.setFormatter(log.LegacyNovaFormatter())
- self.log.logger.addHandler(self.handler)
- self.level = self.log.logger.getEffectiveLevel()
- self.log.logger.setLevel(logging.DEBUG)
-
- def tearDown(self):
- self.log.logger.setLevel(self.level)
- self.log.logger.removeHandler(self.handler)
- super(NovaFormatterTestCase, self).tearDown()
-
- def test_uncontextualized_log(self):
- self.log.info("foo")
- self.assertEqual("NOCTXT: foo\n", self.stream.getvalue())
-
- def test_contextualized_log(self):
- ctxt = _fake_context()
- self.log.info("bar", context=ctxt)
- expected = "HAS CONTEXT [%s]: bar\n" % ctxt.request_id
- self.assertEqual(expected, self.stream.getvalue())
-
- def test_debugging_log(self):
- self.log.debug("baz")
- self.assertEqual("NOCTXT: baz --DBG\n", self.stream.getvalue())
-
-
-class NovaLoggerTestCase(test.TestCase):
- def setUp(self):
- super(NovaLoggerTestCase, self).setUp()
- levels = FLAGS.default_log_levels
- levels.append("nova-test=AUDIT")
- self.flags(default_log_levels=levels,
- verbose=True)
- log.setup()
- self.log = log.getLogger('nova-test')
-
- def test_has_level_from_flags(self):
- self.assertEqual(logging.AUDIT, self.log.logger.getEffectiveLevel())
-
- def test_child_log_has_level_of_parent_flag(self):
- l = log.getLogger('nova-test.foo')
- self.assertEqual(logging.AUDIT, l.logger.getEffectiveLevel())
-
-
-class JSONFormatterTestCase(test.TestCase):
- def setUp(self):
- super(JSONFormatterTestCase, self).setUp()
- self.log = log.getLogger('test-json')
- self.stream = cStringIO.StringIO()
- handler = logging.StreamHandler(self.stream)
- handler.setFormatter(log.JSONFormatter())
- self.log.logger.addHandler(handler)
- self.log.logger.setLevel(logging.DEBUG)
-
- def test_json(self):
- test_msg = 'This is a %(test)s line'
- test_data = {'test': 'log'}
- self.log.debug(test_msg, test_data)
-
- data = jsonutils.loads(self.stream.getvalue())
- self.assertTrue(data)
- self.assertTrue('extra' in data)
- self.assertEqual('test-json', data['name'])
-
- self.assertEqual(test_msg % test_data, data['message'])
- self.assertEqual(test_msg, data['msg'])
- self.assertEqual(test_data, data['args'])
-
- self.assertEqual('test_log.py', data['filename'])
- self.assertEqual('test_json', data['funcname'])
-
- self.assertEqual('DEBUG', data['levelname'])
- self.assertEqual(logging.DEBUG, data['levelno'])
- self.assertFalse(data['traceback'])
-
- def test_json_exception(self):
- test_msg = 'This is %s'
- test_data = 'exceptional'
- try:
- raise Exception('This is exceptional')
- except Exception:
- self.log.exception(test_msg, test_data)
-
- data = jsonutils.loads(self.stream.getvalue())
- self.assertTrue(data)
- self.assertTrue('extra' in data)
- self.assertEqual('test-json', data['name'])
-
- self.assertEqual(test_msg % test_data, data['message'])
- self.assertEqual(test_msg, data['msg'])
- self.assertEqual([test_data], data['args'])
-
- self.assertEqual('ERROR', data['levelname'])
- self.assertEqual(logging.ERROR, data['levelno'])
- self.assertTrue(data['traceback'])
diff --git a/nova/tests/test_migrations.py b/nova/tests/test_migrations.py
index fc654c80a4..1e3ca58885 100644
--- a/nova/tests/test_migrations.py
+++ b/nova/tests/test_migrations.py
@@ -35,7 +35,7 @@ import sqlalchemy
import nova.db.migration as migration
import nova.db.sqlalchemy.migrate_repo
from nova.db.sqlalchemy.migration import versioning_api as migration_api
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
diff --git a/nova/tests/test_netapp.py b/nova/tests/test_netapp.py
index 8412420afe..50b0f9c7ec 100644
--- a/nova/tests/test_netapp.py
+++ b/nova/tests/test_netapp.py
@@ -25,7 +25,7 @@ import StringIO
from lxml import etree
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
from nova.volume import netapp
diff --git a/nova/tests/test_notifications.py b/nova/tests/test_notifications.py
index 0f44064daf..cf12d5629c 100644
--- a/nova/tests/test_notifications.py
+++ b/nova/tests/test_notifications.py
@@ -25,10 +25,10 @@ from nova.compute import vm_states
from nova import context
from nova import db
from nova import flags
-from nova import log as logging
import nova.network
from nova import notifications
from nova.notifier import test_notifier
+from nova.openstack.common import log as logging
from nova import test
from nova.tests import fake_network
diff --git a/nova/tests/test_notifier.py b/nova/tests/test_notifier.py
index 773ffe49b5..f7f54f374e 100644
--- a/nova/tests/test_notifier.py
+++ b/nova/tests/test_notifier.py
@@ -16,9 +16,9 @@
import nova
from nova import context
from nova import flags
-from nova import log
from nova.notifier import api as notifier_api
import nova.notifier.no_op_notifier
+from nova.openstack.common import log
from nova import test
@@ -106,7 +106,7 @@ class NotifierTestCase(test.TestCase):
'nova.notifier.rabbit_notifier')
self.stubs.Set(nova.flags.FLAGS, 'publish_errors', True)
LOG = log.getLogger('nova')
- log.setup()
+ log.setup('nova')
msgs = []
def mock_notify(context, topic, data):
diff --git a/nova/tests/test_virt_drivers.py b/nova/tests/test_virt_drivers.py
index 6443c67217..cafbd68183 100644
--- a/nova/tests/test_virt_drivers.py
+++ b/nova/tests/test_virt_drivers.py
@@ -21,8 +21,8 @@ import traceback
from nova.compute.manager import ComputeManager
from nova import exception
-from nova import log as logging
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import test
from nova.tests.image import fake as fake_image
from nova.tests import utils as test_utils
diff --git a/nova/tests/test_volume.py b/nova/tests/test_volume.py
index 0aac9e8cf2..2e149f950e 100644
--- a/nova/tests/test_volume.py
+++ b/nova/tests/test_volume.py
@@ -28,9 +28,9 @@ from nova import context
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
from nova.notifier import test_notifier
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
import nova.policy
from nova import quota
@@ -430,7 +430,7 @@ class DriverTestCase(test.TestCase):
return self.output, None
self.volume.driver.set_execute(_fake_execute)
- log = logging.getLogger()
+ log = logging.getLogger('nova')
self.stream = cStringIO.StringIO()
log.logger.addHandler(logging.logging.StreamHandler(self.stream))
diff --git a/nova/tests/test_volume_types.py b/nova/tests/test_volume_types.py
index d2680afaf5..764cf03436 100644
--- a/nova/tests/test_volume_types.py
+++ b/nova/tests/test_volume_types.py
@@ -23,7 +23,7 @@ from nova.db.sqlalchemy import models
from nova.db.sqlalchemy import session as sql_session
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
from nova.volume import volume_types
diff --git a/nova/tests/test_volume_utils.py b/nova/tests/test_volume_utils.py
index b2ccb41b89..1db0f9eef8 100644
--- a/nova/tests/test_volume_utils.py
+++ b/nova/tests/test_volume_utils.py
@@ -20,9 +20,9 @@
from nova import context
from nova import db
from nova import flags
-from nova import log as logging
from nova.notifier import test_notifier
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import test
from nova.volume import utils as volume_utils
diff --git a/nova/tests/test_xenapi.py b/nova/tests/test_xenapi.py
index c4b3262f54..5181e63852 100644
--- a/nova/tests/test_xenapi.py
+++ b/nova/tests/test_xenapi.py
@@ -29,8 +29,8 @@ 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 importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import test
from nova.tests.db import fakes as db_fakes
diff --git a/nova/tests/test_xensm.py b/nova/tests/test_xensm.py
index 638a359fa2..18be0266c7 100644
--- a/nova/tests/test_xensm.py
+++ b/nova/tests/test_xensm.py
@@ -22,7 +22,7 @@ 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 log as logging
from nova import test
from nova.tests.xenapi import stubs
from nova.virt.xenapi import connection as xenapi_conn
diff --git a/nova/tests/volume/test_HpSanISCSIDriver.py b/nova/tests/volume/test_HpSanISCSIDriver.py
index 705152536a..b3656bb220 100644
--- a/nova/tests/volume/test_HpSanISCSIDriver.py
+++ b/nova/tests/volume/test_HpSanISCSIDriver.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import test
from nova.volume import san
diff --git a/nova/utils.py b/nova/utils.py
index 9560c1d18a..b9af41fcae 100644
--- a/nova/utils.py
+++ b/nova/utils.py
@@ -51,10 +51,10 @@ import netaddr
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import excutils
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
diff --git a/nova/virt/baremetal/dom.py b/nova/virt/baremetal/dom.py
index 0890de5d4c..350506f73c 100644
--- a/nova/virt/baremetal/dom.py
+++ b/nova/virt/baremetal/dom.py
@@ -17,8 +17,8 @@
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 jsonutils
+from nova.openstack.common import log as logging
from nova.virt.baremetal import nodes
FLAGS = flags.FLAGS
diff --git a/nova/virt/baremetal/proxy.py b/nova/virt/baremetal/proxy.py
index f1aa908bb4..56ed127153 100644
--- a/nova/virt/baremetal/proxy.py
+++ b/nova/virt/baremetal/proxy.py
@@ -40,9 +40,9 @@ from nova import context as nova_context
from nova import db
from nova import exception
from nova import flags
-from nova import log as logging
from nova import notifications
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt.baremetal import dom
from nova.virt.baremetal import nodes
diff --git a/nova/virt/baremetal/tilera.py b/nova/virt/baremetal/tilera.py
index 36d499cc20..4d4a370074 100644
--- a/nova/virt/baremetal/tilera.py
+++ b/nova/virt/baremetal/tilera.py
@@ -28,8 +28,8 @@ import time
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.openstack.common import log as logging
from nova import utils
FLAGS = flags.FLAGS
diff --git a/nova/virt/connection.py b/nova/virt/connection.py
index 079675da3f..8c98945a26 100644
--- a/nova/virt/connection.py
+++ b/nova/virt/connection.py
@@ -24,8 +24,8 @@ import sys
from nova.common import deprecated
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt import driver
diff --git a/nova/virt/disk/api.py b/nova/virt/disk/api.py
index 672b5d50ed..42d9d91626 100644
--- a/nova/virt/disk/api.py
+++ b/nova/virt/disk/api.py
@@ -33,9 +33,9 @@ import tempfile
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt.disk import guestfs
from nova.virt.disk import loop
diff --git a/nova/virt/disk/mount.py b/nova/virt/disk/mount.py
index 11959b2f66..7811677530 100644
--- a/nova/virt/disk/mount.py
+++ b/nova/virt/disk/mount.py
@@ -17,7 +17,7 @@
import os
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import utils
LOG = logging.getLogger(__name__)
diff --git a/nova/virt/driver.py b/nova/virt/driver.py
index f7dfbf7cd0..d01fc78989 100644
--- a/nova/virt/driver.py
+++ b/nova/virt/driver.py
@@ -24,7 +24,7 @@ Driver base-classes:
from nova.compute import power_state
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/virt/fake.py b/nova/virt/fake.py
index f13f71a8d1..85253c0fa9 100644
--- a/nova/virt/fake.py
+++ b/nova/virt/fake.py
@@ -28,7 +28,7 @@ semantics of real hypervisor connections.
from nova.compute import power_state
from nova import db
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt import driver
diff --git a/nova/virt/firewall.py b/nova/virt/firewall.py
index 89559a8292..2afb8b6cf8 100644
--- a/nova/virt/firewall.py
+++ b/nova/virt/firewall.py
@@ -20,8 +20,8 @@
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.openstack.common import log as logging
from nova import utils
from nova.virt import netutils
diff --git a/nova/virt/images.py b/nova/virt/images.py
index 78bd8aebcd..c80e83e232 100644
--- a/nova/virt/images.py
+++ b/nova/virt/images.py
@@ -26,8 +26,8 @@ import os
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.openstack.common import log as logging
from nova import utils
diff --git a/nova/virt/libvirt/config.py b/nova/virt/libvirt/config.py
index edde66d7c4..da55dc2344 100644
--- a/nova/virt/libvirt/config.py
+++ b/nova/virt/libvirt/config.py
@@ -22,7 +22,7 @@ and support conversion to/from XML
"""
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from lxml import etree
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 950494d973..3a5a52b797 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -61,11 +61,11 @@ from nova import db
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.openstack.common import excutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt.disk import api as disk
from nova.virt import driver
diff --git a/nova/virt/libvirt/firewall.py b/nova/virt/libvirt/firewall.py
index 00823305bb..b373a3b904 100644
--- a/nova/virt/libvirt/firewall.py
+++ b/nova/virt/libvirt/firewall.py
@@ -21,7 +21,7 @@
from eventlet import tpool
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
import nova.virt.firewall as base_firewall
diff --git a/nova/virt/libvirt/imagecache.py b/nova/virt/libvirt/imagecache.py
index 9e800e3dd6..01c0046a01 100644
--- a/nova/virt/libvirt/imagecache.py
+++ b/nova/virt/libvirt/imagecache.py
@@ -32,8 +32,8 @@ from nova.compute import task_states
from nova.compute import vm_states
from nova import db
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
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 363c692aa0..b4bb08f87c 100644
--- a/nova/virt/libvirt/utils.py
+++ b/nova/virt/libvirt/utils.py
@@ -26,9 +26,9 @@ import re
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt import images
diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py
index 3a93cf3c88..74c21fc517 100644
--- a/nova/virt/libvirt/vif.py
+++ b/nova/virt/libvirt/vif.py
@@ -21,9 +21,9 @@
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.openstack.common import log as logging
from nova import utils
from nova.virt import netutils
from nova.virt import vif
diff --git a/nova/virt/libvirt/volume.py b/nova/virt/libvirt/volume.py
index 839a00db2a..dfba9325c3 100644
--- a/nova/virt/libvirt/volume.py
+++ b/nova/virt/libvirt/volume.py
@@ -22,7 +22,7 @@ import time
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt.libvirt import config
diff --git a/nova/virt/vmwareapi/fake.py b/nova/virt/vmwareapi/fake.py
index 10f834ba15..fdf85dc8b3 100644
--- a/nova/virt/vmwareapi/fake.py
+++ b/nova/virt/vmwareapi/fake.py
@@ -23,7 +23,7 @@ import pprint
import uuid
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.virt.vmwareapi import error_util
_CLASSES = ['Datacenter', 'Datastore', 'ResourcePool', 'VirtualMachine',
diff --git a/nova/virt/vmwareapi/io_util.py b/nova/virt/vmwareapi/io_util.py
index d8dd46b2fd..999e7a0854 100644
--- a/nova/virt/vmwareapi/io_util.py
+++ b/nova/virt/vmwareapi/io_util.py
@@ -25,7 +25,7 @@ from eventlet import greenthread
from eventlet import queue
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/virt/vmwareapi/network_utils.py b/nova/virt/vmwareapi/network_utils.py
index 1f051fa7e3..97d9d6c26c 100644
--- a/nova/virt/vmwareapi/network_utils.py
+++ b/nova/virt/vmwareapi/network_utils.py
@@ -20,7 +20,7 @@ Utility functions for ESX Networking.
"""
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.virt.vmwareapi import error_util
from nova.virt.vmwareapi import vim_util
from nova.virt.vmwareapi import vm_util
diff --git a/nova/virt/vmwareapi/read_write_util.py b/nova/virt/vmwareapi/read_write_util.py
index 08da014488..765b94cc6b 100644
--- a/nova/virt/vmwareapi/read_write_util.py
+++ b/nova/virt/vmwareapi/read_write_util.py
@@ -30,7 +30,7 @@ import urlparse
from glance import client
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
diff --git a/nova/virt/vmwareapi/vif.py b/nova/virt/vmwareapi/vif.py
index 52205c461b..a00dd5c36e 100644
--- a/nova/virt/vmwareapi/vif.py
+++ b/nova/virt/vmwareapi/vif.py
@@ -19,7 +19,7 @@
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.virt import vif
from nova.virt.vmwareapi import network_utils
diff --git a/nova/virt/vmwareapi/vmops.py b/nova/virt/vmwareapi/vmops.py
index 000dc69816..f650316da1 100644
--- a/nova/virt/vmwareapi/vmops.py
+++ b/nova/virt/vmwareapi/vmops.py
@@ -29,9 +29,9 @@ import uuid
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.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.virt.vmwareapi import network_utils
from nova.virt.vmwareapi import vim_util
from nova.virt.vmwareapi import vm_util
diff --git a/nova/virt/vmwareapi/vmware_images.py b/nova/virt/vmwareapi/vmware_images.py
index c1ab77fa5e..bb7219feb0 100644
--- a/nova/virt/vmwareapi/vmware_images.py
+++ b/nova/virt/vmwareapi/vmware_images.py
@@ -21,7 +21,7 @@ import StringIO
from nova import exception
from nova.image import glance
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.virt.vmwareapi import io_util
from nova.virt.vmwareapi import read_write_util
diff --git a/nova/virt/vmwareapi_conn.py b/nova/virt/vmwareapi_conn.py
index 0c66791a69..2b1d4cedf0 100644
--- a/nova/virt/vmwareapi_conn.py
+++ b/nova/virt/vmwareapi_conn.py
@@ -38,8 +38,8 @@ from eventlet import event
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt import driver
from nova.virt.vmwareapi import error_util
diff --git a/nova/virt/xenapi/connection.py b/nova/virt/xenapi/connection.py
index 20f9745d22..2777fa8832 100644
--- a/nova/virt/xenapi/connection.py
+++ b/nova/virt/xenapi/connection.py
@@ -49,8 +49,8 @@ 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.openstack.common import log as logging
from nova.virt import driver
from nova.virt.xenapi import host
from nova.virt.xenapi import pool
diff --git a/nova/virt/xenapi/fake.py b/nova/virt/xenapi/fake.py
index 5df0c2aead..48c9c10830 100644
--- a/nova/virt/xenapi/fake.py
+++ b/nova/virt/xenapi/fake.py
@@ -58,8 +58,8 @@ from xml.sax import saxutils
import pprint
from nova import exception
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
diff --git a/nova/virt/xenapi/firewall.py b/nova/virt/xenapi/firewall.py
index 094da44eb6..3c974fc0f2 100644
--- a/nova/virt/xenapi/firewall.py
+++ b/nova/virt/xenapi/firewall.py
@@ -20,8 +20,8 @@
from nova import context
from nova.db import api as db
from nova import flags
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.virt import firewall
from nova.virt import netutils
diff --git a/nova/virt/xenapi/pool.py b/nova/virt/xenapi/pool.py
index 7b0c576bfb..cb00faed51 100644
--- a/nova/virt/xenapi/pool.py
+++ b/nova/virt/xenapi/pool.py
@@ -25,9 +25,9 @@ from nova.compute import aggregate_states
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.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova.virt.xenapi import vm_utils
diff --git a/nova/virt/xenapi/vif.py b/nova/virt/xenapi/vif.py
index 39778521bb..4977fd4cf1 100644
--- a/nova/virt/xenapi/vif.py
+++ b/nova/virt/xenapi/vif.py
@@ -20,8 +20,8 @@
"""VIF drivers for XenAPI."""
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova.virt import vif
from nova.virt.xenapi import network_utils
from nova.virt.xenapi import vm_utils
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py
index 9c73996069..61cf74f913 100644
--- a/nova/virt/xenapi/vm_utils.py
+++ b/nova/virt/xenapi/vm_utils.py
@@ -40,10 +40,10 @@ from nova import db
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.openstack.common import excutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt.disk import api as disk
from nova.virt import xenapi
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py
index 5797557fe1..85fe73cd89 100644
--- a/nova/virt/xenapi/vmops.py
+++ b/nova/virt/xenapi/vmops.py
@@ -36,10 +36,10 @@ from nova import context as nova_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.openstack.common import importutils
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import utils
from nova.virt import driver
diff --git a/nova/virt/xenapi/volume_utils.py b/nova/virt/xenapi/volume_utils.py
index 143970cfb5..d643949802 100644
--- a/nova/virt/xenapi/volume_utils.py
+++ b/nova/virt/xenapi/volume_utils.py
@@ -23,7 +23,7 @@ import re
import string
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/nova/virt/xenapi/volumeops.py b/nova/virt/xenapi/volumeops.py
index c90df787bd..412b89be5b 100644
--- a/nova/virt/xenapi/volumeops.py
+++ b/nova/virt/xenapi/volumeops.py
@@ -19,7 +19,7 @@ Management class for Storage-related functions (attach, detach, etc).
"""
from nova import exception
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.virt.xenapi import vm_utils
from nova.virt.xenapi import volume_utils
diff --git a/nova/vnc/xvp_proxy.py b/nova/vnc/xvp_proxy.py
index ecf5c2551e..c8b779a371 100644
--- a/nova/vnc/xvp_proxy.py
+++ b/nova/vnc/xvp_proxy.py
@@ -29,8 +29,8 @@ import eventlet.wsgi
from nova.consoleauth import rpcapi as consoleauth_rpcapi
from nova import context
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova import version
from nova import wsgi
diff --git a/nova/volume/api.py b/nova/volume/api.py
index 748b2d16b1..28f78a7e12 100644
--- a/nova/volume/api.py
+++ b/nova/volume/api.py
@@ -25,7 +25,7 @@ import functools
from nova.db import base
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova.openstack.common import timeutils
import nova.policy
diff --git a/nova/volume/driver.py b/nova/volume/driver.py
index 2b0d457e54..9e8355a3aa 100644
--- a/nova/volume/driver.py
+++ b/nova/volume/driver.py
@@ -24,8 +24,8 @@ import time
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova import utils
from nova.volume import iscsi
diff --git a/nova/volume/manager.py b/nova/volume/manager.py
index 972c4b5ec7..8aceace5f0 100644
--- a/nova/volume/manager.py
+++ b/nova/volume/manager.py
@@ -41,11 +41,11 @@ intact.
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.openstack.common import excutils
from nova.openstack.common import importutils
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import quota
from nova import utils
diff --git a/nova/volume/netapp.py b/nova/volume/netapp.py
index 897da62040..57c1b8db41 100644
--- a/nova/volume/netapp.py
+++ b/nova/volume/netapp.py
@@ -32,8 +32,8 @@ from suds.sax import text
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova.volume import driver
LOG = logging.getLogger(__name__)
diff --git a/nova/volume/nexenta/jsonrpc.py b/nova/volume/nexenta/jsonrpc.py
index c0665e3dc1..e0d9c810a9 100644
--- a/nova/volume/nexenta/jsonrpc.py
+++ b/nova/volume/nexenta/jsonrpc.py
@@ -24,8 +24,8 @@
import urllib2
-from nova import log as logging
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.volume import nexenta
LOG = logging.getLogger(__name__)
diff --git a/nova/volume/nexenta/volume.py b/nova/volume/nexenta/volume.py
index 784d48d4fe..9bb6364a90 100644
--- a/nova/volume/nexenta/volume.py
+++ b/nova/volume/nexenta/volume.py
@@ -24,8 +24,8 @@
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
+from nova.openstack.common import log as logging
from nova.volume import driver
from nova.volume import nexenta
from nova.volume.nexenta import jsonrpc
diff --git a/nova/volume/san.py b/nova/volume/san.py
index e1fa2c2d3f..a2b79c2984 100644
--- a/nova/volume/san.py
+++ b/nova/volume/san.py
@@ -34,9 +34,9 @@ from lxml import etree
from nova import exception
from nova import flags
-from nova import log as logging
from nova.openstack.common import cfg
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova import utils
import nova.volume.driver
diff --git a/nova/volume/utils.py b/nova/volume/utils.py
index 7efd7f23a5..dcaa141f51 100644
--- a/nova/volume/utils.py
+++ b/nova/volume/utils.py
@@ -17,8 +17,8 @@
"""Volume-related Utilities and helpers."""
from nova import flags
-from nova import log as logging
from nova.notifier import api as notifier_api
+from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import utils
diff --git a/nova/volume/volume_types.py b/nova/volume/volume_types.py
index 0b8208663c..67d8244659 100644
--- a/nova/volume/volume_types.py
+++ b/nova/volume/volume_types.py
@@ -25,7 +25,7 @@ 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 log as logging
FLAGS = flags.FLAGS
LOG = logging.getLogger(__name__)
diff --git a/nova/volume/xensm.py b/nova/volume/xensm.py
index e834a312ac..db3a1d793e 100644
--- a/nova/volume/xensm.py
+++ b/nova/volume/xensm.py
@@ -14,7 +14,7 @@
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
from nova import utils
from nova.virt.xenapi import connection as xenapi_conn
from nova.virt.xenapi import volumeops
diff --git a/nova/wsgi.py b/nova/wsgi.py
index a02fdcc182..afb5303e4a 100644
--- a/nova/wsgi.py
+++ b/nova/wsgi.py
@@ -32,7 +32,7 @@ import webob.exc
from nova import exception
from nova import flags
-from nova import log as logging
+from nova.openstack.common import log as logging
FLAGS = flags.FLAGS
diff --git a/openstack-common.conf b/openstack-common.conf
index ec446f1caf..4eb15e0f2d 100644
--- a/openstack-common.conf
+++ b/openstack-common.conf
@@ -1,7 +1,7 @@
[DEFAULT]
# The list of modules to copy from openstack-common
-modules=cfg,excutils,importutils,iniparser,jsonutils,local,policy,setup,timeutils,rpc,gettextutils
+modules=cfg,excutils,gettextutils,importutils,iniparser,jsonutils,local,log,policy,setup,timeutils,rpc
# The base module to hold the copy of openstack.common
base=nova
diff --git a/tools/clean_file_locks.py b/tools/clean_file_locks.py
index 790d82f674..39b7d695b4 100755
--- a/tools/clean_file_locks.py
+++ b/tools/clean_file_locks.py
@@ -26,7 +26,7 @@ import logging
import optparse
from nova import flags
-from nova import log
+from nova.openstack.common import log
from nova import utils