OSDN Git Service

Merge branch 'dev' of ssh://raid.local.hde.co.jp/hde/karesansui/karesansui into dev
[karesansui/karesansui.git] / karesansui / lib / const.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 #
4 # This file is part of Karesansui Core.
5 #
6 # Copyright (C) 2009-2010 HDE, Inc.
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU Lesser General Public
10 # License as published by the Free Software Foundation; either
11 # version 2.1 of the License, or (at your option) any later version.
12 #
13
14 import math
15
16 import karesansui
17
18 DEFAULT_LANGS = {"ja_JP": {'DATE_FORMAT' : ("%Y/%m/%d", "%Y/%m/%d %H:%M:%S", "yy-mm-dd")},
19                  "en_US": {'DATE_FORMAT' : ("%m/%d/%Y", "%m/%d/%Y %H:%M:%S", "mm-dd-yy")},
20                  }
21 """<comment-ja>
22 DATE_FORMAT
23  - [年月日, 年月日時分秒, jquery.ui.datepicker,]
24 </comment-ja>
25 <comment-en>
26 TODO: English Comment
27 </comment-en>
28 """
29
30 # define karesansui paths & users
31 KARESANSUI_USER  = "kss"
32 KARESANSUI_GROUP = "kss"
33 KARESANSUI_PREFIX = "/opt/karesansui"
34 KARESANSUI_TMP_DIR     = KARESANSUI_PREFIX + "/tmp"
35 KARESANSUI_SYSCONF_DIR = "/etc/opt/karesansui"
36 KARESANSUI_DATA_DIR    = "/var/opt/karesansui"
37
38 MACHINE_ATTRIBUTE = {'HOST':0,
39                      'GUEST':1,
40                     }
41 MACHINE_HYPERVISOR = {'REAL':0,
42                       'XEN':1,
43                       'KVM':2,
44                      }
45
46 # define vendor paths
47 VENDOR_PREFIX      = "/opt/hde"
48 VENDOR_BIN_DIR     = VENDOR_PREFIX + "/bin"
49 VENDOR_SBIN_DIR    = VENDOR_PREFIX + "/sbin"
50 VENDOR_SYSCONF_DIR = "/etc/opt/hde"
51 VENDOR_DATA_DIR    = "/var/opt/hde"
52 VENDOR_DATA_ISCSI_DIR = VENDOR_DATA_DIR + "/iscsi"
53 VENDOR_DATA_ISCSI_MOUNT_DIR = VENDOR_DATA_ISCSI_DIR + "/mount"
54 VENDOR_DATA_ISCSI_DOMAINS_DIR = VENDOR_DATA_ISCSI_DIR + "/domains"
55 VENDOR_LIBVIRT_RUN_DIR = "/var/run/hde-libvirt"
56 XEN_SYSCONF_DIR    = "/etc/xen"
57
58 #LOGOUT_FILE_PREFIX = "%s/logout." % karesansui.config['application.tmp.dir']
59 LOGOUT_FILE_PREFIX = KARESANSUI_TMP_DIR + "/logout."
60 ICON_DIR_TPL = "%s/static/icon/%s"
61 MSG_LIMIT = 5
62 TAG_CLIPPING_RANGE = 12
63 MACHINE_NAME_CLIPPING_RANGE = 20
64
65 DEFAULT_LIST_RANGE = 10
66 JOB_LIST_RANGE = DEFAULT_LIST_RANGE
67 USER_LIST_RANGE = DEFAULT_LIST_RANGE
68 TAG_LIST_RANGE = DEFAULT_LIST_RANGE
69 WATCH_LIST_RANGE = DEFAULT_LIST_RANGE
70 MAILTEMPLATE_LIST_RANGE = DEFAULT_LIST_RANGE
71
72 # use for virt library
73 VIRT_LIBVIRT_DATA_DIR    = VENDOR_DATA_DIR + "/libvirt"
74 VIRT_XENDOMAINS_AUTO_DIR = XEN_SYSCONF_DIR + "/auto"
75
76 VIRT_LIBVIRT_SOCKET_RW = VENDOR_LIBVIRT_RUN_DIR + "/libvirt-sock";
77 VIRT_LIBVIRT_SOCKET_RO = VENDOR_LIBVIRT_RUN_DIR + "/libvirt-sock-ro";
78
79 # kvm
80 KVM_VIRTUAL_DISK_PREFIX = "hd"
81 KVM_VIRT_CONFIG_DIR  = VENDOR_SYSCONF_DIR + "/kvm"
82 #KVM_VIRT_URI_RW = "qemu+tls://127.0.0.1:16514/system?no_verify=1"
83 #KVM_VIRT_URI_RO = "qemu+tls://127.0.0.1:16514/system?no_verify=1"
84 KVM_VIRT_URI_RW = "qemu+tls://127.0.0.1:16514/system"
85 KVM_VIRT_URI_RO = "qemu+tls://127.0.0.1:16514/system"
86 KVM_KARESANSUI_TMP_DIR = KARESANSUI_TMP_DIR + "/kvm"
87 KVM_KEYMAP_DIR = '/usr/share/kvm/keymaps'
88
89 # xen
90 XEN_VIRTUAL_DISK_PREFIX = "xvd"
91 XEN_VIRT_CONFIG_DIR  = VENDOR_SYSCONF_DIR + "/xen"
92 XEN_VIRT_URI_RW = "xen:///?socket=" + VIRT_LIBVIRT_SOCKET_RW
93 XEN_VIRT_URI_RO = "xen:///?socket=" + VIRT_LIBVIRT_SOCKET_RO
94 XEN_KARESANSUI_TMP_DIR = KARESANSUI_TMP_DIR + "/xen"
95 XEN_KEYMAP_DIR = '/usr/share/xen/qemu/keymaps'
96
97 VIRT_XML_CONFIG_DIR  = VENDOR_SYSCONF_DIR + "/libvirt/qemu"
98
99 VIRT_SYSCONF_DIR = VENDOR_SYSCONF_DIR + "/libvirt"
100 OLD_VIRT_DISK_DIR       = VIRT_LIBVIRT_DATA_DIR + "/disk"
101 OLD_VIRT_DISK_IMAGE_DIR = VIRT_LIBVIRT_DATA_DIR + "/images"
102 OLD_VIRT_BOOT_IMAGE_DIR = VIRT_LIBVIRT_DATA_DIR + "/boot"
103 OLD_VIRT_SNAPSHOT_DIR   = VIRT_LIBVIRT_DATA_DIR + "/snapshot"
104 VIRT_DOMAINS_DIR        = VIRT_LIBVIRT_DATA_DIR + "/domains"
105 VIRT_QEMU_DIR           = VIRT_LIBVIRT_DATA_DIR + "/qemu"
106 VIRT_SNAPSHOT_DIR       = VIRT_QEMU_DIR + "/snapshot"
107 VIRT_NETWORK_CONFIG_DIR = VIRT_SYSCONF_DIR + "/qemu/networks"
108 VIRT_AUTOSTART_CONFIG_DIR = VIRT_SYSCONF_DIR + "/qemu/autostart"
109 VIRT_LIBVIRTD_CONFIG_FILE = VIRT_SYSCONF_DIR + "/libvirtd.conf"
110 VIRT_STORAGE_CONFIG_DIR = VIRT_SYSCONF_DIR + "/storage"
111 VIRT_STORAGE_AUTOSTART_CONFIG_DIR = VIRT_SYSCONF_DIR + "/storage/autostart"
112
113 # virt command
114 VIRT_COMMAND_APPLY_SNAPSHOT = "apply_snapshot.py"
115 VIRT_COMMAND_CREATE_GUEST = "create_guest.py"
116 VIRT_COMMAND_DELETE_GUEST = "delete_guest.py"
117 VIRT_COMMAND_DELETE_SNAPSHOT = "delete_snapshot.py"
118 VIRT_COMMAND_GET_MEMORY_USAGE = "get_memory_usage.py"
119 VIRT_COMMAND_SET_MEMORY = "set_memory.py"
120 VIRT_COMMAND_START_GUEST = "start_guest.py"
121 VIRT_COMMAND_REBOOT_GUEST = "reboot_guest.py"
122 VIRT_COMMAND_DESTROY_GUEST = "destroy_guest.py"
123 VIRT_COMMAND_AUTOSTART_GUEST = "autostart_guest.py"
124 VIRT_COMMAND_CREATE_NETWORK = "create_network.py"
125 VIRT_COMMAND_DELETE_NETWORK = "delete_network.py"
126 VIRT_COMMAND_UPDATE_NETWORK = "update_network.py"
127 VIRT_COMMAND_REPLICATE_GUEST = "replicate_guest.py"
128 VIRT_COMMAND_EXPORT_GUEST = "export_guest.py"
129 VIRT_COMMAND_IMPORT_GUEST = "import_guest.py"
130 VIRT_COMMAND_DELETE_EXPORT_DATA = "delete_export_data.py"
131 VIRT_COMMAND_SET_VCPUS = "set_vcpus.py"
132 VIRT_COMMAND_SUSPEND_GUEST = "suspend_guest.py"
133 VIRT_COMMAND_ADD_DISK = "add_disk.py"
134 VIRT_COMMAND_APPEND_DISK = "append_disk.py"
135 VIRT_COMMAND_DELETE_DISK = "delete_disk.py"
136 VIRT_COMMAND_ADD_NIC = "add_nic.py"
137 VIRT_COMMAND_DELETE_NIC = "delete_nic.py"
138 VIRT_COMMAND_CPUTOP = "cputop.py"
139 VIRT_COMMAND_GET_CPU_USAGE = "get_cpu_usage.py"
140 VIRT_COMMAND_RESUME_GUEST = "resume_guest.py"
141 VIRT_COMMAND_SHUTDOWN_GUEST = "shutdown_guest.py"
142 VIRT_COMMAND_TAKE_SNAPSHOT = "take_snapshot.py"
143 VIRT_COMMAND_SET_MAC_ADDRESS = "set_mac_address.py"
144 VIRT_COMMAND_SET_VNC = "set_vnc.py"
145 FIREWALL_COMMAND_SAVE_FIREWALL = "save_firewall.py"
146 FIREWALL_COMMAND_RESTORE_FIREWALL = "restore_firewall.py"
147 UPDATE_COMMAND_SOFTWARE="update_software.py"
148 VIRT_COMMAND_CREATE_STORAGE_POOL = "create_storage_pool.py"
149 VIRT_COMMAND_DELETE_STORAGE_POOL = "delete_storage_pool.py"
150 VIRT_COMMAND_START_STORAGE_POOL = "start_storage_pool.py"
151 VIRT_COMMAND_DESTROY_STORAGE_POOL = "destroy_storage_pool.py"
152 VIRT_COMMAND_CREATE_STORAGE_VOLUME = "create_storage_volume.py"
153 VIRT_COMMAND_DELETE_STORAGE_VOLUME = "delete_storage_volume.py"
154 ISCSI_COMMAND_GET = "get_iscsi.py"
155 ISCSI_COMMAND_ADD = "add_iscsi.py"
156 ISCSI_COMMAND_DELETE = "delete_iscsi.py"
157 ISCSI_COMMAND_START = "start_iscsi.py"
158 ISCSI_COMMAND_STOP = "stop_iscsi.py"
159 ISCSI_COMMAND_UPDATE = "update_iscsi.py"
160 CONFIGURE_COMMAND_READ = "read_conf.py"
161 CONFIGURE_COMMAND_WRITE = "write_conf.py"
162 IPTABLES_COMMAND_CONTROL = "control_iptables.py"
163 SERVICE_COMMAND_START = "start_service.py"
164 SERVICE_COMMAND_STOP = "stop_service.py"
165 SERVICE_COMMAND_RESTART = "restart_service.py"
166 SERVICE_COMMAND_AUTOSTART = "autostart_service.py"
167 ISCSI_COMMAND_READY_MOUNT = "ready_mount.py"
168
169 # use for firewall library
170 FIREWALL_XML_FILE  = KARESANSUI_SYSCONF_DIR + "/firewall.xml"
171 FIREWALL_USERCHAIN = "KARESANSUI-Firewall"
172 RH_USERCHAIN = "RH-Firewall-1-INPUT"
173
174 # Proxy Server use Status
175 PROXY_ENABLE = '1'
176 PROXY_DISABLE = '0'
177
178 # lighttpd config
179 LIGHTTPD_COMMAND_UPDATE_CONFIG = "apply_lighttpdconf.py"
180 LIGHTTPD_CONF_TEMP_DIR = KARESANSUI_TMP_DIR + "/lighttpd"
181 LIGHTTPD_DEFAULT_PORT = 80
182 LIGHTTPD_DEFAULT_SSL = "disable"
183 LIGHTTPD_DEFAULT_ACCESS = "all"
184 LIGHTTPD_PORT_CONFIG = "port.conf"
185 LIGHTTPD_ACCESS_CONFIG = "access.conf"
186 LIGHTTPD_SSL_CONFIG = "ssl.conf"
187 LIGHTTPD_SSL_ON = "enable"
188 LIGHTTPD_SSL_OFF = "disable"
189
190 # port number
191 PORT_MIN_NUMBER = 1
192 PORT_MAX_NUMBER = 65535
193 WELKNOWN_PORT_MIN_NUMBER = 1
194 WELKNOWN_PORT_MAX_NUMBER = 1024
195 UNKNOWN_PORT_MIN_NUMBER = 1025
196 UNKNOWN_PORT_MAX_NUMBER = 65535
197 VNC_PORT_MIN_NUMBER = 5900
198 VNC_PORT_MAX_NUMBER = PORT_MAX_NUMBER
199
200 # input value length
201 ID_MIN_LENGTH = 1
202 ID_MAX_LENGTH = int(math.pow(2, 31)) - 1  # signed int max (2^31-1) SQLAlchemy SQLType.Integer
203 USER_MIN_LENGTH = 1
204 USER_MAX_LENGTH = 16
205 EMAIL_MIN_LENGTH = 1 + 1 + 4
206 EMAIL_MAX_LENGTH = 256
207 PASSWORD_MIN_LENGTH = 4
208 PASSWORD_MAX_LENGTH = 40
209 LANGUAGES_MIN_LENGTH = 1
210 LANGUAGES_MAX_LENGTH = 6
211 TAG_MIN_LENGTH = 1
212 TAG_MAX_LENGTH = 24
213 SEARCH_MIN_LENGTH = 0
214 SEARCH_MAX_LENGTH = 256
215 PAGE_MIN_SIZE = 0
216 PAGE_MAX_SIZE = int(math.pow(2, 31)) - 1  # signed int max (2^31-1)
217 MACHINE_NAME_MIN_LENGTH = 1
218 MACHINE_NAME_MAX_LENGTH = 256
219 HYPERVISOR_MIN_SIZE = 0
220 HYPERVISOR_MAX_SIZE = 2
221 MEMORY_MIN_SIZE = 64
222 DISK_MIN_SIZE = 1
223 CHECK_DISK_QUOTA = 0.95
224 DOMAIN_NAME_MIN_LENGTH = 1
225 DOMAIN_NAME_MAX_LENGTH = 32
226 NOTE_TITLE_MIN_LENGTH = 0
227 NOTE_TITLE_MAX_LENGTH = 64
228 IMAGE_EXT_LIST = ["gif", "png", "jpeg"]
229 VCPUS_MIN_SIZE = 1
230 FQDN_MIN_LENGTH = 0
231 FQDN_MAX_LENGTH = 256
232 CHAP_USER_MIN_LENGTH = 1
233 CHAP_USER_MAX_LENGTH = 256
234 CHAP_PASSWORD_MIN_LENGTH = 1
235 CHAP_PASSWORD_MAX_LENGTH = 256
236 STORAGE_VOLUME_SIZE_MIN_LENGTH = 0;
237 STORAGE_VOLUME_SIZE_MAX_LENGTH = 9999999;
238 CONTINUATION_COUNT_MIN = 1;
239 CONTINUATION_COUNT_MAX = 2147483647;
240 PROHIBITION_PERIOD_MIN = 1;
241 PROHIBITION_PERIOD_MAX = 2147483647;
242 THRESHOLD_VAL_MIN = 0;
243
244 DEFAULT_KEYMAP = 'en-us'
245
246 # use for storagepool
247 STORAGE_POOL_TYPE = {"TYPE_DIR":"dir",
248                      "TYPE_FS":"fs",
249                      "TYPE_NETFS":"netfs",
250                      "TYPE_LOGICAL":"logical",
251                      "TYPE_DISK":"disk",
252                      "TYPE_ISCSI":"iscsi",
253                      "TYPE_SCSI":"scsi",
254                      }
255
256 STORAGE_VOLUME_FORMAT = {"TYPE_RAW":"raw",
257                   "TYPE_QCOW2":"qcow2",
258                   "TYPE_QCOW":"qcow",
259                   "TYPE_COW":"cow",
260                   "TYPE_VDI":"vdi",
261                   "TYPE_VMDK":"vmdk",
262                   "TYPE_VPC":"vpc",
263                   "TYPE_CLOOP":"cloop",
264                   }
265
266 STORAGE_VOLUME_UNIT = {"B":1024**0,
267                        "K":1024**1,
268                        "M":1024**2,
269                        "G":1024**3,
270                        "T":1024**4,
271                        "P":1024**5,
272                        "E":1024**6,
273                       }
274
275 # Disk format
276 DISK_QEMU_FORMAT = {"RAW" : "raw",
277                     "QCOW2" : "qcow2",
278                     "QCOW" : "qcow",
279                     "COW" : "cow",
280                     "VMDK" : "vmdk",
281                     }
282
283 DISK_NONE_QEMU_FORMAT = {"RAW" : "raw",}
284
285 # use for iSCSI
286 ISCSI_DEVICE_DIR = "/dev/disk/by-path"
287 ISCSI_DEVICE_NAME_TPL = "ip-%s:%s-iscsi-%s"
288 ISCSI_MOUNT_DIR = "/var/opt/hde/iscsi/mount"
289 ISCSI_DEFAULT_CONFIG_PATH = "/etc/iscsi/iscsid.conf"
290 ISCSI_DEFAULT_NODE_CONFIG_DIR = "/var/lib/iscsi/nodes"
291
292 ISCSI_CONFIG_KEY_AUTH_METHOD = "node.session.auth.authmethod"
293 ISCSI_CONFIG_KEY_AUTH_USER = "node.session.auth.username"
294 ISCSI_CONFIG_KEY_AUTH_PASSWORD = "node.session.auth.password"
295 ISCSI_CONFIG_KEY_SATRTUP = "node.startup"
296 ISCSI_CONFIG_VALUE_AUTH_METHOD_NONE = "None"
297 ISCSI_CONFIG_VALUE_AUTH_METHOD_CHAP = "CHAP"
298 ISCSI_CONFIG_VALUE_SATRTUP_ON = "automatic"
299 ISCSI_CONFIG_VALUE_SATRTUP_OFF = "manual"
300
301 ISCSI_CMD = "/sbin/iscsiadm"
302 ISCSI_CMD_OPTION_MODE = "--mode"
303 ISCSI_CMD_OPTION_MODE_NODE = "node"
304 ISCSI_CMD_OPTION_MODE_SESSION = "session"
305 ISCSI_CMD_OPTION_MODE_DISCOVERY = "discovery"
306 ISCSI_CMD_OPTION_TYPE = "--type"
307 ISCSI_CMD_OPTION_TYPE_SENDTARGETS = "sendtargets"
308 ISCSI_CMD_OPTION_OPERATOR = "--op"
309 ISCSI_CMD_OPTION_OPERATOR_DELETE = "delete"
310 ISCSI_CMD_OPTION_TARGETNAME = "--targetname"
311 ISCSI_CMD_OPTION_PORTAL = "--portal"
312 ISCSI_CMD_OPTION_LOGIN = "--login"
313 ISCSI_CMD_OPTION_LOGOUT = "--logout"
314 ISCSI_CMD_RES_NO_NODE = "no records found"
315 ISCSI_CMD_RES_NO_ACTIVE_SESSION = "No active sessions"
316
317 DEFAULT_KVM_DISK_FORMAT = "qcow2"
318 DEFAULT_XEN_DISK_FORMAT = "raw"
319
320 # use for collectd
321 COLLECTD_LOG_DIR  = "/var/log/hde-collectd"
322 COLLECTD_DATA_DIR = "%s/collectd" % VENDOR_DATA_DIR
323
324 COLLECTD_PLUGIN_CPU = "cpu"
325 COLLECTD_PLUGIN_DF = "df"
326 COLLECTD_PLUGIN_DISK = "disk"
327 COLLECTD_PLUGIN_EXEC = "exec"
328 COLLECTD_PLUGIN_INTERFACE = "interface"
329 COLLECTD_PLUGIN_IPTABLES = "iptables"
330 COLLECTD_PLUGIN_LIBVIRT = "libvirt"
331 COLLECTD_PLUGIN_LOAD = "load"
332 COLLECTD_PLUGIN_LOGFILE = "logfile"
333 COLLECTD_PLUGIN_MEMORY = "memory"
334 COLLECTD_PLUGIN_NETWORK = "network"
335 COLLECTD_PLUGIN_PYTHON = "python"
336 COLLECTD_PLUGIN_RRDCACHED = "rrdcached"
337 COLLECTD_PLUGIN_RRDTOOL = "rrdtool"
338 COLLECTD_PLUGIN_SENSORS = "sensors"
339 COLLECTD_PLUGIN_SNMP = "SNMP"
340 COLLECTD_PLUGIN_SYSLOG = "syslog"
341 COLLECTD_PLUGIN_TAIL = "tail"
342 COLLECTD_PLUGIN_UPTIME = "uptime"
343 COLLECTD_PLUGIN_USERS = "users"
344
345 COLLECTD_CPU_TYPE = "cpu"
346 COLLECTD_CPU_TYPE_INSTANCE = {"IDLE" : "idle",
347                               "NICE" : "nice",
348                               "USER" : "user",
349                               "WAIT" : "wait",
350                               "INTERRUPT" : "interrupt",
351                               "SOFTIRQ" : "softirq",
352                               "STEAL" : "steal",
353                               "SYSTEM" : "system",
354                               }
355 COLLECTD_CPU_DS = "value"
356 COLLECTD_MEMORY_TYPE = "memory"
357 COLLECTD_MEMORY_TYPE_INSTANCE = {"FREE" : "free",
358                                  "CACHED" : "cached",
359                                  "BUFFERED" : "buffered",
360                                  "USED" : "used",
361                                  }
362 COLLECTD_MEMORY_DS = "value"
363 COLLECTD_DF_TYPE = "df"
364 COLLECTD_DF_DS = {"USED" : "used",
365                   "FREE" : "free",
366                   }
367 COLLECTD_DISK_TYPE = {"MERGED" : "disk_merged",
368                       "OCTETS" : "disk_octets",
369                       "OPS" : "disk_ops",
370                       "TIME" : "disk_time",
371                       }
372 COLLECTD_DISK_DS = {"READ" : "read",
373                     "WRITE" : "write",
374                     }
375 COLLECTD_INTERFACE_TYPE = {"ERRORS" : "if_errors",
376                            "PACKETS" : "if_packets",
377                            "OCTETS" : "if_octets",
378                            }
379 COLLECTD_INTERFACE_DS = {"RX" : "rx",
380                          "TX" : "tx",
381                          }
382 COLLECTD_UPTIME_TYPE ="uptime"
383 COLLECTD_UPTIME_DS = "value"
384
385 COLLECTD_LOAD_TYPE = "load"
386 COLLECTD_LOAD_DS = {"SHORTTERM": "shortterm",
387                     "MIDTERM"  : "midterm",
388                     "LONGTERM" : "longterm",
389                    }
390
391 COLLECTD_USERS_TYPE ="users"
392 COLLECTD_USERS_DS = "users"
393
394 COLLECTD_LIBVIRT_TYPE = {"CPU_TOTAL" : "virt_cpu_total",
395                          "VCPU" : "virt_vcpu",
396                          "DISK_OPS" : "disk_ops",
397                          "DISK_OCTETS" : "disk_octets",
398                          "IF_OCTETS" : "if_octets",
399                          "IF_PACKETS" : "if_packets",
400                          "IF_ERRORS" : "if_errors",
401                          "IF_DROPPED" : "if_dropped",
402                          }
403
404 COLLECTD_DF_RRPORT_BY_DEVICE = True
405
406 COUNTUP_DATABASE_PATH = KARESANSUI_DATA_DIR + "/notify_count.db"
407 VALUE_BOUNDS_UPPER = "1"
408 VALUE_BOUNDS_LOWER = "0"
409
410 HDD_TYPES_REGEX = ('sd[a-z]+[0-9]*',
411                    'hd[a-z]+[0-9]*',
412                    )
413
414 STORAGE_POOL_PWD = {"OWNER":"root",
415                     "GROUP":"kss",
416                     "MODE":"0770",
417                     }
418
419 STORAGE_VOLUME_PWD = {"OWNER":"root",
420                       "GROUP":"kss",
421                       "MODE":"0660",
422                       }
423
424 DISK_USES = {"IMAGES":"images",
425              "DISK":"disk",
426              }
427
428 # use for mail template
429 TEMPLATE_DIR = KARESANSUI_SYSCONF_DIR + "/template"
430 MAIL_TEMPLATE_DIR_JA = TEMPLATE_DIR + "/ja"
431 MAIL_TEMPLATE_DIR_EN = TEMPLATE_DIR + "/en"
432 MAIL_TEMPLATE_COLLECTD_WARNING = {COLLECTD_PLUGIN_CPU:"collectd_warning_cpu.eml",
433                                   COLLECTD_PLUGIN_DF:"collectd_warning_df.eml",
434                                   COLLECTD_PLUGIN_DISK:"collectd_warning_disk.eml",
435                                   COLLECTD_PLUGIN_INTERFACE:"collectd_warning_interface.eml",
436                                   COLLECTD_PLUGIN_LIBVIRT:"collectd_warning_libvirt.eml",
437                                   COLLECTD_PLUGIN_LOAD:"collectd_warning_load.eml",
438                                   COLLECTD_PLUGIN_MEMORY:"collectd_warning_memory.eml",
439                                   COLLECTD_PLUGIN_UPTIME:"collectd_warning_uptime.eml",
440                                   COLLECTD_PLUGIN_USERS:"collectd_warning_users.eml",
441                                   }
442 MAIL_TEMPLATE_COLLECTD_FAILURE = {COLLECTD_PLUGIN_CPU:"collectd_failure_cpu.eml",
443                                   COLLECTD_PLUGIN_DF:"collectd_failure_df.eml",
444                                   COLLECTD_PLUGIN_DISK:"collectd_failure_disk.eml",
445                                   COLLECTD_PLUGIN_INTERFACE:"collectd_failure_interface.eml",
446                                   COLLECTD_PLUGIN_LIBVIRT:"collectd_failure_libvirt.eml",
447                                   COLLECTD_PLUGIN_LOAD:"collectd_failure_load.eml",
448                                   COLLECTD_PLUGIN_MEMORY:"collectd_failure_memory.eml",
449                                   COLLECTD_PLUGIN_UPTIME:"collectd_failure_uptime.eml",
450                                   COLLECTD_PLUGIN_USERS:"collectd_failure_users.eml",
451                                   }
452 MAIL_TEMPLATE_COLLECTD_OKAY = {COLLECTD_PLUGIN_CPU:"collectd_okay_cpu.eml",
453                                   COLLECTD_PLUGIN_DF:"collectd_okay_df.eml",
454                                   COLLECTD_PLUGIN_DISK:"collectd_okay_disk.eml",
455                                   COLLECTD_PLUGIN_INTERFACE:"collectd_okay_interface.eml",
456                                   COLLECTD_PLUGIN_LIBVIRT:"collectd_okay_libvirt.eml",
457                                   COLLECTD_PLUGIN_LOAD:"collectd_okay_load.eml",
458                                   COLLECTD_PLUGIN_MEMORY:"collectd_okay_memory.eml",
459                                   COLLECTD_PLUGIN_UPTIME:"collectd_okay_uptime.eml",
460                                   COLLECTD_PLUGIN_USERS:"collectd_okay_users.eml",
461                                   }
462
463 # use for service
464 SERVICE_XML_FILE  = KARESANSUI_SYSCONF_DIR + "/service.xml"
465
466 # use for Report
467 GRAPH_COMMON_PARAM = [
468     "--imgformat", "PNG",
469     "--font", "TITLE:0:IPAexGothic",
470     "--font", "LEGEND:0:IPAexGothic",
471     "--pango-markup",
472     "--width", "550",
473     "--height", "350",
474     "--full-size-mode",
475     "--grid-dash", "1:0",
476     "--color", "BACK#FFFFFF",
477     "--color", "CANVAS#FFFFFF",
478     "--color", "SHADEA#FFFFFF",
479     "--color", "SHADEB#FFFFFF",
480     "--color", "GRID#DDDDDD",
481     "--color", "MGRID#CCCCCC",
482     "--color", "FONT#555555",
483     "--color", "FRAME#FFFFFF",
484     "--color", "ARROW#FFFFFF",
485     ]
486 # use for log viewer
487 LOG_VIEW_XML_FILE = KARESANSUI_SYSCONF_DIR + "/logview.xml"
488
489 GUEST_EXPORT_FILE = 'info.dat'
490
491 KVM_BUS_TYPES = ['ide','scsi','virtio']
492 XEN_BUS_TYPES = ['xen']
493
494 # use for mount check
495 MOUNT_CMD = "mount"
496 UMOUNT_CMD = "umount"
497 FORMAT_CMD = "mkfs"
498 YES_CMD = ["echo", "y"]