Merge "Add ability to use global logging.conf"
diff --git a/nova/compute.sls b/nova/compute.sls
index 24c09e0..a6ec4bc 100644
--- a/nova/compute.sls
+++ b/nova/compute.sls
@@ -105,7 +105,7 @@
 {{ service_name }}_logging_conf:
   file.managed:
     - name: /etc/nova/logging/logging-{{ service_name }}.conf
-    - source: salt://nova/files/logging.conf
+    - source: salt://oslo_templates/files/logging/_logging.conf
     - template: jinja
     - user: nova
     - group: nova
@@ -117,7 +117,7 @@
     - makedirs: True
     - defaults:
         service_name: {{ service_name }}
-        values: {{ compute }}
+        _data: {{ compute.logging }}
     - watch_in:
       - service: nova_compute_services
 
diff --git a/nova/controller.sls b/nova/controller.sls
index 2fd2a92..2ea0510 100644
--- a/nova/controller.sls
+++ b/nova/controller.sls
@@ -195,7 +195,7 @@
 nova_general_logging_conf:
   file.managed:
     - name: /etc/nova/logging.conf
-    - source: salt://nova/files/logging.conf
+    - source: salt://oslo_templates/files/logging/_logging.conf
     - template: jinja
     - user: nova
     - group: nova
@@ -206,7 +206,7 @@
 {%- endif %}
     - defaults:
         service_name: nova
-        values: {{ controller }}
+        _data: {{ controller.logging }}
     - watch_in:
       - service: nova_controller_services
 
@@ -225,7 +225,7 @@
 {{ service_name }}_logging_conf:
   file.managed:
     - name: /etc/nova/logging/logging-{{ service_name }}.conf
-    - source: salt://nova/files/logging.conf
+    - source: salt://oslo_templates/files/logging/_logging.conf
     - template: jinja
     - user: nova
     - group: nova
@@ -237,7 +237,7 @@
     - makedirs: True
     - defaults:
         service_name: {{ service_name }}
-        values: {{ controller }}
+        _data: {{ controller.logging }}
     - watch_in:
       - service: nova_controller_services
 {%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
diff --git a/nova/files/logging.conf b/nova/files/logging.conf
deleted file mode 100644
index 9790fe2..0000000
--- a/nova/files/logging.conf
+++ /dev/null
@@ -1,99 +0,0 @@
-{%- set log_handlers = [] -%}
-{%- for log_handler_name, log_handler_attrs in values.logging.log_handlers.items() %}
-  {%- if log_handler_attrs.get('enabled', False) %}
-    {%- do log_handlers.append(log_handler_name) -%}
-  {%- endif %}
-{%- endfor %}
-
-[loggers]
-keys = root, nova
-
-[handlers]
-keys = {{ log_handlers | join(", ") }}
-
-[formatters]
-keys = context, default{% if values.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}, fluentd{% endif %}
-
-[logger_root]
-level = {{ values.logging.get('loggers', {}).get('root', {}).get('level', 'WARNING') }}
-handlers = {{ log_handlers | join(", ") }}
-
-[logger_nova]
-level = {{ values.logging.get('loggers', {}).get('nova', {}).get('level', 'INFO') }}
-handlers = {{ log_handlers | join(", ") }}
-qualname = nova
-propagate = 0
-
-[logger_amqp]
-level = {{ values.logging.get('loggers', {}).get('amqp', {}).get('level', 'WARNING') }}
-handlers = {{ log_handlers | join(", ") }}
-qualname = amqp
-
-[logger_amqplib]
-level = {{ values.logging.get('loggers', {}).get('amqplib', {}).get('level', 'WARNING') }}
-handlers = {{ log_handlers | join(", ") }}
-qualname = amqplib
-
-[logger_sqlalchemy]
-level = {{ values.logging.get('loggers', {}).get('sqlalchemy', {}).get('level', 'WARNING') }}
-handlers = {{ log_handlers | join(", ") }}
-qualname = sqlalchemy
-# "level = INFO" logs SQL queries.
-# "level = DEBUG" logs SQL queries and results.
-# "level = WARNING" logs neither.  (Recommended for production systems.)
-
-[logger_boto]
-level = {{ values.logging.get('loggers', {}).get('boto', {}).get('level', 'WARNING') }}
-handlers = {{ log_handlers | join(", ") }}
-qualname = boto
-
-# NOTE(mikal): suds is used by the vmware driver, removing this will
-# cause many extraneous log lines for their tempest runs. Refer to
-# https://review.openstack.org/#/c/219225/ for details.
-[logger_suds]
-level = {{ values.logging.get('loggers', {}).get('suds', {}).get('level', 'INFO') }}
-handlers = {{ log_handlers | join(", ") }}
-qualname = suds
-
-[logger_eventletwsgi]
-level = {{ values.logging.get('loggers', {}).get('eventletwsgi', {}).get('level', 'WARNING') }}
-handlers = {{ log_handlers | join(", ") }}
-qualname = eventlet.wsgi.server
-
-{% if values.logging.log_handlers.get('fluentd').get('enabled', False) -%}
-[handler_fluentd]
-class = fluent.handler.FluentHandler
-args = ('openstack.{{ service_name | replace("-", ".", 1) }}', 'localhost', 24224)
-formatter = fluentd
-{%- endif %}
-
-{% if values.logging.log_handlers.watchedfile.enabled -%}
-[handler_watchedfile]
-class = handlers.WatchedFileHandler
-args = ('/var/log/nova/{{ service_name }}.log',)
-formatter = context
-{%- endif %}
-
-{% if values.logging.log_handlers.get('ossyslog', {}).get('enabled', False) -%}
-{%- set ossyslog_args = values.logging.log_handlers.ossyslog.get('args', {}) -%}
-[handler_ossyslog]
-class = oslo_log.handlers.OSSysLogHandler
-# the OSSysLogHandler uses 'syslog' lib, where the LOG_* facilities are already *8
-# but in the context where the args are evaluated we have access only to Python's
-# handlers.SysLogHandler.LOG_* constants that _ARE_NOT_ multiplied by 8.
-# To not have a completely magic single int in the rendered template,
-# we multiply it here.
-args = ( 8 * handlers.SysLogHandler.{{ ossyslog_args.get('facility', 'LOG_USER') }}, )
-formatter = context
-{%- endif %}
-
-[formatter_context]
-class = oslo_log.formatters.ContextFormatter
-
-[formatter_default]
-format = %(message)s
-
-{% if values.logging.log_handlers.get('fluentd').get('enabled', False) -%}
-[formatter_fluentd]
-class = oslo_log.formatters.FluentFormatter
-{%- endif %}
diff --git a/nova/map.jinja b/nova/map.jinja
index 29ad4fb..bc7c9d1 100644
--- a/nova/map.jinja
+++ b/nova/map.jinja
@@ -42,6 +42,7 @@
           'enabled': false
         },
         'logging': {
+          'app_name': 'nova',
           'log_appender': false,
           'log_handlers': {
             'watchedfile': {
@@ -77,6 +78,7 @@
           'enabled': false
         },
         'logging': {
+          'app_name': 'nova',
           'log_appender': false,
           'log_handlers': {
             'watchedfile': {
@@ -190,6 +192,7 @@
     zmq_linger: 30
     rpc_response_timeout: 3600
   logging:
+    app_name: 'nova'
     log_appender: false
     log_handlers:
       watchedfile:
@@ -239,6 +242,7 @@
     zmq_linger: 30
     rpc_response_timeout: 3600
   logging:
+    app_name: 'nova'
     log_appender: false
     log_handlers:
       watchedfile: