Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / app_settings / default / ui.py @ 02f0cf8a

History | View | Annotate | Download (6.6 kB)

1 1277fb19 Vangelis Koukis
# -*- coding: utf-8 -*-
2 1277fb19 Vangelis Koukis
#
3 1277fb19 Vangelis Koukis
# UI settings
4 1277fb19 Vangelis Koukis
###################
5 1277fb19 Vangelis Koukis
6 30b6f316 Kostas Papadimitriou
# API URL
7 30b6f316 Kostas Papadimitriou
COMPUTE_API_URL = '/api/v1.1'
8 30b6f316 Kostas Papadimitriou
9 7970aa87 Kostas Papadimitriou
# base url for ui static files
10 04a38bd0 Kostas Papadimitriou
# if not set, defaults to MEDIA_URL + 'snf-<latest_ui_version>/'
11 6f284708 Kostas Papadimitriou
UI_MEDIA_URL = '/static/ui/static/snf/'
12 7970aa87 Kostas Papadimitriou
13 1277fb19 Vangelis Koukis
# UI requests to the API layer time out after that many milliseconds
14 1277fb19 Vangelis Koukis
TIMEOUT = 10 * 1000
15 1277fb19 Vangelis Koukis
16 1277fb19 Vangelis Koukis
# A list of suggested server tags (server metadata keys)
17 1277fb19 Vangelis Koukis
DEFAULT_KEYWORDS = ["OS", "Role", "Location", "Owner"]
18 1277fb19 Vangelis Koukis
19 1277fb19 Vangelis Koukis
# A list of allowed icons for OS Images
20 1277fb19 Vangelis Koukis
IMAGE_ICONS = ["redhat", "ubuntu", "debian", "windows", "gentoo", "archlinux",
21 1277fb19 Vangelis Koukis
               "centos", "fedora", "freebsd", "netbsd", "openbsd", "slackware",
22 6ee2466c Kostas Papadimitriou
               "suse", "kubuntu"]
23 6fb884b2 Christodoulos Psaltis
24 6fb884b2 Christodoulos Psaltis
# How often should the UI request changes from the API
25 1cc6e94f Kostas Papadimitriou
UI_UPDATE_INTERVAL = 5000
26 1cc6e94f Kostas Papadimitriou
27 1cc6e94f Kostas Papadimitriou
# Milieconds to increase the interval after UI_UPDATE_INTERVAL_INCREASE_AFTER_CALLS_COUNT calls
28 1cc6e94f Kostas Papadimitriou
# of recurrent api requests
29 1cc6e94f Kostas Papadimitriou
UI_UPDATE_INTERVAL_INCREASE = UI_UPDATE_INTERVAL / 4
30 1cc6e94f Kostas Papadimitriou
UI_UPDATE_INTERVAL_INCREASE_AFTER_CALLS_COUNT = 4
31 1cc6e94f Kostas Papadimitriou
32 1cc6e94f Kostas Papadimitriou
# Maximum update interval
33 1cc6e94f Kostas Papadimitriou
UI_UPDATE_INTERVAL_MAX = UI_UPDATE_INTERVAL * 3
34 1cc6e94f Kostas Papadimitriou
35 1cc6e94f Kostas Papadimitriou
# Fast update interval
36 1cc6e94f Kostas Papadimitriou
UI_UPDATE_INTERVAL_FAST = UI_UPDATE_INTERVAL / 2
37 faf5ddde Kostas Papadimitriou
38 6de7fde5 Kostas Papadimitriou
# Miliseconds to remove from the previous server response time used in
39 6de7fde5 Kostas Papadimitriou
# consecutive API calls (aligning changes-since attribute).
40 6de7fde5 Kostas Papadimitriou
UI_CHANGES_SINCE_ALIGNMENT = 0
41 6de7fde5 Kostas Papadimitriou
42 515b3e04 Kostas Papadimitriou
# How often to check for user usage changes
43 515b3e04 Kostas Papadimitriou
UI_QUOTAS_UPDATE_INTERVAL = 10000
44 515b3e04 Kostas Papadimitriou
45 faf5ddde Kostas Papadimitriou
# List of emails used for sending the feedback messages to (following the ADMINS format)
46 faf5ddde Kostas Papadimitriou
FEEDBACK_CONTACTS = (
47 faf5ddde Kostas Papadimitriou
    # ('Contact Name', 'contact_email@domain.com'),
48 faf5ddde Kostas Papadimitriou
)
49 faf5ddde Kostas Papadimitriou
50 faf5ddde Kostas Papadimitriou
# Email from which the feedback emails will be sent from
51 25a7762e Vangelis Koukis
FEEDBACK_EMAIL_FROM = "~okeanos <no-reply@grnet.gr>"
52 dacd179a Kostas Papadimitriou
53 85f1cd1e Kostas Papadimitriou
# URL to redirect not authenticated users
54 85f1cd1e Kostas Papadimitriou
UI_LOGIN_URL = "/im/login"
55 85f1cd1e Kostas Papadimitriou
56 85f1cd1e Kostas Papadimitriou
# URL to redirect user to when he logs out from the ui
57 85f1cd1e Kostas Papadimitriou
UI_LOGOUT_URL = "/im/logout"
58 e0dea91a Kostas Papadimitriou
59 4be78dec Kostas Papadimitriou
# Cookie name to retrieve authentication data from
60 4be78dec Kostas Papadimitriou
UI_AUTH_COOKIE_NAME = '_pithos2_a'
61 4be78dec Kostas Papadimitriou
62 04a38bd0 Kostas Papadimitriou
# Flavor options that we provide to the user as predefined
63 66be390b Kostas Papadimitriou
# cpu/ram/disk combinations on vm create wizard
64 66be390b Kostas Papadimitriou
VM_CREATE_SUGGESTED_FLAVORS = {
65 e0dea91a Kostas Papadimitriou
    'small': {
66 e0dea91a Kostas Papadimitriou
        'cpu': 1,
67 e0dea91a Kostas Papadimitriou
        'ram': 1024,
68 d965e6dc Kostas Papadimitriou
        'disk': 20,
69 d965e6dc Kostas Papadimitriou
        'disk_template': 'drbd'
70 e0dea91a Kostas Papadimitriou
    },
71 e0dea91a Kostas Papadimitriou
    'medium': {
72 e0dea91a Kostas Papadimitriou
        'cpu': 2,
73 e0dea91a Kostas Papadimitriou
        'ram': 2048,
74 d965e6dc Kostas Papadimitriou
        'disk': 30,
75 d965e6dc Kostas Papadimitriou
        'disk_template': 'drbd'
76 d965e6dc Kostas Papadimitriou
77 e0dea91a Kostas Papadimitriou
    },
78 e0dea91a Kostas Papadimitriou
    'large': {
79 e0dea91a Kostas Papadimitriou
        'cpu': 4,
80 e0dea91a Kostas Papadimitriou
        'ram': 4096,
81 d965e6dc Kostas Papadimitriou
        'disk': 40,
82 d965e6dc Kostas Papadimitriou
        'disk_template': 'drbd'
83 d965e6dc Kostas Papadimitriou
84 e0dea91a Kostas Papadimitriou
    }
85 e0dea91a Kostas Papadimitriou
}
86 bcd451ea Kostas Papadimitriou
87 bcd451ea Kostas Papadimitriou
# A list of metadata keys to clone from image
88 bcd451ea Kostas Papadimitriou
# to the virtual machine on its creation.
89 ebf4619d Kostas Papadimitriou
VM_IMAGE_COMMON_METADATA = ["OS", "loginname", "logindomain", "users", "remote"]
90 66be390b Kostas Papadimitriou
91 66be390b Kostas Papadimitriou
# A list of suggested vm roles to display to user on create wizard
92 66be390b Kostas Papadimitriou
VM_CREATE_SUGGESTED_ROLES = ["Database server", "File server", "Mail server", "Web server", "Proxy"]
93 66be390b Kostas Papadimitriou
94 c130b56e Kostas Papadimitriou
# Template to be used for suggesting the user a default name for newly created
95 1a97a220 Kostas Papadimitriou
# vms. {0} gets replaced by the image OS value
96 c130b56e Kostas Papadimitriou
VM_CREATE_NAME_TPL = "My {0} server"
97 c130b56e Kostas Papadimitriou
98 3796f345 Kostas Papadimitriou
# Template to use to build vm hostname
99 3796f345 Kostas Papadimitriou
UI_VM_HOSTNAME_FORMAT = 'snf-%(id)s.vm.okeanos.grnet.gr'
100 3796f345 Kostas Papadimitriou
101 51bffc84 Kostas Papadimitriou
# Name/description metadata for the available flavor disk templates
102 51bffc84 Kostas Papadimitriou
# Dict key is the disk_template value as stored in database
103 d965e6dc Kostas Papadimitriou
UI_FLAVORS_DISK_TEMPLATES_INFO = {
104 d965e6dc Kostas Papadimitriou
    'drbd': {'name': 'DRBD',
105 d965e6dc Kostas Papadimitriou
             'description': 'DRBD storage.'},
106 d965e6dc Kostas Papadimitriou
}
107 d965e6dc Kostas Papadimitriou
108 3796f345 Kostas Papadimitriou
# Override default connect prompt messages. The setting gets appended to the
109 3796f345 Kostas Papadimitriou
# ui default values so you only need to modify parameters you need to alter.
110 3796f345 Kostas Papadimitriou
#
111 3796f345 Kostas Papadimitriou
# Indicative format:
112 3796f345 Kostas Papadimitriou
# {
113 3796f345 Kostas Papadimitriou
#    '<browser os1>': {
114 3796f345 Kostas Papadimitriou
#        '<vm os family1>': ['top message....', 'bottom message'],
115 3796f345 Kostas Papadimitriou
#        '<vm os family 2>': ['top message....', 'bottom message'],
116 3796f345 Kostas Papadimitriou
#        'ssh_message': 'ssh %(user)s@%(hostname)s'
117 3796f345 Kostas Papadimitriou
# }
118 3796f345 Kostas Papadimitriou
#
119 3796f345 Kostas Papadimitriou
# you may use the following parameters to format ssh_message:
120 3796f345 Kostas Papadimitriou
#
121 3796f345 Kostas Papadimitriou
# * server_id: the database pk of the vm
122 3796f345 Kostas Papadimitriou
# * ip_address: the ipv4 address of the public vm nic
123 3796f345 Kostas Papadimitriou
# * hostname: vm hostname
124 3796f345 Kostas Papadimitriou
# * user: vm username
125 3796f345 Kostas Papadimitriou
#
126 3796f345 Kostas Papadimitriou
# you may assign a callable python object to the ssh_message, if so the above
127 3796f345 Kostas Papadimitriou
# parameters get passed as arguments to the provided object.
128 3796f345 Kostas Papadimitriou
UI_CONNECT_PROMPT_MESSAGES = {}
129 3796f345 Kostas Papadimitriou
130 3796f345 Kostas Papadimitriou
# extend rdp file content. May be a string with format parameters similar to
131 3796f345 Kostas Papadimitriou
# those used in UI_CONNECT_PROMPT_MESSAGES `ssh_message` or a callable object.
132 3796f345 Kostas Papadimitriou
UI_EXTRA_RDP_CONTENT = None
133 3796f345 Kostas Papadimitriou
134 1faf0b9c Kostas Papadimitriou
135 66be390b Kostas Papadimitriou
#######################
136 66be390b Kostas Papadimitriou
# UI BEHAVIOUR SETTINGS
137 66be390b Kostas Papadimitriou
#######################
138 66be390b Kostas Papadimitriou
139 66be390b Kostas Papadimitriou
# Whether to increase the time of recurrent requests (networks/vms update) if
140 04a38bd0 Kostas Papadimitriou
# window loses its focus
141 66be390b Kostas Papadimitriou
UI_DELAY_ON_BLUR = False
142 66be390b Kostas Papadimitriou
143 04a38bd0 Kostas Papadimitriou
# Whether not visible vm views will update their content if vm changes
144 66be390b Kostas Papadimitriou
UI_UPDATE_HIDDEN_VIEWS = False
145 66be390b Kostas Papadimitriou
146 66be390b Kostas Papadimitriou
# After how many timeouts of reccurent ajax requests to display the timeout
147 66be390b Kostas Papadimitriou
# error overlay
148 66be390b Kostas Papadimitriou
UI_SKIP_TIMEOUTS = 1
149 66be390b Kostas Papadimitriou
150 66be390b Kostas Papadimitriou
# Whether UI should display error overlay for all Javascript exceptions
151 66be390b Kostas Papadimitriou
UI_HANDLE_WINDOW_EXCEPTIONS = True
152 66be390b Kostas Papadimitriou
153 5db5b149 Kostas Papadimitriou
# A list of os names that support ssh public key assignment
154 126a01f2 Kostas Papadimitriou
UI_SUPPORT_SSH_OS_LIST = ['debian', 'fedora', 'okeanos', 'ubuntu', 'kubuntu',
155 126a01f2 Kostas Papadimitriou
                          'centos', 'archlinux']
156 5db5b149 Kostas Papadimitriou
157 5db5b149 Kostas Papadimitriou
# OS/username map to identify default user name for the specified os
158 5db5b149 Kostas Papadimitriou
UI_OS_DEFAULT_USER_MAP = {
159 04a38bd0 Kostas Papadimitriou
    'debian':'root', 'fedora': 'root', 'okeanos': 'root',
160 04a38bd0 Kostas Papadimitriou
    'ubuntu': 'root', 'kubuntu': 'root', 'centos': 'root',
161 5db5b149 Kostas Papadimitriou
    'windows': 'Administrator'
162 5db5b149 Kostas Papadimitriou
}
163 30b6f316 Kostas Papadimitriou
164 126a01f2 Kostas Papadimitriou
##########################
165 126a01f2 Kostas Papadimitriou
# UI NETWORK VIEW SETTINGS
166 126a01f2 Kostas Papadimitriou
##########################
167 126a01f2 Kostas Papadimitriou
168 126a01f2 Kostas Papadimitriou
# Available network types for use to choose when creating a private network
169 126a01f2 Kostas Papadimitriou
# If only one set, no select options will be displayed
170 b7d38981 Dimitris Aragiorgis
UI_NETWORK_AVAILABLE_NETWORK_TYPES = {'MAC_FILTERED': 'mac-filtering'}
171 126a01f2 Kostas Papadimitriou
172 126a01f2 Kostas Papadimitriou
# Suggested private networks to let the user choose from when creating a private
173 126a01f2 Kostas Papadimitriou
# network with dhcp enabled
174 54e31bb3 Christos Stavrakakis
UI_NETWORK_AVAILABLE_SUBNETS = ['10.0.0.0/24', '192.168.0.0/24']
175 126a01f2 Kostas Papadimitriou
176 29cf98c9 Kostas Papadimitriou
# UI will use this setting to find an available network subnet if user requests
177 29cf98c9 Kostas Papadimitriou
# automatic subnet selection.
178 29cf98c9 Kostas Papadimitriou
UI_AUTOMATIC_NETWORK_RANGE_FORMAT = "192.168.%d.0/24"
179 29cf98c9 Kostas Papadimitriou
180 126a01f2 Kostas Papadimitriou
# Whether to display already connected vm's to the network connect overlay
181 126a01f2 Kostas Papadimitriou
UI_NETWORK_ALLOW_DUPLICATE_VM_NICS = False
182 126a01f2 Kostas Papadimitriou
183 126a01f2 Kostas Papadimitriou
# Whether to display destroy action on private networks that contain vms. If
184 126a01f2 Kostas Papadimitriou
# set to True, destroy action will only get displayed if user disconnect all
185 126a01f2 Kostas Papadimitriou
# virtual machines from the network.
186 d89de077 Kostas Papadimitriou
UI_NETWORK_STRICT_DESTROY = True
187 126a01f2 Kostas Papadimitriou
188 3635e7ac Kostas Papadimitriou
# Whether or not to group public networks nics in a single network view
189 3635e7ac Kostas Papadimitriou
UI_GROUP_PUBLIC_NETWORKS = True
190 3635e7ac Kostas Papadimitriou
191 3635e7ac Kostas Papadimitriou
# The name of the grouped network view
192 40e5d2d2 Kostas Papadimitriou
UI_GROUPED_PUBLIC_NETWORK_NAME = 'Internet'
193 3635e7ac Kostas Papadimitriou
194 30b6f316 Kostas Papadimitriou
195 30b6f316 Kostas Papadimitriou
###############
196 30b6f316 Kostas Papadimitriou
# UI EXTENSIONS
197 30b6f316 Kostas Papadimitriou
###############
198 30b6f316 Kostas Papadimitriou
199 ae8cb3d5 Kostas Papadimitriou
# Glance images API endpoint
200 30b6f316 Kostas Papadimitriou
UI_GLANCE_API_URL = '/plankton'
201 ae8cb3d5 Kostas Papadimitriou
202 ae8cb3d5 Kostas Papadimitriou
# Whether or not UI should display images from the Glance API
203 ae8cb3d5 Kostas Papadimitriou
# set in UI_GLANCE_API_URL, if setting is set to False, ui will
204 ae8cb3d5 Kostas Papadimitriou
# request images from Compute API
205 ae8cb3d5 Kostas Papadimitriou
UI_ENABLE_GLANCE = True
206 1faf0b9c Kostas Papadimitriou
207 1faf0b9c Kostas Papadimitriou
# a dict of image owner ids and their associate name
208 1faf0b9c Kostas Papadimitriou
# to be displayed on images list
209 1faf0b9c Kostas Papadimitriou
UI_SYSTEM_IMAGES_OWNERS = {
210 1faf0b9c Kostas Papadimitriou
    'admin@synnefo.gr': 'system',
211 1faf0b9c Kostas Papadimitriou
    'images@synnefo.gr': 'system'
212 1faf0b9c Kostas Papadimitriou
}