constants.py 2.75 KB
Newer Older
Iustin Pop's avatar
Iustin Pop committed
1
#
Iustin Pop's avatar
Iustin Pop committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#

# Copyright (C) 2006, 2007 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.


"""Module holding different constants."""

24
from ganeti import _autoconf
25

Iustin Pop's avatar
Iustin Pop committed
26
# various versions
27
CONFIG_VERSION = 3
28
PROTOCOL_VERSION = 3
29
RELEASE_VERSION = _autoconf.PACKAGE_VERSION
30
OS_API_VERSION = 5
Iustin Pop's avatar
Iustin Pop committed
31
32
33
34
EXPORT_VERSION = 0


# file paths
35
DATA_DIR = _autoconf.LOCALSTATEDIR + "/lib/ganeti"
Iustin Pop's avatar
Iustin Pop committed
36
37
CLUSTER_CONF_FILE = DATA_DIR + "/config.data"
SSL_CERT_FILE = DATA_DIR + "/server.pem"
38
WATCHER_STATEFILE = DATA_DIR + "/watcher.data"
Iustin Pop's avatar
Iustin Pop committed
39
SSH_KNOWN_HOSTS_FILE = DATA_DIR + "/known_hosts"
Iustin Pop's avatar
Iustin Pop committed
40

41
NODE_INITD_SCRIPT = _autoconf.SYSCONFDIR + "/init.d/ganeti"
42
SSH_INITD_SCRIPT = _autoconf.SSH_INITD_SCRIPT
Iustin Pop's avatar
Iustin Pop committed
43
44
45
DEFAULT_NODED_PORT = 1811
FIRST_DRBD_PORT = 11000
LAST_DRBD_PORT = 14999
46
MASTER_SCRIPT = "ganeti-master"
Iustin Pop's avatar
Iustin Pop committed
47

48
LOG_DIR = _autoconf.LOCALSTATEDIR + "/log/ganeti"
Iustin Pop's avatar
Iustin Pop committed
49
50
LOG_OS_DIR = LOG_DIR + "/os"
LOG_NODESERVER = LOG_DIR + "/node-daemon.log"
51
LOG_WATCHER = LOG_DIR + "/watcher.log"
Iustin Pop's avatar
Iustin Pop committed
52

53
OS_SEARCH_PATH = _autoconf.OS_SEARCH_PATH
54
EXPORT_DIR = _autoconf.EXPORT_DIR
Iustin Pop's avatar
Iustin Pop committed
55
56
57

EXPORT_CONF_FILE = "config.ini"

58
59
60
XEN_KERNEL = _autoconf.XEN_KERNEL
XEN_INITRD = _autoconf.XEN_INITRD

Iustin Pop's avatar
Iustin Pop committed
61
# hooks-related constants
62
HOOKS_BASE_DIR = _autoconf.SYSCONFDIR + "/ganeti/hooks"
Iustin Pop's avatar
Iustin Pop committed
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
HOOKS_PHASE_PRE = "pre"
HOOKS_PHASE_POST = "post"
HOOKS_VERSION = 1

# hooks subject type (what object type does the LU deal with)
HTYPE_CLUSTER = "CLUSTER"
HTYPE_NODE = "NODE"
HTYPE_INSTANCE = "INSTANCE"

HKR_SKIP = 0
HKR_FAIL = 1
HKR_SUCCESS = 2

# disk template types
DT_DISKLESS = "diskless"
DT_PLAIN = "plain"
DT_LOCAL_RAID1 = "local_raid1"
DT_REMOTE_RAID1 = "remote_raid1"

# instance creation modem
INSTANCE_CREATE = "create"
INSTANCE_IMPORT = "import"

DISK_TEMPLATES = frozenset([DT_DISKLESS, DT_PLAIN,
                            DT_LOCAL_RAID1, DT_REMOTE_RAID1])

# import/export config options
INISECT_EXP = "export"
INISECT_INS = "instance"
92
93

# common exit codes
Iustin Pop's avatar
Iustin Pop committed
94
EXIT_SUCCESS = 0
95
EXIT_NOTMASTER = 11
96
EXIT_NODESETUP_ERROR = 12
Iustin Pop's avatar
Iustin Pop committed
97
EXIT_CONFIRMATION = 13 # need user confirmation
98

99
100
101
102
103
104
105
# tags
TAG_CLUSTER = "cluster"
TAG_NODE = "node"
TAG_INSTANCE = "instance"
MAX_TAG_LEN = 128
MAX_TAGS_PER_OBJ = 4096

106
107
# others
DEFAULT_BRIDGE = "xen-br0"
108
SYNC_SPEED = 30 * 1024