root / snf-cyclades-app / synnefo / app_settings / default / ui.py @ f15bf3d9
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 | } |