summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 6aee87805..a67c77b99 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 b778854f0..f55eca719 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 f76f3dd7e..8e66ab874 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 2aad93453..d445a16a9 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 c83855254..529d58821 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 f08c69384..7c368fce9 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 a845c1055..81189492a 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 aff9da14e..a2484c0b3 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 bef7bce86..0a8432b1e 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 f5a760b37..a40e84c92 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 71d77b285..082c7f6a2 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 d5179d074..0693ae27a 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 9fc71db05..1a7f34d6b 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 bc9dd4cd4..31b8669c5 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 306eddafa..ca9a97551 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 e9bd0f42d..2149b1610 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 2fe569b77..5e5e6d8f7 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 fb803ab5b..e100156df 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 d8c13b9a6..2c10c99f5 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 aff650aa4..735786f8f 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 1e3708072..4a2f0ec11 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 403d70ed9..ff8bc4a21 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 72eba1d9c..d8b5342c6 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 6bb19e7b3..11fa9d6d5 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 c76549562..70b1e3b80 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 126df0f0a..c632d7ac2 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 608628209..e1ea9c6d8 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 582bdec82..ee6e28208 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 59a7d030e..d022cbc82 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 82e958a59..afeed0399 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 9e9e4d978..078d58639 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 b8e013f98..88c81a578 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 f52234cf1..081290b10 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 4d02ecf7e..d44254eb6 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 1498ed1c5..e407015c2 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 72815ed00..8432f02fc 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 aa10fe532..834131f92 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 554ff10d8..ccc6b84a2 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 321123d76..a2faf833b 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 fd1e9418c..7a16daec3 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 915ca5c87..ef61d3966 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 8ba23a663..8eaea04bb 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 46d4df2d1..f1ec9b956 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 d17319c67..d88f4e14b 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 547760e94..4dedcf981 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 a8a7a2a23..788d83b2d 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 7265d8611..216bc9091 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 0b7fa881e..ed5f61d53 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 e24ef3605..95a80f3f6 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 6686de5a9..084d87575 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 02e87edf2..29409c050 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 20e481bc7..ece331fbb 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 7bf815a37..918f17100 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 9e0b3ea3a..86b7564bd 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 840813d68..004df4e73 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 ca905d496..049fa393b 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 8eb9b9c5b..12013f014 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 e7c0a8735..f4f14dc82 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 a51ba9229..6b04e3240 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 b52e89ab5..cb5e89deb 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 35d21da60..1b20531de 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 3afb206fa..6ad888fd7 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 5a8e1f645..ca87f3d4a 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 794feb5ba..41d1d0730 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 b0c2fb2b2..9aaf96fe3 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 93accab93..be7304e6e 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 6f3c484ec..aa49226b3 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 0f529980f..3e6f731e1 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 1eba0b4df..8e01d88d0 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 fa7fc1a77..cf400bd9a 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 11681f6e8..209f78d13 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 4c50a6d2e..1b0c8dfca 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 4f78a4697..fb25c5caa 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 a948a1e8a..6c991408d 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 3f36d97b6..ac4fcf4b5 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 c4e438daf..8aa3adeab 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 05be34559..0892aeb9a 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 992f5d96b..a7cb6cc12 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 0f9f782b0..6926978fc 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 a442c1506..feef86d98 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 1e3ebf1f3..771ed8b17 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 d06252a6b..dfcf235dd 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 3cdf35266..9253303f8 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 d5905f7e7..f0bfe7646 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 bc5894290..ddb564f06 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 cb6fd51ad..70cc6caee 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 9017c55cd..60197c766 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 049ce1fce..c78554c87 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 f2bb6b5d6..cb3ee5ebc 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 eb9e36c70..dfab2cd55 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 9bf3a0e12..f9f9e2228 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 9a68ee116..4e6048714 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 2f3b2ecc1..d08afd16e 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 1c4ac2642..1be008ec3 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 46fd7467f..52a340889 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 120d22707..1dd47aec2 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 3366ebc3c..4a2ba2d47 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 00aa95fb8..3c4183f68 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 2d0e7a0dd..130c4fe59 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 b561c85c4..08501177d 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 f56cc71b9..82d66938c 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 166ca98cb..549426608 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 4c02ef557..e5c2a275d 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 42aba6b7b..26b53bb7e 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 7484b73c6..1cfa523c6 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 f98f399c8..c1c7d7a44 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 1aed8588e..8d867609c 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 94adbd89b..39985a1af 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 e7c659a70..69375d05c 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 4f115e16c..a161c0327 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 df21f0273..c1f417afe 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 bb769c4dd..cff3b46ae 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 d8c2e1245..2da91c9b6 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 df2758b3a..282f7702a 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 1d73040b4..a74caa8f6 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 a36edd796..6a5c151da 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 034678aa5..e098c1e8f 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 25e6e55ad..e3ba3006c 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 828174b3a..d5c6bb459 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 114e0d750..d4937d90b 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 95ee06c9f..9fa852c09 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 dd16afc71..342222909 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 6ceabc8a4..44f4b3c69 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 ceb589562..08e19f0a4 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 52a9fc301..2161c7916 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 7212280c5..7f41a9983 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 29bca2c2f..998abee65 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 cf96dfed4..df3b39a68 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 b8e3a88e2..ea78382d8 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 4e73bdd50..5aa7738b2 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 50528d3e6..5ce6dc4af 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 27f6ea209..867ad9c19 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 19ad95b70..42491b717 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 8435cd020..dc5491381 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 68321cf74..d3ba0aa02 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 64f068ff2..be39d5a0a 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 c577e3569..c186ceeb4 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 1f11d07b6..625ce2909 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 5409d3db0..5ba078394 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 5abcfeec7..5af68bc9f 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 4bc84c243..7f79c1923 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 41dc18dc3..a7c711b4e 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 6de5ebc8f..19f0a0bb7 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 45b76bb47..71db730cb 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 e24705a02..436df0946 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 94572fc69..7acf2f750 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 d3fb76933..bb2964b95 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 da115300e..a8a2464ce 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 9ff38e3a9..a8d0ef28c 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 0603cac62..6128811f1 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 f9c1d2be8..18f99ffbb 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 fc19a9545..c2c5a1486 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 40805bb66..686548726 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 365c88ef8..b1d05118d 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 3d0254790..4ad6297b8 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 780879e3c..c0b20bbeb 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 53d96c191..677cddb6a 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 35708685a..ccd3a70b4 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 bf4a20cf3..bd7db1c37 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 03cd157da..da50eb83b 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 e64ff97a1..08a84e73f 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 99b1a6175..66e37e5d5 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 ce0dc0f82..36a90883b 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 a514de677..8cd37ba6d 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 e5b35645c..056ff32b7 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 aa256f803..cecfef31a 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 6fe1479cd..fbab7eb49 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 dccc879a7..49abd0011 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 24bc43462..fe70c3ce8 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 58ca4f726..b6bf197d7 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 0660bb0f3..b05127c72 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 995c78061..276681cad 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 f1c908b2c..c9b17306d 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 7f93c9c2b..cd6c4b8cb 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 bd1da9947..bb14fa80e 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 9ebab6d5f..dd0e8d0de 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 afee021cd..1027a6a0a 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 0955134ba..4e00025bc 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 9ab10cc51..4ac7adfad 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 0d0417d0f..ed33a74b0 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 a09482ddd..b16855eb4 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 55163b4c4..a05c8c96b 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 9597b99c6..000000000
--- 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 fc654c80a..1e3ca5888 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 8412420af..50b0f9c7e 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 0f44064da..cf12d5629 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 773ffe49b..f7f54f374 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 6443c6721..cafbd6818 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 0aac9e8cf..2e149f950 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 d2680afaf..764cf0343 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 b2ccb41b8..1db0f9eef 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 c4b3262f5..5181e6385 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 638a359fa..18be0266c 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 705152536..b3656bb22 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 9560c1d18..b9af41fca 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 0890de5d4..350506f73 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 f1aa908bb..56ed12715 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 36d499cc2..4d4a37007 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 079675da3..8c98945a2 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 672b5d50e..42d9d9162 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 11959b2f6..781167753 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 f7dfbf7cd..d01fc7898 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 f13f71a8d..85253c0fa 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 89559a829..2afb8b6cf 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 78bd8aebc..c80e83e23 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 edde66d7c..da55dc234 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 950494d97..3a5a52b79 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 00823305b..b373a3b90 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 9e800e3dd..01c0046a0 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 363c692aa..b4bb08f87 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 3a93cf3c8..74c21fc51 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 839a00db2..dfba9325c 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 10f834ba1..fdf85dc8b 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 d8dd46b2f..999e7a085 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 1f051fa7e..97d9d6c26 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 08da01448..765b94cc6 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 52205c461..a00dd5c36 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 000dc6981..f650316da 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 c1ab77fa5..bb7219feb 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 0c66791a6..2b1d4cedf 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 20f9745d2..2777fa883 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 5df0c2aea..48c9c1083 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 094da44eb..3c974fc0f 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 7b0c576bf..cb00faed5 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 39778521b..4977fd4cf 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 9c7399606..61cf74f91 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 5797557fe..85fe73cd8 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 143970cfb..d64394980 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 c90df787b..412b89be5 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 ecf5c2551..c8b779a37 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 748b2d16b..28f78a7e1 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 2b0d457e5..9e8355a3a 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 972c4b5ec..8aceace5f 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 897da6204..57c1b8db4 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 c0665e3dc..e0d9c810a 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 784d48d4f..9bb6364a9 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 e1fa2c2d3..a2b79c298 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 7efd7f23a..dcaa141f5 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 0b8208663..67d824465 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 e834a312a..db3a1d793 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 a02fdcc18..afb5303e4 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 ec446f1ca..4eb15e0f2 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 790d82f67..39b7d695b 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