added syslog functionality
This commit is contained in:
parent
8c8f33f099
commit
fcd2e96b04
|
@ -26,6 +26,12 @@ options:
|
|||
description: |
|
||||
Default role for Horizon operations that will be created in
|
||||
Keystone upon introduction of an identity-service relation.
|
||||
use-syslog:
|
||||
type: boolean
|
||||
default: False
|
||||
description: |
|
||||
By default, all services will log into their corresponding log files.
|
||||
Setting this to True will force all services to log to the syslog.
|
||||
vip:
|
||||
type: string
|
||||
description: "Virtual IP to use to front openstack dashboard ha configuration"
|
||||
|
|
|
@ -80,7 +80,8 @@ class HorizonContext(OSContextGenerator):
|
|||
'default_role': config('default-role'),
|
||||
"webroot": config('webroot'),
|
||||
"ubuntu_theme": config('ubuntu-theme') in ['yes', True],
|
||||
"secret": config('secret') or pwgen()
|
||||
"secret": config('secret') or pwgen(),
|
||||
"use_syslog": config('use-syslog')
|
||||
}
|
||||
return ctxt
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import os
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from openstack_dashboard import exceptions
|
||||
{% if use_syslog %}
|
||||
from logging.handlers import SysLogHandler
|
||||
{% endif %}
|
||||
|
||||
DEBUG = {{ debug }}
|
||||
TEMPLATE_DEBUG = DEBUG
|
||||
|
@ -176,6 +178,13 @@ LOGGING = {
|
|||
'level': 'DEBUG',
|
||||
'class': 'django.utils.log.NullHandler',
|
||||
},
|
||||
{% if use_syslog %}
|
||||
'syslog': {
|
||||
'level': 'INFO',
|
||||
'class': 'logging.handlers.SysLogHandler'
|
||||
'formatter': 'verbose'
|
||||
}
|
||||
{% endif %}
|
||||
'console': {
|
||||
# Set the level to "DEBUG" for verbose output logging.
|
||||
'level': 'INFO',
|
||||
|
@ -194,27 +203,51 @@ LOGGING = {
|
|||
'propagate': False,
|
||||
},
|
||||
'horizon': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'openstack_dashboard': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'novaclient': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'keystoneclient': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'glanceclient': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'nose.plugins.manager': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
import os
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
{% if use_syslog %}
|
||||
from logging.handlers import SysLogHandler
|
||||
{% endif %}
|
||||
|
||||
from openstack_dashboard import exceptions
|
||||
|
||||
|
@ -248,6 +251,13 @@ LOGGING = {
|
|||
'level': 'INFO',
|
||||
'class': 'logging.StreamHandler',
|
||||
},
|
||||
{% if use_syslog %}
|
||||
'syslog': {
|
||||
'level': 'INFO',
|
||||
'class': 'logging.handlers.SysLogHandler'
|
||||
'formatter': 'verbose'
|
||||
}
|
||||
{% endif %}
|
||||
},
|
||||
'loggers': {
|
||||
# Logging from django.db.backends is VERY verbose, send to null
|
||||
|
@ -261,35 +271,67 @@ LOGGING = {
|
|||
'propagate': False,
|
||||
},
|
||||
'horizon': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'openstack_dashboard': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'novaclient': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'cinderclient': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'keystoneclient': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'glanceclient': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'heatclient': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
},
|
||||
'nose.plugins.manager': {
|
||||
{% if use_syslog %}
|
||||
'handlers': ['syslog'],
|
||||
{% else %}
|
||||
'handlers': ['console'],
|
||||
{% endif %}
|
||||
'propagate': False,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -78,42 +78,48 @@ class TestHorizonContexts(CharmTestCase):
|
|||
self.assertEquals(horizon_contexts.HorizonContext()(),
|
||||
{'compress_offline': True, 'debug': False,
|
||||
'default_role': 'Member', 'webroot': '/horizon',
|
||||
'ubuntu_theme': True, 'secret': 'secret'})
|
||||
'ubuntu_theme': True, 'use_syslog': False,
|
||||
'secret': 'secret'})
|
||||
|
||||
def test_HorizonContext_debug(self):
|
||||
self.test_config.set('debug', 'yes')
|
||||
self.assertEquals(horizon_contexts.HorizonContext()(),
|
||||
{'compress_offline': True, 'debug': True,
|
||||
'default_role': 'Member', 'webroot': '/horizon',
|
||||
'ubuntu_theme': True, 'secret': 'secret'})
|
||||
'ubuntu_theme': True, 'use_syslog': False,
|
||||
'secret': 'secret'})
|
||||
|
||||
def test_HorizonContext_theme(self):
|
||||
self.test_config.set('ubuntu-theme', False)
|
||||
self.assertEquals(horizon_contexts.HorizonContext()(),
|
||||
{'compress_offline': True, 'debug': False,
|
||||
'default_role': 'Member', 'webroot': '/horizon',
|
||||
'ubuntu_theme': False, 'secret': 'secret'})
|
||||
'ubuntu_theme': False, 'use_syslog': False,
|
||||
'secret': 'secret'})
|
||||
|
||||
def test_HorizonContext_compression(self):
|
||||
self.test_config.set('offline-compression', 'no')
|
||||
self.assertEquals(horizon_contexts.HorizonContext()(),
|
||||
{'compress_offline': False, 'debug': False,
|
||||
'default_role': 'Member', 'webroot': '/horizon',
|
||||
'ubuntu_theme': True, 'secret': 'secret'})
|
||||
'ubuntu_theme': True, 'use_syslog': False,
|
||||
'secret': 'secret'})
|
||||
|
||||
def test_HorizonContext_role(self):
|
||||
self.test_config.set('default-role', 'foo')
|
||||
self.assertEquals(horizon_contexts.HorizonContext()(),
|
||||
{'compress_offline': True, 'debug': False,
|
||||
'default_role': 'foo', 'webroot': '/horizon',
|
||||
'ubuntu_theme': True, 'secret': 'secret'})
|
||||
'ubuntu_theme': True, 'use_syslog': False,
|
||||
'secret': 'secret'})
|
||||
|
||||
def test_HorizonContext_webroot(self):
|
||||
self.test_config.set('webroot', '/')
|
||||
self.assertEquals(horizon_contexts.HorizonContext()(),
|
||||
{'compress_offline': True, 'debug': False,
|
||||
'default_role': 'Member', 'webroot': '/',
|
||||
'ubuntu_theme': True, 'secret': 'secret'})
|
||||
'ubuntu_theme': True, 'use_syslog': False,
|
||||
'secret': 'secret'})
|
||||
|
||||
def test_IdentityServiceContext_not_related(self):
|
||||
self.relation_ids.return_value = []
|
||||
|
|
Loading…
Reference in New Issue