Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / app_settings / default / ui.py @ 515b3e04

History | View | Annotate | Download (6.6 kB)

1
# -*- coding: utf-8 -*-
2
#
3
# UI settings
4
###################
5

    
6
# API URL
7
COMPUTE_API_URL = '/api/v1.1'
8

    
9
# base url for ui static files
10
# if not set, defaults to MEDIA_URL + 'snf-<latest_ui_version>/'
11
UI_MEDIA_URL = '/static/ui/static/snf/'
12

    
13
# UI requests to the API layer time out after that many milliseconds
14
TIMEOUT = 10 * 1000
15

    
16
# A list of suggested server tags (server metadata keys)
17
DEFAULT_KEYWORDS = ["OS", "Role", "Location", "Owner"]
18

    
19
# A list of allowed icons for OS Images
20
IMAGE_ICONS = ["redhat", "ubuntu", "debian", "windows", "gentoo", "archlinux",
21
               "centos", "fedora", "freebsd", "netbsd", "openbsd", "slackware",
22
               "suse", "kubuntu"]
23

    
24
# How often should the UI request changes from the API
25
UI_UPDATE_INTERVAL = 5000
26

    
27
# Milieconds to increase the interval after UI_UPDATE_INTERVAL_INCREASE_AFTER_CALLS_COUNT calls
28
# of recurrent api requests
29
UI_UPDATE_INTERVAL_INCREASE = UI_UPDATE_INTERVAL / 4
30
UI_UPDATE_INTERVAL_INCREASE_AFTER_CALLS_COUNT = 4
31

    
32
# Maximum update interval
33
UI_UPDATE_INTERVAL_MAX = UI_UPDATE_INTERVAL * 3
34

    
35
# Fast update interval
36
UI_UPDATE_INTERVAL_FAST = UI_UPDATE_INTERVAL / 2
37

    
38
# Miliseconds to remove from the previous server response time used in
39
# consecutive API calls (aligning changes-since attribute).
40
UI_CHANGES_SINCE_ALIGNMENT = 0
41

    
42
# How often to check for user usage changes
43
UI_QUOTAS_UPDATE_INTERVAL = 10000
44

    
45
# List of emails used for sending the feedback messages to (following the ADMINS format)
46
FEEDBACK_CONTACTS = (
47
    # ('Contact Name', 'contact_email@domain.com'),
48
)
49

    
50
# Email from which the feedback emails will be sent from
51
FEEDBACK_EMAIL_FROM = "~okeanos <no-reply@grnet.gr>"
52

    
53
# URL to redirect not authenticated users
54
UI_LOGIN_URL = "/im/login"
55

    
56
# URL to redirect user to when he logs out from the ui
57
UI_LOGOUT_URL = "/im/logout"
58

    
59
# Cookie name to retrieve authentication data from
60
UI_AUTH_COOKIE_NAME = '_pithos2_a'
61

    
62
# Flavor options that we provide to the user as predefined
63
# cpu/ram/disk combinations on vm create wizard
64
VM_CREATE_SUGGESTED_FLAVORS = {
65
    'small': {
66
        'cpu': 1,
67
        'ram': 1024,
68
        'disk': 20,
69
        'disk_template': 'drbd'
70
    },
71
    'medium': {
72
        'cpu': 2,
73
        'ram': 2048,
74
        'disk': 30,
75
        'disk_template': 'drbd'
76

    
77
    },
78
    'large': {
79
        'cpu': 4,
80
        'ram': 4096,
81
        'disk': 40,
82
        'disk_template': 'drbd'
83

    
84
    }
85
}
86

    
87
# A list of metadata keys to clone from image
88
# to the virtual machine on its creation.
89
VM_IMAGE_COMMON_METADATA = ["OS", "loginname", "logindomain", "users", "remote"]
90

    
91
# A list of suggested vm roles to display to user on create wizard
92
VM_CREATE_SUGGESTED_ROLES = ["Database server", "File server", "Mail server", "Web server", "Proxy"]
93

    
94
# Template to be used for suggesting the user a default name for newly created
95
# vms. {0} gets replaced by the image OS value
96
VM_CREATE_NAME_TPL = "My {0} server"
97

    
98
# Template to use to build vm hostname
99
UI_VM_HOSTNAME_FORMAT = 'snf-%(id)s.vm.okeanos.grnet.gr'
100

    
101
# Name/description metadata for the available flavor disk templates
102
# Dict key is the disk_template value as stored in database
103
UI_FLAVORS_DISK_TEMPLATES_INFO = {
104
    'drbd': {'name': 'DRBD',
105
             'description': 'DRBD storage.'},
106
}
107

    
108
# Override default connect prompt messages. The setting gets appended to the
109
# ui default values so you only need to modify parameters you need to alter.
110
#
111
# Indicative format:
112
# {
113
#    '<browser os1>': {
114
#        '<vm os family1>': ['top message....', 'bottom message'],
115
#        '<vm os family 2>': ['top message....', 'bottom message'],
116
#        'ssh_message': 'ssh %(user)s@%(hostname)s'
117
# }
118
#
119
# you may use the following parameters to format ssh_message:
120
#
121
# * server_id: the database pk of the vm
122
# * ip_address: the ipv4 address of the public vm nic
123
# * hostname: vm hostname
124
# * user: vm username
125
#
126
# you may assign a callable python object to the ssh_message, if so the above
127
# parameters get passed as arguments to the provided object.
128
UI_CONNECT_PROMPT_MESSAGES = {}
129

    
130
# extend rdp file content. May be a string with format parameters similar to
131
# those used in UI_CONNECT_PROMPT_MESSAGES `ssh_message` or a callable object.
132
UI_EXTRA_RDP_CONTENT = None
133

    
134

    
135
#######################
136
# UI BEHAVIOUR SETTINGS
137
#######################
138

    
139
# Whether to increase the time of recurrent requests (networks/vms update) if
140
# window loses its focus
141
UI_DELAY_ON_BLUR = False
142

    
143
# Whether not visible vm views will update their content if vm changes
144
UI_UPDATE_HIDDEN_VIEWS = False
145

    
146
# After how many timeouts of reccurent ajax requests to display the timeout
147
# error overlay
148
UI_SKIP_TIMEOUTS = 1
149

    
150
# Whether UI should display error overlay for all Javascript exceptions
151
UI_HANDLE_WINDOW_EXCEPTIONS = True
152

    
153
# A list of os names that support ssh public key assignment
154
UI_SUPPORT_SSH_OS_LIST = ['debian', 'fedora', 'okeanos', 'ubuntu', 'kubuntu',
155
                          'centos', 'archlinux']
156

    
157
# OS/username map to identify default user name for the specified os
158
UI_OS_DEFAULT_USER_MAP = {
159
    'debian':'root', 'fedora': 'root', 'okeanos': 'root',
160
    'ubuntu': 'root', 'kubuntu': 'root', 'centos': 'root',
161
    'windows': 'Administrator'
162
}
163

    
164
##########################
165
# UI NETWORK VIEW SETTINGS
166
##########################
167

    
168
# Available network types for use to choose when creating a private network
169
# If only one set, no select options will be displayed
170
UI_NETWORK_AVAILABLE_NETWORK_TYPES = {'MAC_FILTERED': 'mac-filtering'}
171

    
172
# Suggested private networks to let the user choose from when creating a private
173
# network with dhcp enabled
174
UI_NETWORK_AVAILABLE_SUBNETS = ['10.0.0.0/24', '192.168.0.0/24']
175

    
176
# UI will use this setting to find an available network subnet if user requests
177
# automatic subnet selection.
178
UI_AUTOMATIC_NETWORK_RANGE_FORMAT = "192.168.%d.0/24"
179

    
180
# Whether to display already connected vm's to the network connect overlay
181
UI_NETWORK_ALLOW_DUPLICATE_VM_NICS = False
182

    
183
# Whether to display destroy action on private networks that contain vms. If
184
# set to True, destroy action will only get displayed if user disconnect all
185
# virtual machines from the network.
186
UI_NETWORK_STRICT_DESTROY = True
187

    
188
# Whether or not to group public networks nics in a single network view
189
UI_GROUP_PUBLIC_NETWORKS = True
190

    
191
# The name of the grouped network view
192
UI_GROUPED_PUBLIC_NETWORK_NAME = 'Internet'
193

    
194

    
195
###############
196
# UI EXTENSIONS
197
###############
198

    
199
# Glance images API endpoint
200
UI_GLANCE_API_URL = '/plankton'
201

    
202
# Whether or not UI should display images from the Glance API
203
# set in UI_GLANCE_API_URL, if setting is set to False, ui will
204
# request images from Compute API
205
UI_ENABLE_GLANCE = True
206

    
207
# a dict of image owner ids and their associate name
208
# to be displayed on images list
209
UI_SYSTEM_IMAGES_OWNERS = {
210
    'admin@synnefo.gr': 'system',
211
    'images@synnefo.gr': 'system'
212
}
213