Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / app_settings / default / ui.py @ 0c09b1c0

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