add config file option to disable monitor
[plstackapi.git] / planetstack / planetstack / settings.py
index 7593650..f7f151b 100644 (file)
@@ -1,9 +1,12 @@
 from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
+from django import VERSION as DJANGO_VERSION
 
 # Django settings for planetstack project.
 from config import Config
 config = Config()
 
+GEOIP_PATH = "/usr/share/GeoIP"
 DEBUG = True
 TEMPLATE_DEBUG = DEBUG
 
@@ -11,6 +14,8 @@ ADMINS = (
     # ('Your Name', 'your_email@example.com'),
 )
 
+LOGIN_REDIRECT_URL = '/admin/core/user'
+
 MANAGERS = ADMINS
 
 DATABASES = {
@@ -57,12 +62,12 @@ USE_TZ = True
 
 # Absolute filesystem path to the directory that will hold user-uploaded files.
 # Example: "/var/www/example.com/media/"
-MEDIA_ROOT = ''
+MEDIA_ROOT = '/var/www/html/files/'
 
 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
 # trailing slash.
 # Examples: "http://example.com/media/", "http://media.example.com/"
-MEDIA_URL = ''
+MEDIA_URL = '/files/'
 
 # Absolute path to the directory static files should be collected to.
 # Don't put anything in this directory yourself; store your static files
@@ -76,6 +81,7 @@ STATIC_URL = '/static/'
 
 # Additional locations of static files
 STATICFILES_DIRS = ( "/opt/planetstack/core/static/",
+                     "/opt/planetstack/core/xoslib/static/",
     # Put strings here, like "/home/html/static" or "C:/www/django/static".
     # Always use forward slashes, even on Windows.
     # Don't forget to use absolute paths, not relative paths.
@@ -105,6 +111,7 @@ MIDDLEWARE_CLASSES = (
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
+    'core.middleware.GlobalRequestMiddleware',
     # Uncomment the next line for simple clickjacking protection:
     # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 )
@@ -118,7 +125,8 @@ TEMPLATE_DIRS = (
     # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
     # Always use forward slashes, even on Windows.
     # Don't forget to use absolute paths, not relative paths.
-    "/opt/planetstack/templates"
+    "/opt/planetstack/templates",
+    "/opt/planetstack/core/xoslib/templates",    
 )
 
 INSTALLED_APPS = (
@@ -138,19 +146,33 @@ INSTALLED_APPS = (
     'django_evolution',
     'core',
     'hpc',
+    'requestrouter',
+    'cassandra',
+    'kairos',
+    'nagios',
+#    'urlfilter',
+    'servcomp',
+    'syndicate_storage',
     'geoposition',
 )
 
+if DJANGO_VERSION[1]>=7:
+    # if django >= 1.7, then remove evolution and change the admin module
+    INSTALLED_APPS = list(INSTALLED_APPS)
+    INSTALLED_APPS[INSTALLED_APPS.index('django.contrib.admin')] = 'django.contrib.admin.apps.SimpleAdminConfig'
+    INSTALLED_APPS.remove('django_evolution')
+    INSTALLED_APPS = tuple(INSTALLED_APPS)
 
 # Added for django-suit form 
 TEMPLATE_CONTEXT_PROCESSORS = TCP + (
     'django.core.context_processors.request',
+    'core.context_processors.planetstack',
 )
 
 # Django Suit configuration example
 SUIT_CONFIG = {
     # header
-    'ADMIN_NAME': 'PlanetStack',
+    'ADMIN_NAME': 'OpenCloud',
     # 'HEADER_DATE_FORMAT': 'l, j. F Y',
     # 'HEADER_TIME_FORMAT': 'H:i',
 
@@ -165,14 +187,48 @@ SUIT_CONFIG = {
     #    'auth': 'icon-lock',
     # },
     # 'MENU_OPEN_FIRST_CHILD': True, # Default True
-    'MENU_EXCLUDE': ('auth.group','auth'),
-    'MENU': (
+    'MENU_EXCLUDE': (
+         'auth.group',
+         'auth', 
+         'core.network',
+         'core.sliver',
+         'core.node',
+         'core.image',
+         'core.deploymentrole',
+         'core.siterole',
+         'core.slicerole',
+         'core.planetstackrole',
+         'core.networktemplate',
+         'core.networkparametertype',
+         'core.router',
+         'core.tag',
+         'core.account',
+         'core.invoice',
+         'core.serviceclass',
     ),
+    'MENU': (
+        #{'app': 'core', 'icon':'icon-lock'},
+        #{'app': 'core', 'icon': 'icon-lock', 'models': ('core.site', 'core.deployment', 'core.service', 'core.slice', 'core.user', 'core.reservation', 'core.account', 'core.invoice', 'core.payment', 'core.usableobject')},
+        {'label': 'Deployments', 'icon':'icon-deployment', 'url': '/admin/core/deployment/'},
+        {'label': 'Sites', 'icon':'icon-site', 'url': '/admin/core/site/'},
+        {'label': 'Slices', 'icon':'icon-slice', 'url': '/admin/core/slice/'},
+        {'label': 'Users', 'icon':'icon-user', 'url': '/admin/core/user/'},
+        {'label': 'RequestRouter', 'icon':'icon-cog', 'app': 'requestrouter'},
+        {'label': 'HyperCache', 'icon':'icon-cog', 'app': 'hpc'},
+        {'label': 'Syndicate', 'icon':'icon-cog', 'app': 'syndicate_storage'},
+#        {'label': 'Cassandra', 'icon':'icon-cog', 'app': 'cassandra'},
+#        {'label': 'KairosDB', 'icon':'icon-cog', 'app': 'kairos'},
+#        {'label': 'Nagios', 'icon':'icon-cog', 'app': 'nagios'},
+#       {'label': 'URL Filter', 'icon': 'icon-cog', 'app': 'urlfilter'},
+       {'label': 'Service Comp', 'icon': 'icon-cog', 'app': 'servcomp'},
+
+        #{'label': 'Configured Services', 'icon':'icon-cog', 'models': [{'label': 'Content Delivery Network', 'app':'hpc'}]},
     #     'sites',
     #     {'app': 'auth', 'icon':'icon-lock', 'models': ('user', 'group')},
-    #     {'label': 'Settings', 'icon':'icon-cog', 'models': ('auth.user', 'auth.group')},
     #     {'label': 'Support', 'icon':'icon-question-sign', 'url': '/support/'},
+    #   {'label': 'Settings', 'icon':'icon-cog', 'models': ('core.user', 'core.site')},
     # ),
+    ),
 
     # misc
     # 'LIST_PER_PAGE': 15
@@ -206,3 +262,14 @@ LOGGING = {
         },
     }
 }
+
+BIGQUERY_TABLE = getattr(config, "bigquery_table", "demoevents")
+
+DISABLE_MINIDASHBOARD = getattr(config, "gui_disable_minidashboard", False)
+ENCRYPTED_FIELDS_KEYDIR = '/opt/planetstack/private_keys'
+ENCRYPTED_FIELD_MODE = 'ENCRYPT'
+
+STATISTICS_DRIVER = getattr(config, "statistics_driver", "ceilometer")
+
+# prevents warnings on django 1.7                                                                                                 
+TEST_RUNNER = 'django.test.runner.DiscoverRunner'