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