root / src / Ganeti / HsConstants.hs @ 1c9e817d
History | View | Annotate | Download (34.3 kB)
1 | 1b2adaa6 | Jose A. Lopes | {-| HsConstants contains the Haskell constants |
---|---|---|---|
2 | 1b2adaa6 | Jose A. Lopes | |
3 | 1b2adaa6 | Jose A. Lopes | This is a transitional module complementary to 'Ganeti.Constants'. It |
4 | 1b2adaa6 | Jose A. Lopes | is intended to contain the Haskell constants that are meant to be |
5 | 1b2adaa6 | Jose A. Lopes | generated in Python. |
6 | 1b2adaa6 | Jose A. Lopes | |
7 | c93041a5 | Jose A. Lopes | Do not write any definitions in this file other than constants. Do |
8 | c93041a5 | Jose A. Lopes | not even write helper functions. The definitions in this module are |
9 | c93041a5 | Jose A. Lopes | automatically stripped to build the Makefile.am target |
10 | c93041a5 | Jose A. Lopes | 'ListConstants.hs'. If there are helper functions in this module, |
11 | c93041a5 | Jose A. Lopes | they will also be dragged and it will cause compilation to fail. |
12 | c93041a5 | Jose A. Lopes | Therefore, all helper functions should go to a separate module and |
13 | c93041a5 | Jose A. Lopes | imported. |
14 | c93041a5 | Jose A. Lopes | |
15 | 1b2adaa6 | Jose A. Lopes | -} |
16 | 1b2adaa6 | Jose A. Lopes | |
17 | 1b2adaa6 | Jose A. Lopes | {- |
18 | 1b2adaa6 | Jose A. Lopes | |
19 | 1b2adaa6 | Jose A. Lopes | Copyright (C) 2013 Google Inc. |
20 | 1b2adaa6 | Jose A. Lopes | |
21 | 1b2adaa6 | Jose A. Lopes | This program is free software; you can redistribute it and/or modify |
22 | 1b2adaa6 | Jose A. Lopes | it under the terms of the GNU General Public License as published by |
23 | 1b2adaa6 | Jose A. Lopes | the Free Software Foundation; either version 2 of the License, or |
24 | 1b2adaa6 | Jose A. Lopes | (at your option) any later version. |
25 | 1b2adaa6 | Jose A. Lopes | |
26 | 1b2adaa6 | Jose A. Lopes | This program is distributed in the hope that it will be useful, but |
27 | 1b2adaa6 | Jose A. Lopes | WITHOUT ANY WARRANTY; without even the implied warranty of |
28 | 1b2adaa6 | Jose A. Lopes | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
29 | 1b2adaa6 | Jose A. Lopes | General Public License for more details. |
30 | 1b2adaa6 | Jose A. Lopes | |
31 | 1b2adaa6 | Jose A. Lopes | You should have received a copy of the GNU General Public License |
32 | 1b2adaa6 | Jose A. Lopes | along with this program; if not, write to the Free Software |
33 | 1b2adaa6 | Jose A. Lopes | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
34 | 1b2adaa6 | Jose A. Lopes | 02110-1301, USA. |
35 | 1b2adaa6 | Jose A. Lopes | |
36 | 1b2adaa6 | Jose A. Lopes | -} |
37 | 1b2adaa6 | Jose A. Lopes | module Ganeti.HsConstants where |
38 | 1b2adaa6 | Jose A. Lopes | |
39 | 6dc0cb59 | Jose A. Lopes | import Data.Map (Map) |
40 | 6dc0cb59 | Jose A. Lopes | import qualified Data.Map as Map (fromList) |
41 | 6dc0cb59 | Jose A. Lopes | |
42 | 26eca119 | Jose A. Lopes | import AutoConf |
43 | 3b170ad4 | Jose A. Lopes | import Ganeti.ConstantUtils (FrozenSet, Protocol(..), buildVersion) |
44 | df726590 | Jose A. Lopes | import qualified Ganeti.ConstantUtils as ConstantUtils |
45 | 1c31b263 | Jose A. Lopes | import Ganeti.Runtime (GanetiDaemon(..), MiscGroup(..), GanetiGroup(..), |
46 | 1c31b263 | Jose A. Lopes | ExtraLogReason(..)) |
47 | df726590 | Jose A. Lopes | import Ganeti.Logging (SyslogUsage(..)) |
48 | df726590 | Jose A. Lopes | import qualified Ganeti.Logging as Logging (syslogUsageToRaw) |
49 | 1c31b263 | Jose A. Lopes | import qualified Ganeti.Runtime as Runtime |
50 | 85c48fbb | Jose A. Lopes | import Ganeti.Types |
51 | 85c48fbb | Jose A. Lopes | import qualified Ganeti.Types as Types |
52 | 85c48fbb | Jose A. Lopes | |
53 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('autotools/build-bash-completion') |
54 | 1c9e817d | Jose A. Lopes | |
55 | 1c9e817d | Jose A. Lopes | htoolsProgs :: [String] |
56 | 1c9e817d | Jose A. Lopes | htoolsProgs = AutoConf.htoolsProgs |
57 | 1c9e817d | Jose A. Lopes | |
58 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('lib/constants.py') |
59 | 3b170ad4 | Jose A. Lopes | |
60 | 3b170ad4 | Jose A. Lopes | drbdBarriers :: String |
61 | 3b170ad4 | Jose A. Lopes | drbdBarriers = AutoConf.drbdBarriers |
62 | 3b170ad4 | Jose A. Lopes | |
63 | 3b170ad4 | Jose A. Lopes | drbdNoMetaFlush :: Bool |
64 | 3b170ad4 | Jose A. Lopes | drbdNoMetaFlush = AutoConf.drbdNoMetaFlush |
65 | 3b170ad4 | Jose A. Lopes | |
66 | 3b170ad4 | Jose A. Lopes | lvmStripecount :: Int |
67 | 3b170ad4 | Jose A. Lopes | lvmStripecount = AutoConf.lvmStripecount |
68 | 3b170ad4 | Jose A. Lopes | |
69 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('lib/pathutils.py') |
70 | 1c9e817d | Jose A. Lopes | |
71 | 1c9e817d | Jose A. Lopes | -- ** Build-time constants |
72 | 1c9e817d | Jose A. Lopes | |
73 | 1c9e817d | Jose A. Lopes | exportDir :: String |
74 | 1c9e817d | Jose A. Lopes | exportDir = AutoConf.exportDir |
75 | 1c9e817d | Jose A. Lopes | |
76 | 1c9e817d | Jose A. Lopes | osSearchPath :: [String] |
77 | 1c9e817d | Jose A. Lopes | osSearchPath = AutoConf.osSearchPath |
78 | 1c9e817d | Jose A. Lopes | |
79 | 1c9e817d | Jose A. Lopes | esSearchPath :: [String] |
80 | 1c9e817d | Jose A. Lopes | esSearchPath = AutoConf.esSearchPath |
81 | 1c9e817d | Jose A. Lopes | |
82 | 1c9e817d | Jose A. Lopes | sshConfigDir :: String |
83 | 1c9e817d | Jose A. Lopes | sshConfigDir = AutoConf.sshConfigDir |
84 | 1c9e817d | Jose A. Lopes | |
85 | 1c9e817d | Jose A. Lopes | xenConfigDir :: String |
86 | 1c9e817d | Jose A. Lopes | xenConfigDir = AutoConf.xenConfigDir |
87 | 1c9e817d | Jose A. Lopes | |
88 | 1c9e817d | Jose A. Lopes | sysconfdir :: String |
89 | 1c9e817d | Jose A. Lopes | sysconfdir = AutoConf.sysconfdir |
90 | 1c9e817d | Jose A. Lopes | |
91 | 1c9e817d | Jose A. Lopes | toolsdir :: String |
92 | 1c9e817d | Jose A. Lopes | toolsdir = AutoConf.toolsdir |
93 | 1c9e817d | Jose A. Lopes | |
94 | 1c9e817d | Jose A. Lopes | localstatedir :: String |
95 | 1c9e817d | Jose A. Lopes | localstatedir = AutoConf.localstatedir |
96 | 1c9e817d | Jose A. Lopes | |
97 | 1c9e817d | Jose A. Lopes | -- ** Paths which don't change for a virtual cluster |
98 | 1c9e817d | Jose A. Lopes | |
99 | 1c9e817d | Jose A. Lopes | pkglibdir :: String |
100 | 1c9e817d | Jose A. Lopes | pkglibdir = AutoConf.pkglibdir |
101 | 1c9e817d | Jose A. Lopes | |
102 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('lib/build/sphinx_ext.py') |
103 | 1c9e817d | Jose A. Lopes | |
104 | 1c9e817d | Jose A. Lopes | manPages :: Map String Int |
105 | 1c9e817d | Jose A. Lopes | manPages = Map.fromList AutoConf.manPages |
106 | 1c9e817d | Jose A. Lopes | |
107 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for QA cluster only ('qa/qa_cluster.py') |
108 | 1c9e817d | Jose A. Lopes | |
109 | 1c9e817d | Jose A. Lopes | versionedsharedir :: String |
110 | 1c9e817d | Jose A. Lopes | versionedsharedir = AutoConf.versionedsharedir |
111 | 1c9e817d | Jose A. Lopes | |
112 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('tests/py/docs_unittest.py') |
113 | 1c9e817d | Jose A. Lopes | |
114 | 1c9e817d | Jose A. Lopes | gntScripts :: [String] |
115 | 1c9e817d | Jose A. Lopes | gntScripts = AutoConf.gntScripts |
116 | 1c9e817d | Jose A. Lopes | |
117 | 3b170ad4 | Jose A. Lopes | -- * Various versions |
118 | 3b170ad4 | Jose A. Lopes | |
119 | 3b170ad4 | Jose A. Lopes | releaseVersion :: String |
120 | 3b170ad4 | Jose A. Lopes | releaseVersion = AutoConf.packageVersion |
121 | 3b170ad4 | Jose A. Lopes | |
122 | 3b170ad4 | Jose A. Lopes | configMajor :: Int |
123 | 3b170ad4 | Jose A. Lopes | configMajor = AutoConf.versionMajor |
124 | 3b170ad4 | Jose A. Lopes | |
125 | 3b170ad4 | Jose A. Lopes | configMinor :: Int |
126 | 3b170ad4 | Jose A. Lopes | configMinor = AutoConf.versionMinor |
127 | 3b170ad4 | Jose A. Lopes | |
128 | 3b170ad4 | Jose A. Lopes | -- | The configuration is supposed to remain stable across |
129 | 3b170ad4 | Jose A. Lopes | -- revisions. Therefore, the revision number is cleared to '0'. |
130 | 3b170ad4 | Jose A. Lopes | configRevision :: Int |
131 | 3b170ad4 | Jose A. Lopes | configRevision = 0 |
132 | 3b170ad4 | Jose A. Lopes | |
133 | 3b170ad4 | Jose A. Lopes | configVersion :: Int |
134 | 3b170ad4 | Jose A. Lopes | configVersion = buildVersion configMajor configMinor configRevision |
135 | 3b170ad4 | Jose A. Lopes | |
136 | 3b170ad4 | Jose A. Lopes | -- | Similarly to the configuration (see 'configRevision'), the |
137 | 3b170ad4 | Jose A. Lopes | -- protocols are supposed to remain stable across revisions. |
138 | 3b170ad4 | Jose A. Lopes | protocolVersion :: Int |
139 | 3b170ad4 | Jose A. Lopes | protocolVersion = buildVersion configMajor configMinor configRevision |
140 | 3b170ad4 | Jose A. Lopes | |
141 | c890f66a | Jose A. Lopes | -- * User separation |
142 | c890f66a | Jose A. Lopes | daemonsGroup :: String |
143 | c890f66a | Jose A. Lopes | daemonsGroup = Runtime.daemonGroup (ExtraGroup DaemonsGroup) |
144 | 85c48fbb | Jose A. Lopes | |
145 | c890f66a | Jose A. Lopes | adminGroup :: String |
146 | c890f66a | Jose A. Lopes | adminGroup = Runtime.daemonGroup (ExtraGroup AdminGroup) |
147 | 85c48fbb | Jose A. Lopes | |
148 | c890f66a | Jose A. Lopes | masterdUser :: String |
149 | c890f66a | Jose A. Lopes | masterdUser = Runtime.daemonUser GanetiMasterd |
150 | 85c48fbb | Jose A. Lopes | |
151 | c890f66a | Jose A. Lopes | masterdGroup :: String |
152 | c890f66a | Jose A. Lopes | masterdGroup = Runtime.daemonGroup (DaemonGroup GanetiMasterd) |
153 | 85c48fbb | Jose A. Lopes | |
154 | c890f66a | Jose A. Lopes | rapiUser :: String |
155 | c890f66a | Jose A. Lopes | rapiUser = Runtime.daemonUser GanetiRapi |
156 | 85c48fbb | Jose A. Lopes | |
157 | c890f66a | Jose A. Lopes | rapiGroup :: String |
158 | c890f66a | Jose A. Lopes | rapiGroup = Runtime.daemonGroup (DaemonGroup GanetiRapi) |
159 | 85c48fbb | Jose A. Lopes | |
160 | c890f66a | Jose A. Lopes | confdUser :: String |
161 | c890f66a | Jose A. Lopes | confdUser = Runtime.daemonUser GanetiConfd |
162 | 85c48fbb | Jose A. Lopes | |
163 | c890f66a | Jose A. Lopes | confdGroup :: String |
164 | c890f66a | Jose A. Lopes | confdGroup = Runtime.daemonGroup (DaemonGroup GanetiConfd) |
165 | 85c48fbb | Jose A. Lopes | |
166 | c890f66a | Jose A. Lopes | luxidUser :: String |
167 | c890f66a | Jose A. Lopes | luxidUser = Runtime.daemonUser GanetiLuxid |
168 | 85c48fbb | Jose A. Lopes | |
169 | c890f66a | Jose A. Lopes | luxidGroup :: String |
170 | c890f66a | Jose A. Lopes | luxidGroup = Runtime.daemonGroup (DaemonGroup GanetiLuxid) |
171 | 85c48fbb | Jose A. Lopes | |
172 | c890f66a | Jose A. Lopes | nodedUser :: String |
173 | c890f66a | Jose A. Lopes | nodedUser = Runtime.daemonUser GanetiNoded |
174 | 85c48fbb | Jose A. Lopes | |
175 | c890f66a | Jose A. Lopes | nodedGroup :: String |
176 | c890f66a | Jose A. Lopes | nodedGroup = Runtime.daemonGroup (DaemonGroup GanetiNoded) |
177 | 85c48fbb | Jose A. Lopes | |
178 | c890f66a | Jose A. Lopes | mondUser :: String |
179 | c890f66a | Jose A. Lopes | mondUser = Runtime.daemonUser GanetiMond |
180 | 85c48fbb | Jose A. Lopes | |
181 | c890f66a | Jose A. Lopes | mondGroup :: String |
182 | c890f66a | Jose A. Lopes | mondGroup = Runtime.daemonGroup (DaemonGroup GanetiMond) |
183 | 85c48fbb | Jose A. Lopes | |
184 | c890f66a | Jose A. Lopes | sshLoginUser :: String |
185 | c890f66a | Jose A. Lopes | sshLoginUser = AutoConf.sshLoginUser |
186 | 85c48fbb | Jose A. Lopes | |
187 | c890f66a | Jose A. Lopes | sshConsoleUser :: String |
188 | c890f66a | Jose A. Lopes | sshConsoleUser = AutoConf.sshConsoleUser |
189 | 85c48fbb | Jose A. Lopes | |
190 | 3b170ad4 | Jose A. Lopes | -- * 'autoconf' enable/disable |
191 | 3b170ad4 | Jose A. Lopes | |
192 | 3b170ad4 | Jose A. Lopes | enableConfd :: Bool |
193 | 3b170ad4 | Jose A. Lopes | enableConfd = AutoConf.enableConfd |
194 | 3b170ad4 | Jose A. Lopes | |
195 | 3b170ad4 | Jose A. Lopes | enableMond :: Bool |
196 | 3b170ad4 | Jose A. Lopes | enableMond = AutoConf.enableMond |
197 | 3b170ad4 | Jose A. Lopes | |
198 | 3b170ad4 | Jose A. Lopes | enableRestrictedCommands :: Bool |
199 | 3b170ad4 | Jose A. Lopes | enableRestrictedCommands = AutoConf.enableRestrictedCommands |
200 | 3b170ad4 | Jose A. Lopes | |
201 | 3b170ad4 | Jose A. Lopes | enableSplitQuery :: Bool |
202 | 3b170ad4 | Jose A. Lopes | enableSplitQuery = AutoConf.enableSplitQuery |
203 | 3b170ad4 | Jose A. Lopes | |
204 | c890f66a | Jose A. Lopes | -- * SSH constants |
205 | 85c48fbb | Jose A. Lopes | |
206 | c890f66a | Jose A. Lopes | ssh :: String |
207 | c890f66a | Jose A. Lopes | ssh = "ssh" |
208 | 85c48fbb | Jose A. Lopes | |
209 | c890f66a | Jose A. Lopes | scp :: String |
210 | c890f66a | Jose A. Lopes | scp = "scp" |
211 | 85c48fbb | Jose A. Lopes | |
212 | c890f66a | Jose A. Lopes | -- * Daemons |
213 | 85c48fbb | Jose A. Lopes | |
214 | c890f66a | Jose A. Lopes | confd :: String |
215 | c890f66a | Jose A. Lopes | confd = Runtime.daemonName GanetiConfd |
216 | 85c48fbb | Jose A. Lopes | |
217 | c890f66a | Jose A. Lopes | masterd :: String |
218 | c890f66a | Jose A. Lopes | masterd = Runtime.daemonName GanetiMasterd |
219 | 85c48fbb | Jose A. Lopes | |
220 | c890f66a | Jose A. Lopes | mond :: String |
221 | c890f66a | Jose A. Lopes | mond = Runtime.daemonName GanetiMond |
222 | 85c48fbb | Jose A. Lopes | |
223 | c890f66a | Jose A. Lopes | noded :: String |
224 | c890f66a | Jose A. Lopes | noded = Runtime.daemonName GanetiNoded |
225 | 85c48fbb | Jose A. Lopes | |
226 | c890f66a | Jose A. Lopes | luxid :: String |
227 | c890f66a | Jose A. Lopes | luxid = Runtime.daemonName GanetiLuxid |
228 | 85c48fbb | Jose A. Lopes | |
229 | c890f66a | Jose A. Lopes | rapi :: String |
230 | c890f66a | Jose A. Lopes | rapi = Runtime.daemonName GanetiRapi |
231 | 85c48fbb | Jose A. Lopes | |
232 | c890f66a | Jose A. Lopes | daemons :: FrozenSet String |
233 | c890f66a | Jose A. Lopes | daemons = |
234 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet [confd, |
235 | c890f66a | Jose A. Lopes | luxid, |
236 | c890f66a | Jose A. Lopes | masterd, |
237 | c890f66a | Jose A. Lopes | mond, |
238 | c890f66a | Jose A. Lopes | noded, |
239 | c890f66a | Jose A. Lopes | rapi] |
240 | 85c48fbb | Jose A. Lopes | |
241 | c890f66a | Jose A. Lopes | defaultConfdPort :: Int |
242 | c890f66a | Jose A. Lopes | defaultConfdPort = 1814 |
243 | 85c48fbb | Jose A. Lopes | |
244 | c890f66a | Jose A. Lopes | defaultMondPort :: Int |
245 | c890f66a | Jose A. Lopes | defaultMondPort = 1815 |
246 | 85c48fbb | Jose A. Lopes | |
247 | c890f66a | Jose A. Lopes | defaultNodedPort :: Int |
248 | c890f66a | Jose A. Lopes | defaultNodedPort = 1811 |
249 | 85c48fbb | Jose A. Lopes | |
250 | c890f66a | Jose A. Lopes | defaultRapiPort :: Int |
251 | c890f66a | Jose A. Lopes | defaultRapiPort = 5080 |
252 | 85c48fbb | Jose A. Lopes | |
253 | c890f66a | Jose A. Lopes | daemonsPorts :: Map String (Protocol, Int) |
254 | c890f66a | Jose A. Lopes | daemonsPorts = |
255 | c890f66a | Jose A. Lopes | Map.fromList [(confd, (Udp, defaultConfdPort)), |
256 | c890f66a | Jose A. Lopes | (mond, (Tcp, defaultMondPort)), |
257 | c890f66a | Jose A. Lopes | (noded, (Tcp, defaultNodedPort)), |
258 | c890f66a | Jose A. Lopes | (rapi, (Tcp, defaultRapiPort)), |
259 | c890f66a | Jose A. Lopes | (ssh, (Tcp, 22))] |
260 | 85c48fbb | Jose A. Lopes | |
261 | c890f66a | Jose A. Lopes | daemonsLogbase :: Map String String |
262 | c890f66a | Jose A. Lopes | daemonsLogbase = |
263 | c890f66a | Jose A. Lopes | Map.fromList |
264 | c890f66a | Jose A. Lopes | [ (Runtime.daemonName d, Runtime.daemonLogBase d) | d <- [minBound..] ] |
265 | 85c48fbb | Jose A. Lopes | |
266 | c890f66a | Jose A. Lopes | extraLogreasonAccess :: String |
267 | c890f66a | Jose A. Lopes | extraLogreasonAccess = Runtime.daemonsExtraLogbase GanetiMond AccessLog |
268 | 85c48fbb | Jose A. Lopes | |
269 | c890f66a | Jose A. Lopes | extraLogreasonError :: String |
270 | c890f66a | Jose A. Lopes | extraLogreasonError = Runtime.daemonsExtraLogbase GanetiMond ErrorLog |
271 | 85c48fbb | Jose A. Lopes | |
272 | c890f66a | Jose A. Lopes | devConsole :: String |
273 | c890f66a | Jose A. Lopes | devConsole = ConstantUtils.devConsole |
274 | 85c48fbb | Jose A. Lopes | |
275 | c890f66a | Jose A. Lopes | -- * Syslog |
276 | 85c48fbb | Jose A. Lopes | |
277 | c890f66a | Jose A. Lopes | syslogUsage :: String |
278 | c890f66a | Jose A. Lopes | syslogUsage = AutoConf.syslogUsage |
279 | 85c48fbb | Jose A. Lopes | |
280 | c890f66a | Jose A. Lopes | syslogNo :: String |
281 | c890f66a | Jose A. Lopes | syslogNo = Logging.syslogUsageToRaw SyslogNo |
282 | 85c48fbb | Jose A. Lopes | |
283 | c890f66a | Jose A. Lopes | syslogYes :: String |
284 | c890f66a | Jose A. Lopes | syslogYes = Logging.syslogUsageToRaw SyslogYes |
285 | 85c48fbb | Jose A. Lopes | |
286 | c890f66a | Jose A. Lopes | syslogOnly :: String |
287 | c890f66a | Jose A. Lopes | syslogOnly = Logging.syslogUsageToRaw SyslogOnly |
288 | 85c48fbb | Jose A. Lopes | |
289 | c890f66a | Jose A. Lopes | syslogSocket :: String |
290 | c890f66a | Jose A. Lopes | syslogSocket = "/dev/log" |
291 | 85c48fbb | Jose A. Lopes | |
292 | c890f66a | Jose A. Lopes | -- * Xen |
293 | 85c48fbb | Jose A. Lopes | |
294 | c890f66a | Jose A. Lopes | xenBootloader :: String |
295 | c890f66a | Jose A. Lopes | xenBootloader = AutoConf.xenBootloader |
296 | 85c48fbb | Jose A. Lopes | |
297 | c890f66a | Jose A. Lopes | xenCmdXl :: String |
298 | c890f66a | Jose A. Lopes | xenCmdXl = "xl" |
299 | 85c48fbb | Jose A. Lopes | |
300 | c890f66a | Jose A. Lopes | xenCmdXm :: String |
301 | c890f66a | Jose A. Lopes | xenCmdXm = "xm" |
302 | 85c48fbb | Jose A. Lopes | |
303 | c890f66a | Jose A. Lopes | xenInitrd :: String |
304 | c890f66a | Jose A. Lopes | xenInitrd = AutoConf.xenInitrd |
305 | 85c48fbb | Jose A. Lopes | |
306 | c890f66a | Jose A. Lopes | xenKernel :: String |
307 | c890f66a | Jose A. Lopes | xenKernel = AutoConf.xenKernel |
308 | 85c48fbb | Jose A. Lopes | |
309 | c890f66a | Jose A. Lopes | -- FIXME: perhaps rename to 'validXenCommands' for consistency with |
310 | c890f66a | Jose A. Lopes | -- other constants |
311 | c890f66a | Jose A. Lopes | knownXenCommands :: FrozenSet String |
312 | c890f66a | Jose A. Lopes | knownXenCommands = ConstantUtils.mkSet [xenCmdXl, xenCmdXm] |
313 | 85c48fbb | Jose A. Lopes | |
314 | 3b170ad4 | Jose A. Lopes | -- * KVM and socat |
315 | 3b170ad4 | Jose A. Lopes | |
316 | 3b170ad4 | Jose A. Lopes | kvmPath :: String |
317 | 3b170ad4 | Jose A. Lopes | kvmPath = AutoConf.kvmPath |
318 | 3b170ad4 | Jose A. Lopes | |
319 | 3b170ad4 | Jose A. Lopes | kvmKernel :: String |
320 | 3b170ad4 | Jose A. Lopes | kvmKernel = AutoConf.kvmKernel |
321 | 3b170ad4 | Jose A. Lopes | |
322 | 3b170ad4 | Jose A. Lopes | socatEscapeCode :: String |
323 | 3b170ad4 | Jose A. Lopes | socatEscapeCode = "0x1d" |
324 | 3b170ad4 | Jose A. Lopes | |
325 | 3b170ad4 | Jose A. Lopes | socatPath :: String |
326 | 3b170ad4 | Jose A. Lopes | socatPath = AutoConf.socatPath |
327 | 3b170ad4 | Jose A. Lopes | |
328 | 3b170ad4 | Jose A. Lopes | socatUseCompress :: Bool |
329 | 3b170ad4 | Jose A. Lopes | socatUseCompress = AutoConf.socatUseCompress |
330 | 3b170ad4 | Jose A. Lopes | |
331 | 3b170ad4 | Jose A. Lopes | socatUseEscape :: Bool |
332 | 3b170ad4 | Jose A. Lopes | socatUseEscape = AutoConf.socatUseEscape |
333 | 3b170ad4 | Jose A. Lopes | |
334 | c890f66a | Jose A. Lopes | -- * Storage types |
335 | 85c48fbb | Jose A. Lopes | |
336 | c890f66a | Jose A. Lopes | stBlock :: String |
337 | c890f66a | Jose A. Lopes | stBlock = Types.storageTypeToRaw StorageBlock |
338 | 85c48fbb | Jose A. Lopes | |
339 | c890f66a | Jose A. Lopes | stDiskless :: String |
340 | c890f66a | Jose A. Lopes | stDiskless = Types.storageTypeToRaw StorageDiskless |
341 | 85c48fbb | Jose A. Lopes | |
342 | c890f66a | Jose A. Lopes | stExt :: String |
343 | c890f66a | Jose A. Lopes | stExt = Types.storageTypeToRaw StorageExt |
344 | 85c48fbb | Jose A. Lopes | |
345 | c890f66a | Jose A. Lopes | stFile :: String |
346 | c890f66a | Jose A. Lopes | stFile = Types.storageTypeToRaw StorageFile |
347 | 85c48fbb | Jose A. Lopes | |
348 | c890f66a | Jose A. Lopes | stLvmPv :: String |
349 | c890f66a | Jose A. Lopes | stLvmPv = Types.storageTypeToRaw StorageLvmPv |
350 | 85c48fbb | Jose A. Lopes | |
351 | c890f66a | Jose A. Lopes | stLvmVg :: String |
352 | c890f66a | Jose A. Lopes | stLvmVg = Types.storageTypeToRaw StorageLvmVg |
353 | 85c48fbb | Jose A. Lopes | |
354 | c890f66a | Jose A. Lopes | stRados :: String |
355 | c890f66a | Jose A. Lopes | stRados = Types.storageTypeToRaw StorageRados |
356 | 85c48fbb | Jose A. Lopes | |
357 | c890f66a | Jose A. Lopes | storageTypes :: FrozenSet String |
358 | c890f66a | Jose A. Lopes | storageTypes = ConstantUtils.mkSet $ map Types.storageTypeToRaw [minBound..] |
359 | 85c48fbb | Jose A. Lopes | |
360 | c890f66a | Jose A. Lopes | -- * Storage fields |
361 | c890f66a | Jose A. Lopes | -- ** First two are valid in LU context only, not passed to backend |
362 | 85c48fbb | Jose A. Lopes | |
363 | c890f66a | Jose A. Lopes | sfNode :: String |
364 | c890f66a | Jose A. Lopes | sfNode = "node" |
365 | 85c48fbb | Jose A. Lopes | |
366 | c890f66a | Jose A. Lopes | sfType :: String |
367 | c890f66a | Jose A. Lopes | sfType = "type" |
368 | 85c48fbb | Jose A. Lopes | |
369 | c890f66a | Jose A. Lopes | -- ** and the rest are valid in backend |
370 | 85c48fbb | Jose A. Lopes | |
371 | c890f66a | Jose A. Lopes | sfAllocatable :: String |
372 | c890f66a | Jose A. Lopes | sfAllocatable = Types.storageFieldToRaw SFAllocatable |
373 | 85c48fbb | Jose A. Lopes | |
374 | c890f66a | Jose A. Lopes | sfFree :: String |
375 | c890f66a | Jose A. Lopes | sfFree = Types.storageFieldToRaw SFFree |
376 | 85c48fbb | Jose A. Lopes | |
377 | c890f66a | Jose A. Lopes | sfName :: String |
378 | c890f66a | Jose A. Lopes | sfName = Types.storageFieldToRaw SFName |
379 | 85c48fbb | Jose A. Lopes | |
380 | c890f66a | Jose A. Lopes | sfSize :: String |
381 | c890f66a | Jose A. Lopes | sfSize = Types.storageFieldToRaw SFSize |
382 | 85c48fbb | Jose A. Lopes | |
383 | c890f66a | Jose A. Lopes | sfUsed :: String |
384 | c890f66a | Jose A. Lopes | sfUsed = Types.storageFieldToRaw SFUsed |
385 | 85c48fbb | Jose A. Lopes | |
386 | c890f66a | Jose A. Lopes | -- * Disk template types |
387 | 85c48fbb | Jose A. Lopes | |
388 | c890f66a | Jose A. Lopes | dtDiskless :: String |
389 | c890f66a | Jose A. Lopes | dtDiskless = Types.diskTemplateToRaw DTDiskless |
390 | 85c48fbb | Jose A. Lopes | |
391 | c890f66a | Jose A. Lopes | dtFile :: String |
392 | c890f66a | Jose A. Lopes | dtFile = Types.diskTemplateToRaw DTFile |
393 | 85c48fbb | Jose A. Lopes | |
394 | c890f66a | Jose A. Lopes | dtSharedFile :: String |
395 | c890f66a | Jose A. Lopes | dtSharedFile = Types.diskTemplateToRaw DTSharedFile |
396 | 85c48fbb | Jose A. Lopes | |
397 | c890f66a | Jose A. Lopes | dtPlain :: String |
398 | c890f66a | Jose A. Lopes | dtPlain = Types.diskTemplateToRaw DTPlain |
399 | 85c48fbb | Jose A. Lopes | |
400 | c890f66a | Jose A. Lopes | dtBlock :: String |
401 | c890f66a | Jose A. Lopes | dtBlock = Types.diskTemplateToRaw DTBlock |
402 | 85c48fbb | Jose A. Lopes | |
403 | c890f66a | Jose A. Lopes | dtDrbd8 :: String |
404 | c890f66a | Jose A. Lopes | dtDrbd8 = Types.diskTemplateToRaw DTDrbd8 |
405 | 85c48fbb | Jose A. Lopes | |
406 | c890f66a | Jose A. Lopes | dtRbd :: String |
407 | c890f66a | Jose A. Lopes | dtRbd = Types.diskTemplateToRaw DTRbd |
408 | 85c48fbb | Jose A. Lopes | |
409 | c890f66a | Jose A. Lopes | dtExt :: String |
410 | c890f66a | Jose A. Lopes | dtExt = Types.diskTemplateToRaw DTExt |
411 | 85c48fbb | Jose A. Lopes | |
412 | c890f66a | Jose A. Lopes | -- | This is used to order determine the default disk template when |
413 | c890f66a | Jose A. Lopes | -- the list of enabled disk templates is inferred from the current |
414 | c890f66a | Jose A. Lopes | -- state of the cluster. This only happens on an upgrade from a |
415 | c890f66a | Jose A. Lopes | -- version of Ganeti that did not support the 'enabled_disk_templates' |
416 | c890f66a | Jose A. Lopes | -- so far. |
417 | c890f66a | Jose A. Lopes | diskTemplatePreference :: [String] |
418 | c890f66a | Jose A. Lopes | diskTemplatePreference = |
419 | c890f66a | Jose A. Lopes | map Types.diskTemplateToRaw |
420 | c890f66a | Jose A. Lopes | [DTBlock, DTDiskless, DTDrbd8, DTExt, DTFile, DTPlain, DTRbd, DTSharedFile] |
421 | 85c48fbb | Jose A. Lopes | |
422 | c890f66a | Jose A. Lopes | diskTemplates :: FrozenSet String |
423 | c890f66a | Jose A. Lopes | diskTemplates = ConstantUtils.mkSet $ map Types.diskTemplateToRaw [minBound..] |
424 | 85c48fbb | Jose A. Lopes | |
425 | c890f66a | Jose A. Lopes | -- | Disk templates that are enabled by default |
426 | c890f66a | Jose A. Lopes | defaultEnabledDiskTemplates :: [String] |
427 | c890f66a | Jose A. Lopes | defaultEnabledDiskTemplates = map Types.diskTemplateToRaw [DTDrbd8, DTPlain] |
428 | 85c48fbb | Jose A. Lopes | |
429 | c890f66a | Jose A. Lopes | -- * File backend driver |
430 | 85c48fbb | Jose A. Lopes | |
431 | c890f66a | Jose A. Lopes | fdBlktap :: String |
432 | c890f66a | Jose A. Lopes | fdBlktap = Types.fileDriverToRaw FileBlktap |
433 | 85c48fbb | Jose A. Lopes | |
434 | c890f66a | Jose A. Lopes | fdLoop :: String |
435 | c890f66a | Jose A. Lopes | fdLoop = Types.fileDriverToRaw FileLoop |
436 | 85c48fbb | Jose A. Lopes | |
437 | c890f66a | Jose A. Lopes | -- * Disk access mode |
438 | 85c48fbb | Jose A. Lopes | |
439 | c890f66a | Jose A. Lopes | diskRdonly :: String |
440 | c890f66a | Jose A. Lopes | diskRdonly = Types.diskModeToRaw DiskRdOnly |
441 | 85c48fbb | Jose A. Lopes | |
442 | c890f66a | Jose A. Lopes | diskRdwr :: String |
443 | c890f66a | Jose A. Lopes | diskRdwr = Types.diskModeToRaw DiskRdWr |
444 | 85c48fbb | Jose A. Lopes | |
445 | c890f66a | Jose A. Lopes | diskAccessSet :: FrozenSet String |
446 | c890f66a | Jose A. Lopes | diskAccessSet = ConstantUtils.mkSet $ map Types.diskModeToRaw [minBound..] |
447 | 85c48fbb | Jose A. Lopes | |
448 | c890f66a | Jose A. Lopes | -- * Instance export mode |
449 | 85c48fbb | Jose A. Lopes | |
450 | c890f66a | Jose A. Lopes | exportModeLocal :: String |
451 | c890f66a | Jose A. Lopes | exportModeLocal = Types.exportModeToRaw ExportModeLocal |
452 | 85c48fbb | Jose A. Lopes | |
453 | c890f66a | Jose A. Lopes | exportModeRemote :: String |
454 | c890f66a | Jose A. Lopes | exportModeRemote = Types.exportModeToRaw ExportModeRemote |
455 | 85c48fbb | Jose A. Lopes | |
456 | c890f66a | Jose A. Lopes | exportModes :: FrozenSet String |
457 | c890f66a | Jose A. Lopes | exportModes = ConstantUtils.mkSet $ map Types.exportModeToRaw [minBound..] |
458 | 85c48fbb | Jose A. Lopes | |
459 | c890f66a | Jose A. Lopes | -- * Instance creation modes |
460 | 85c48fbb | Jose A. Lopes | |
461 | c890f66a | Jose A. Lopes | instanceCreate :: String |
462 | c890f66a | Jose A. Lopes | instanceCreate = Types.instCreateModeToRaw InstCreate |
463 | 85c48fbb | Jose A. Lopes | |
464 | c890f66a | Jose A. Lopes | instanceImport :: String |
465 | c890f66a | Jose A. Lopes | instanceImport = Types.instCreateModeToRaw InstImport |
466 | 85c48fbb | Jose A. Lopes | |
467 | c890f66a | Jose A. Lopes | instanceRemoteImport :: String |
468 | c890f66a | Jose A. Lopes | instanceRemoteImport = Types.instCreateModeToRaw InstRemoteImport |
469 | 85c48fbb | Jose A. Lopes | |
470 | c890f66a | Jose A. Lopes | instanceCreateModes :: FrozenSet String |
471 | c890f66a | Jose A. Lopes | instanceCreateModes = |
472 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.instCreateModeToRaw [minBound..] |
473 | 9413ef24 | Jose A. Lopes | |
474 | c890f66a | Jose A. Lopes | -- * Dynamic device modification |
475 | 9413ef24 | Jose A. Lopes | |
476 | c890f66a | Jose A. Lopes | ddmAdd :: String |
477 | c890f66a | Jose A. Lopes | ddmAdd = Types.ddmFullToRaw DdmFullAdd |
478 | 1b2adaa6 | Jose A. Lopes | |
479 | c890f66a | Jose A. Lopes | ddmModify :: String |
480 | c890f66a | Jose A. Lopes | ddmModify = Types.ddmFullToRaw DdmFullModify |
481 | 1b2adaa6 | Jose A. Lopes | |
482 | c890f66a | Jose A. Lopes | ddmRemove :: String |
483 | c890f66a | Jose A. Lopes | ddmRemove = Types.ddmFullToRaw DdmFullRemove |
484 | 9413ef24 | Jose A. Lopes | |
485 | c890f66a | Jose A. Lopes | ddmsValues :: FrozenSet String |
486 | c890f66a | Jose A. Lopes | ddmsValues = ConstantUtils.mkSet [ddmAdd, ddmRemove] |
487 | 5867e439 | Jose A. Lopes | |
488 | c890f66a | Jose A. Lopes | ddmsValuesWithModify :: FrozenSet String |
489 | c890f66a | Jose A. Lopes | ddmsValuesWithModify = ConstantUtils.mkSet $ map Types.ddmFullToRaw [minBound..] |
490 | 5867e439 | Jose A. Lopes | |
491 | c890f66a | Jose A. Lopes | -- * Common exit codes |
492 | 5867e439 | Jose A. Lopes | |
493 | c890f66a | Jose A. Lopes | exitSuccess :: Int |
494 | c890f66a | Jose A. Lopes | exitSuccess = 0 |
495 | 5867e439 | Jose A. Lopes | |
496 | c890f66a | Jose A. Lopes | exitFailure :: Int |
497 | c890f66a | Jose A. Lopes | exitFailure = ConstantUtils.exitFailure |
498 | 5867e439 | Jose A. Lopes | |
499 | c890f66a | Jose A. Lopes | exitNotcluster :: Int |
500 | c890f66a | Jose A. Lopes | exitNotcluster = 5 |
501 | 5867e439 | Jose A. Lopes | |
502 | c890f66a | Jose A. Lopes | exitNotmaster :: Int |
503 | c890f66a | Jose A. Lopes | exitNotmaster = 11 |
504 | 5867e439 | Jose A. Lopes | |
505 | c890f66a | Jose A. Lopes | exitNodesetupError :: Int |
506 | c890f66a | Jose A. Lopes | exitNodesetupError = 12 |
507 | 26eca119 | Jose A. Lopes | |
508 | c890f66a | Jose A. Lopes | -- | Need user confirmation |
509 | c890f66a | Jose A. Lopes | exitConfirmation :: Int |
510 | c890f66a | Jose A. Lopes | exitConfirmation = 13 |
511 | 85c48fbb | Jose A. Lopes | |
512 | c890f66a | Jose A. Lopes | -- | Exit code for query operations with unknown fields |
513 | c890f66a | Jose A. Lopes | exitUnknownField :: Int |
514 | c890f66a | Jose A. Lopes | exitUnknownField = 14 |
515 | 85c48fbb | Jose A. Lopes | |
516 | c890f66a | Jose A. Lopes | -- * Tags |
517 | 85c48fbb | Jose A. Lopes | |
518 | c890f66a | Jose A. Lopes | tagCluster :: String |
519 | c890f66a | Jose A. Lopes | tagCluster = Types.tagKindToRaw TagKindCluster |
520 | 85c48fbb | Jose A. Lopes | |
521 | c890f66a | Jose A. Lopes | tagInstance :: String |
522 | c890f66a | Jose A. Lopes | tagInstance = Types.tagKindToRaw TagKindInstance |
523 | 85c48fbb | Jose A. Lopes | |
524 | c890f66a | Jose A. Lopes | tagNetwork :: String |
525 | c890f66a | Jose A. Lopes | tagNetwork = Types.tagKindToRaw TagKindNetwork |
526 | 85c48fbb | Jose A. Lopes | |
527 | c890f66a | Jose A. Lopes | tagNode :: String |
528 | c890f66a | Jose A. Lopes | tagNode = Types.tagKindToRaw TagKindNode |
529 | 85c48fbb | Jose A. Lopes | |
530 | c890f66a | Jose A. Lopes | tagNodegroup :: String |
531 | c890f66a | Jose A. Lopes | tagNodegroup = Types.tagKindToRaw TagKindGroup |
532 | 85c48fbb | Jose A. Lopes | |
533 | c890f66a | Jose A. Lopes | validTagTypes :: FrozenSet String |
534 | c890f66a | Jose A. Lopes | validTagTypes = ConstantUtils.mkSet $ map Types.tagKindToRaw [minBound..] |
535 | 85c48fbb | Jose A. Lopes | |
536 | c890f66a | Jose A. Lopes | maxTagLen :: Int |
537 | c890f66a | Jose A. Lopes | maxTagLen = 128 |
538 | 85c48fbb | Jose A. Lopes | |
539 | c890f66a | Jose A. Lopes | maxTagsPerObj :: Int |
540 | c890f66a | Jose A. Lopes | maxTagsPerObj = 4096 |
541 | 85c48fbb | Jose A. Lopes | |
542 | 61e32567 | Jose A. Lopes | -- | Node clock skew in seconds |
543 | 61e32567 | Jose A. Lopes | nodeMaxClockSkew :: Int |
544 | 61e32567 | Jose A. Lopes | nodeMaxClockSkew = 150 |
545 | 61e32567 | Jose A. Lopes | |
546 | 3b170ad4 | Jose A. Lopes | -- | Disk index separator |
547 | 3b170ad4 | Jose A. Lopes | diskSeparator :: String |
548 | 3b170ad4 | Jose A. Lopes | diskSeparator = AutoConf.diskSeparator |
549 | 3b170ad4 | Jose A. Lopes | |
550 | 3b170ad4 | Jose A. Lopes | ipCommandPath :: String |
551 | 3b170ad4 | Jose A. Lopes | ipCommandPath = AutoConf.ipPath |
552 | 3b170ad4 | Jose A. Lopes | |
553 | c890f66a | Jose A. Lopes | -- * Reboot types |
554 | 85c48fbb | Jose A. Lopes | |
555 | c890f66a | Jose A. Lopes | instanceRebootSoft :: String |
556 | c890f66a | Jose A. Lopes | instanceRebootSoft = Types.rebootTypeToRaw RebootSoft |
557 | 85c48fbb | Jose A. Lopes | |
558 | c890f66a | Jose A. Lopes | instanceRebootHard :: String |
559 | c890f66a | Jose A. Lopes | instanceRebootHard = Types.rebootTypeToRaw RebootHard |
560 | 85c48fbb | Jose A. Lopes | |
561 | c890f66a | Jose A. Lopes | instanceRebootFull :: String |
562 | c890f66a | Jose A. Lopes | instanceRebootFull = Types.rebootTypeToRaw RebootFull |
563 | 85c48fbb | Jose A. Lopes | |
564 | c890f66a | Jose A. Lopes | rebootTypes :: FrozenSet String |
565 | c890f66a | Jose A. Lopes | rebootTypes = ConstantUtils.mkSet $ map Types.rebootTypeToRaw [minBound..] |
566 | 85c48fbb | Jose A. Lopes | |
567 | c890f66a | Jose A. Lopes | -- * VTypes |
568 | 85c48fbb | Jose A. Lopes | |
569 | c890f66a | Jose A. Lopes | vtypeBool :: String |
570 | c890f66a | Jose A. Lopes | vtypeBool = Types.vTypeToRaw VTypeBool |
571 | 85c48fbb | Jose A. Lopes | |
572 | c890f66a | Jose A. Lopes | vtypeInt :: String |
573 | c890f66a | Jose A. Lopes | vtypeInt = Types.vTypeToRaw VTypeInt |
574 | 85c48fbb | Jose A. Lopes | |
575 | c890f66a | Jose A. Lopes | vtypeMaybeString :: String |
576 | c890f66a | Jose A. Lopes | vtypeMaybeString = Types.vTypeToRaw VTypeMaybeString |
577 | 85c48fbb | Jose A. Lopes | |
578 | c890f66a | Jose A. Lopes | -- | Size in MiBs |
579 | c890f66a | Jose A. Lopes | vtypeSize :: String |
580 | c890f66a | Jose A. Lopes | vtypeSize = Types.vTypeToRaw VTypeSize |
581 | 85c48fbb | Jose A. Lopes | |
582 | c890f66a | Jose A. Lopes | vtypeString :: String |
583 | c890f66a | Jose A. Lopes | vtypeString = Types.vTypeToRaw VTypeString |
584 | 85c48fbb | Jose A. Lopes | |
585 | c890f66a | Jose A. Lopes | enforceableTypes :: FrozenSet String |
586 | c890f66a | Jose A. Lopes | enforceableTypes = ConstantUtils.mkSet $ map Types.vTypeToRaw [minBound..] |
587 | 85c48fbb | Jose A. Lopes | |
588 | c890f66a | Jose A. Lopes | -- * OOB supported commands |
589 | 85c48fbb | Jose A. Lopes | |
590 | c890f66a | Jose A. Lopes | oobPowerOn :: String |
591 | c890f66a | Jose A. Lopes | oobPowerOn = Types.oobCommandToRaw OobPowerOn |
592 | 85c48fbb | Jose A. Lopes | |
593 | c890f66a | Jose A. Lopes | oobPowerOff :: String |
594 | c890f66a | Jose A. Lopes | oobPowerOff = Types.oobCommandToRaw OobPowerOff |
595 | 85c48fbb | Jose A. Lopes | |
596 | c890f66a | Jose A. Lopes | oobPowerCycle :: String |
597 | c890f66a | Jose A. Lopes | oobPowerCycle = Types.oobCommandToRaw OobPowerCycle |
598 | 85c48fbb | Jose A. Lopes | |
599 | c890f66a | Jose A. Lopes | oobPowerStatus :: String |
600 | c890f66a | Jose A. Lopes | oobPowerStatus = Types.oobCommandToRaw OobPowerStatus |
601 | 85c48fbb | Jose A. Lopes | |
602 | c890f66a | Jose A. Lopes | oobHealth :: String |
603 | c890f66a | Jose A. Lopes | oobHealth = Types.oobCommandToRaw OobHealth |
604 | 85c48fbb | Jose A. Lopes | |
605 | c890f66a | Jose A. Lopes | oobCommands :: FrozenSet String |
606 | c890f66a | Jose A. Lopes | oobCommands = ConstantUtils.mkSet $ map Types.oobCommandToRaw [minBound..] |
607 | 85c48fbb | Jose A. Lopes | |
608 | c890f66a | Jose A. Lopes | oobPowerStatusPowered :: String |
609 | c890f66a | Jose A. Lopes | oobPowerStatusPowered = "powered" |
610 | 85c48fbb | Jose A. Lopes | |
611 | c890f66a | Jose A. Lopes | -- | 60 seconds |
612 | c890f66a | Jose A. Lopes | oobTimeout :: Int |
613 | c890f66a | Jose A. Lopes | oobTimeout = 60 |
614 | 85c48fbb | Jose A. Lopes | |
615 | c890f66a | Jose A. Lopes | -- | 2 seconds |
616 | c890f66a | Jose A. Lopes | oobPowerDelay :: Double |
617 | c890f66a | Jose A. Lopes | oobPowerDelay = 2.0 |
618 | 85c48fbb | Jose A. Lopes | |
619 | c890f66a | Jose A. Lopes | oobStatusCritical :: String |
620 | c890f66a | Jose A. Lopes | oobStatusCritical = Types.oobStatusToRaw OobStatusCritical |
621 | 85c48fbb | Jose A. Lopes | |
622 | c890f66a | Jose A. Lopes | oobStatusOk :: String |
623 | c890f66a | Jose A. Lopes | oobStatusOk = Types.oobStatusToRaw OobStatusOk |
624 | 85c48fbb | Jose A. Lopes | |
625 | c890f66a | Jose A. Lopes | oobStatusUnknown :: String |
626 | c890f66a | Jose A. Lopes | oobStatusUnknown = Types.oobStatusToRaw OobStatusUnknown |
627 | 85c48fbb | Jose A. Lopes | |
628 | c890f66a | Jose A. Lopes | oobStatusWarning :: String |
629 | c890f66a | Jose A. Lopes | oobStatusWarning = Types.oobStatusToRaw OobStatusWarning |
630 | 85c48fbb | Jose A. Lopes | |
631 | c890f66a | Jose A. Lopes | oobStatuses :: FrozenSet String |
632 | c890f66a | Jose A. Lopes | oobStatuses = ConstantUtils.mkSet $ map Types.oobStatusToRaw [minBound..] |
633 | 85c48fbb | Jose A. Lopes | |
634 | c890f66a | Jose A. Lopes | -- * NIC_* constants are used inside the ganeti config |
635 | 85c48fbb | Jose A. Lopes | |
636 | c890f66a | Jose A. Lopes | nicLink :: String |
637 | c890f66a | Jose A. Lopes | nicLink = "link" |
638 | 85c48fbb | Jose A. Lopes | |
639 | c890f66a | Jose A. Lopes | nicMode :: String |
640 | c890f66a | Jose A. Lopes | nicMode = "mode" |
641 | 85c48fbb | Jose A. Lopes | |
642 | c890f66a | Jose A. Lopes | nicVlan :: String |
643 | c890f66a | Jose A. Lopes | nicVlan = "vlan" |
644 | 85c48fbb | Jose A. Lopes | |
645 | c890f66a | Jose A. Lopes | nicModeBridged :: String |
646 | c890f66a | Jose A. Lopes | nicModeBridged = Types.nICModeToRaw NMBridged |
647 | 85c48fbb | Jose A. Lopes | |
648 | c890f66a | Jose A. Lopes | nicModeRouted :: String |
649 | c890f66a | Jose A. Lopes | nicModeRouted = Types.nICModeToRaw NMRouted |
650 | 85c48fbb | Jose A. Lopes | |
651 | c890f66a | Jose A. Lopes | nicModeOvs :: String |
652 | c890f66a | Jose A. Lopes | nicModeOvs = Types.nICModeToRaw NMOvs |
653 | 85c48fbb | Jose A. Lopes | |
654 | c890f66a | Jose A. Lopes | nicIpPool :: String |
655 | c890f66a | Jose A. Lopes | nicIpPool = Types.nICModeToRaw NMPool |
656 | 85c48fbb | Jose A. Lopes | |
657 | c890f66a | Jose A. Lopes | nicValidModes :: FrozenSet String |
658 | c890f66a | Jose A. Lopes | nicValidModes = ConstantUtils.mkSet $ map Types.nICModeToRaw [minBound..] |
659 | 85c48fbb | Jose A. Lopes | |
660 | c890f66a | Jose A. Lopes | -- * Hypervisor constants |
661 | 85c48fbb | Jose A. Lopes | |
662 | c890f66a | Jose A. Lopes | htXenPvm :: String |
663 | c890f66a | Jose A. Lopes | htXenPvm = Types.hypervisorToRaw XenPvm |
664 | 85c48fbb | Jose A. Lopes | |
665 | c890f66a | Jose A. Lopes | htFake :: String |
666 | c890f66a | Jose A. Lopes | htFake = Types.hypervisorToRaw Fake |
667 | 85c48fbb | Jose A. Lopes | |
668 | c890f66a | Jose A. Lopes | htXenHvm :: String |
669 | c890f66a | Jose A. Lopes | htXenHvm = Types.hypervisorToRaw XenHvm |
670 | 85c48fbb | Jose A. Lopes | |
671 | c890f66a | Jose A. Lopes | htKvm :: String |
672 | c890f66a | Jose A. Lopes | htKvm = Types.hypervisorToRaw Kvm |
673 | 85c48fbb | Jose A. Lopes | |
674 | c890f66a | Jose A. Lopes | htChroot :: String |
675 | c890f66a | Jose A. Lopes | htChroot = Types.hypervisorToRaw Chroot |
676 | 85c48fbb | Jose A. Lopes | |
677 | c890f66a | Jose A. Lopes | htLxc :: String |
678 | c890f66a | Jose A. Lopes | htLxc = Types.hypervisorToRaw Lxc |
679 | 85c48fbb | Jose A. Lopes | |
680 | c890f66a | Jose A. Lopes | hyperTypes :: FrozenSet String |
681 | c890f66a | Jose A. Lopes | hyperTypes = ConstantUtils.mkSet $ map Types.hypervisorToRaw [minBound..] |
682 | 85c48fbb | Jose A. Lopes | |
683 | c890f66a | Jose A. Lopes | htsReqPort :: FrozenSet String |
684 | c890f66a | Jose A. Lopes | htsReqPort = ConstantUtils.mkSet [htXenHvm, htKvm] |
685 | 85c48fbb | Jose A. Lopes | |
686 | c890f66a | Jose A. Lopes | -- * Migration type |
687 | 26eca119 | Jose A. Lopes | |
688 | c890f66a | Jose A. Lopes | htMigrationLive :: String |
689 | c890f66a | Jose A. Lopes | htMigrationLive = Types.migrationModeToRaw MigrationLive |
690 | 26eca119 | Jose A. Lopes | |
691 | c890f66a | Jose A. Lopes | htMigrationNonlive :: String |
692 | c890f66a | Jose A. Lopes | htMigrationNonlive = Types.migrationModeToRaw MigrationNonLive |
693 | 26eca119 | Jose A. Lopes | |
694 | c890f66a | Jose A. Lopes | htMigrationModes :: FrozenSet String |
695 | c890f66a | Jose A. Lopes | htMigrationModes = |
696 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.migrationModeToRaw [minBound..] |
697 | 26eca119 | Jose A. Lopes | |
698 | c890f66a | Jose A. Lopes | -- * Cluster verify steps |
699 | 26eca119 | Jose A. Lopes | |
700 | c890f66a | Jose A. Lopes | verifyNplusoneMem :: String |
701 | c890f66a | Jose A. Lopes | verifyNplusoneMem = Types.verifyOptionalChecksToRaw VerifyNPlusOneMem |
702 | 26eca119 | Jose A. Lopes | |
703 | c890f66a | Jose A. Lopes | verifyOptionalChecks :: FrozenSet String |
704 | c890f66a | Jose A. Lopes | verifyOptionalChecks = |
705 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.verifyOptionalChecksToRaw [minBound..] |
706 | 26eca119 | Jose A. Lopes | |
707 | c890f66a | Jose A. Lopes | -- * Cluster Verify error classes |
708 | 26eca119 | Jose A. Lopes | |
709 | c890f66a | Jose A. Lopes | cvTcluster :: String |
710 | c890f66a | Jose A. Lopes | cvTcluster = "cluster" |
711 | 26eca119 | Jose A. Lopes | |
712 | c890f66a | Jose A. Lopes | cvTgroup :: String |
713 | c890f66a | Jose A. Lopes | cvTgroup = "group" |
714 | 26eca119 | Jose A. Lopes | |
715 | c890f66a | Jose A. Lopes | cvTnode :: String |
716 | c890f66a | Jose A. Lopes | cvTnode = "node" |
717 | 26eca119 | Jose A. Lopes | |
718 | c890f66a | Jose A. Lopes | cvTinstance :: String |
719 | c890f66a | Jose A. Lopes | cvTinstance = "instance" |
720 | 26eca119 | Jose A. Lopes | |
721 | c890f66a | Jose A. Lopes | -- * Cluster Verify error codes and documentation |
722 | 26eca119 | Jose A. Lopes | |
723 | c890f66a | Jose A. Lopes | cvEclustercert :: (String, String, String) |
724 | c890f66a | Jose A. Lopes | cvEclustercert = |
725 | c890f66a | Jose A. Lopes | ("cluster", |
726 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERCERT, |
727 | c890f66a | Jose A. Lopes | "Cluster certificate files verification failure") |
728 | 26eca119 | Jose A. Lopes | |
729 | c890f66a | Jose A. Lopes | cvEclustercfg :: (String, String, String) |
730 | c890f66a | Jose A. Lopes | cvEclustercfg = |
731 | c890f66a | Jose A. Lopes | ("cluster", |
732 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERCFG, |
733 | c890f66a | Jose A. Lopes | "Cluster configuration verification failure") |
734 | 26eca119 | Jose A. Lopes | |
735 | c890f66a | Jose A. Lopes | cvEclusterdanglinginst :: (String, String, String) |
736 | c890f66a | Jose A. Lopes | cvEclusterdanglinginst = |
737 | c890f66a | Jose A. Lopes | ("node", |
738 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERDANGLINGINST, |
739 | c890f66a | Jose A. Lopes | "Some instances have a non-existing primary node") |
740 | 26eca119 | Jose A. Lopes | |
741 | c890f66a | Jose A. Lopes | cvEclusterdanglingnodes :: (String, String, String) |
742 | c890f66a | Jose A. Lopes | cvEclusterdanglingnodes = |
743 | c890f66a | Jose A. Lopes | ("node", |
744 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERDANGLINGNODES, |
745 | c890f66a | Jose A. Lopes | "Some nodes belong to non-existing groups") |
746 | f361a6ee | Jose A. Lopes | |
747 | c890f66a | Jose A. Lopes | cvEclusterfilecheck :: (String, String, String) |
748 | c890f66a | Jose A. Lopes | cvEclusterfilecheck = |
749 | c890f66a | Jose A. Lopes | ("cluster", |
750 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERFILECHECK, |
751 | c890f66a | Jose A. Lopes | "Cluster configuration verification failure") |
752 | f361a6ee | Jose A. Lopes | |
753 | c890f66a | Jose A. Lopes | cvEgroupdifferentpvsize :: (String, String, String) |
754 | c890f66a | Jose A. Lopes | cvEgroupdifferentpvsize = |
755 | c890f66a | Jose A. Lopes | ("group", |
756 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEGROUPDIFFERENTPVSIZE, |
757 | c890f66a | Jose A. Lopes | "PVs in the group have different sizes") |
758 | f361a6ee | Jose A. Lopes | |
759 | c890f66a | Jose A. Lopes | cvEinstancebadnode :: (String, String, String) |
760 | c890f66a | Jose A. Lopes | cvEinstancebadnode = |
761 | c890f66a | Jose A. Lopes | ("instance", |
762 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEBADNODE, |
763 | c890f66a | Jose A. Lopes | "Instance marked as running lives on an offline node") |
764 | f361a6ee | Jose A. Lopes | |
765 | c890f66a | Jose A. Lopes | cvEinstancedown :: (String, String, String) |
766 | c890f66a | Jose A. Lopes | cvEinstancedown = |
767 | c890f66a | Jose A. Lopes | ("instance", |
768 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEDOWN, |
769 | c890f66a | Jose A. Lopes | "Instance not running on its primary node") |
770 | f361a6ee | Jose A. Lopes | |
771 | c890f66a | Jose A. Lopes | cvEinstancefaultydisk :: (String, String, String) |
772 | c890f66a | Jose A. Lopes | cvEinstancefaultydisk = |
773 | c890f66a | Jose A. Lopes | ("instance", |
774 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEFAULTYDISK, |
775 | c890f66a | Jose A. Lopes | "Impossible to retrieve status for a disk") |
776 | f361a6ee | Jose A. Lopes | |
777 | c890f66a | Jose A. Lopes | cvEinstancelayout :: (String, String, String) |
778 | c890f66a | Jose A. Lopes | cvEinstancelayout = |
779 | c890f66a | Jose A. Lopes | ("instance", |
780 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCELAYOUT, |
781 | c890f66a | Jose A. Lopes | "Instance has multiple secondary nodes") |
782 | f361a6ee | Jose A. Lopes | |
783 | c890f66a | Jose A. Lopes | cvEinstancemissingcfgparameter :: (String, String, String) |
784 | c890f66a | Jose A. Lopes | cvEinstancemissingcfgparameter = |
785 | c890f66a | Jose A. Lopes | ("instance", |
786 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEMISSINGCFGPARAMETER, |
787 | c890f66a | Jose A. Lopes | "A configuration parameter for an instance is missing") |
788 | f361a6ee | Jose A. Lopes | |
789 | c890f66a | Jose A. Lopes | cvEinstancemissingdisk :: (String, String, String) |
790 | c890f66a | Jose A. Lopes | cvEinstancemissingdisk = |
791 | c890f66a | Jose A. Lopes | ("instance", |
792 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEMISSINGDISK, |
793 | c890f66a | Jose A. Lopes | "Missing volume on an instance") |
794 | f361a6ee | Jose A. Lopes | |
795 | c890f66a | Jose A. Lopes | cvEinstancepolicy :: (String, String, String) |
796 | c890f66a | Jose A. Lopes | cvEinstancepolicy = |
797 | c890f66a | Jose A. Lopes | ("instance", |
798 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEPOLICY, |
799 | c890f66a | Jose A. Lopes | "Instance does not meet policy") |
800 | f361a6ee | Jose A. Lopes | |
801 | c890f66a | Jose A. Lopes | cvEinstancesplitgroups :: (String, String, String) |
802 | c890f66a | Jose A. Lopes | cvEinstancesplitgroups = |
803 | c890f66a | Jose A. Lopes | ("instance", |
804 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCESPLITGROUPS, |
805 | c890f66a | Jose A. Lopes | "Instance with primary and secondary nodes in different groups") |
806 | f361a6ee | Jose A. Lopes | |
807 | c890f66a | Jose A. Lopes | cvEinstanceunsuitablenode :: (String, String, String) |
808 | c890f66a | Jose A. Lopes | cvEinstanceunsuitablenode = |
809 | c890f66a | Jose A. Lopes | ("instance", |
810 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEUNSUITABLENODE, |
811 | c890f66a | Jose A. Lopes | "Instance running on nodes that are not suitable for it") |
812 | f361a6ee | Jose A. Lopes | |
813 | c890f66a | Jose A. Lopes | cvEinstancewrongnode :: (String, String, String) |
814 | c890f66a | Jose A. Lopes | cvEinstancewrongnode = |
815 | c890f66a | Jose A. Lopes | ("instance", |
816 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEWRONGNODE, |
817 | c890f66a | Jose A. Lopes | "Instance running on the wrong node") |
818 | 6dc0cb59 | Jose A. Lopes | |
819 | c890f66a | Jose A. Lopes | cvEnodedrbd :: (String, String, String) |
820 | c890f66a | Jose A. Lopes | cvEnodedrbd = |
821 | c890f66a | Jose A. Lopes | ("node", |
822 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEDRBD, |
823 | c890f66a | Jose A. Lopes | "Error parsing the DRBD status file") |
824 | 6dc0cb59 | Jose A. Lopes | |
825 | c890f66a | Jose A. Lopes | cvEnodedrbdhelper :: (String, String, String) |
826 | c890f66a | Jose A. Lopes | cvEnodedrbdhelper = |
827 | c890f66a | Jose A. Lopes | ("node", |
828 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEDRBDHELPER, |
829 | c890f66a | Jose A. Lopes | "Error caused by the DRBD helper") |
830 | 6dc0cb59 | Jose A. Lopes | |
831 | c890f66a | Jose A. Lopes | cvEnodedrbdversion :: (String, String, String) |
832 | c890f66a | Jose A. Lopes | cvEnodedrbdversion = |
833 | c890f66a | Jose A. Lopes | ("node", |
834 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEDRBDVERSION, |
835 | c890f66a | Jose A. Lopes | "DRBD version mismatch within a node group") |
836 | 6dc0cb59 | Jose A. Lopes | |
837 | c890f66a | Jose A. Lopes | cvEnodefilecheck :: (String, String, String) |
838 | c890f66a | Jose A. Lopes | cvEnodefilecheck = |
839 | c890f66a | Jose A. Lopes | ("node", |
840 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEFILECHECK, |
841 | c890f66a | Jose A. Lopes | "Error retrieving the checksum of the node files") |
842 | 6dc0cb59 | Jose A. Lopes | |
843 | c890f66a | Jose A. Lopes | cvEnodefilestoragepaths :: (String, String, String) |
844 | c890f66a | Jose A. Lopes | cvEnodefilestoragepaths = |
845 | c890f66a | Jose A. Lopes | ("node", |
846 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEFILESTORAGEPATHS, |
847 | c890f66a | Jose A. Lopes | "Detected bad file storage paths") |
848 | 856eb53c | Jose A. Lopes | |
849 | c890f66a | Jose A. Lopes | cvEnodefilestoragepathunusable :: (String, String, String) |
850 | c890f66a | Jose A. Lopes | cvEnodefilestoragepathunusable = |
851 | c890f66a | Jose A. Lopes | ("node", |
852 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEFILESTORAGEPATHUNUSABLE, |
853 | c890f66a | Jose A. Lopes | "File storage path unusable") |
854 | 1c31b263 | Jose A. Lopes | |
855 | c890f66a | Jose A. Lopes | cvEnodehooks :: (String, String, String) |
856 | c890f66a | Jose A. Lopes | cvEnodehooks = |
857 | c890f66a | Jose A. Lopes | ("node", |
858 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEHOOKS, |
859 | c890f66a | Jose A. Lopes | "Communication failure in hooks execution") |
860 | 1c31b263 | Jose A. Lopes | |
861 | c890f66a | Jose A. Lopes | cvEnodehv :: (String, String, String) |
862 | c890f66a | Jose A. Lopes | cvEnodehv = |
863 | c890f66a | Jose A. Lopes | ("node", |
864 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEHV, |
865 | c890f66a | Jose A. Lopes | "Hypervisor parameters verification failure") |
866 | df726590 | Jose A. Lopes | |
867 | c890f66a | Jose A. Lopes | cvEnodelvm :: (String, String, String) |
868 | c890f66a | Jose A. Lopes | cvEnodelvm = |
869 | c890f66a | Jose A. Lopes | ("node", |
870 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODELVM, |
871 | c890f66a | Jose A. Lopes | "LVM-related node error") |
872 | df726590 | Jose A. Lopes | |
873 | c890f66a | Jose A. Lopes | cvEnoden1 :: (String, String, String) |
874 | c890f66a | Jose A. Lopes | cvEnoden1 = |
875 | c890f66a | Jose A. Lopes | ("node", |
876 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEN1, |
877 | c890f66a | Jose A. Lopes | "Not enough memory to accommodate instance failovers") |
878 | df726590 | Jose A. Lopes | |
879 | c890f66a | Jose A. Lopes | cvEnodenet :: (String, String, String) |
880 | c890f66a | Jose A. Lopes | cvEnodenet = |
881 | c890f66a | Jose A. Lopes | ("node", |
882 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODENET, |
883 | c890f66a | Jose A. Lopes | "Network-related node error") |
884 | df726590 | Jose A. Lopes | |
885 | c890f66a | Jose A. Lopes | cvEnodeoobpath :: (String, String, String) |
886 | c890f66a | Jose A. Lopes | cvEnodeoobpath = |
887 | c890f66a | Jose A. Lopes | ("node", |
888 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEOOBPATH, |
889 | c890f66a | Jose A. Lopes | "Invalid Out Of Band path") |
890 | df726590 | Jose A. Lopes | |
891 | c890f66a | Jose A. Lopes | cvEnodeorphaninstance :: (String, String, String) |
892 | c890f66a | Jose A. Lopes | cvEnodeorphaninstance = |
893 | c890f66a | Jose A. Lopes | ("node", |
894 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEORPHANINSTANCE, |
895 | c890f66a | Jose A. Lopes | "Unknown intance running on a node") |
896 | df726590 | Jose A. Lopes | |
897 | c890f66a | Jose A. Lopes | cvEnodeorphanlv :: (String, String, String) |
898 | c890f66a | Jose A. Lopes | cvEnodeorphanlv = |
899 | c890f66a | Jose A. Lopes | ("node", |
900 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEORPHANLV, |
901 | c890f66a | Jose A. Lopes | "Unknown LVM logical volume") |
902 | df726590 | Jose A. Lopes | |
903 | c890f66a | Jose A. Lopes | cvEnodeos :: (String, String, String) |
904 | c890f66a | Jose A. Lopes | cvEnodeos = |
905 | c890f66a | Jose A. Lopes | ("node", |
906 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEOS, |
907 | c890f66a | Jose A. Lopes | "OS-related node error") |
908 | 7236533e | Jose A. Lopes | |
909 | c890f66a | Jose A. Lopes | cvEnoderpc :: (String, String, String) |
910 | c890f66a | Jose A. Lopes | cvEnoderpc = |
911 | c890f66a | Jose A. Lopes | ("node", |
912 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODERPC, |
913 | c890f66a | Jose A. Lopes | "Error during connection to the primary node of an instance") |
914 | 7236533e | Jose A. Lopes | |
915 | c890f66a | Jose A. Lopes | cvEnodesetup :: (String, String, String) |
916 | c890f66a | Jose A. Lopes | cvEnodesetup = |
917 | c890f66a | Jose A. Lopes | ("node", |
918 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODESETUP, |
919 | c890f66a | Jose A. Lopes | "Node setup error") |
920 | 7236533e | Jose A. Lopes | |
921 | c890f66a | Jose A. Lopes | cvEnodesharedfilestoragepathunusable :: (String, String, String) |
922 | c890f66a | Jose A. Lopes | cvEnodesharedfilestoragepathunusable = |
923 | c890f66a | Jose A. Lopes | ("node", |
924 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODESHAREDFILESTORAGEPATHUNUSABLE, |
925 | c890f66a | Jose A. Lopes | "Shared file storage path unusable") |
926 | 7236533e | Jose A. Lopes | |
927 | c890f66a | Jose A. Lopes | cvEnodessh :: (String, String, String) |
928 | c890f66a | Jose A. Lopes | cvEnodessh = |
929 | c890f66a | Jose A. Lopes | ("node", |
930 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODESSH, |
931 | c890f66a | Jose A. Lopes | "SSH-related node error") |
932 | 7236533e | Jose A. Lopes | |
933 | c890f66a | Jose A. Lopes | cvEnodetime :: (String, String, String) |
934 | c890f66a | Jose A. Lopes | cvEnodetime = |
935 | c890f66a | Jose A. Lopes | ("node", |
936 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODETIME, |
937 | c890f66a | Jose A. Lopes | "Node returned invalid time") |
938 | 7236533e | Jose A. Lopes | |
939 | c890f66a | Jose A. Lopes | cvEnodeuserscripts :: (String, String, String) |
940 | c890f66a | Jose A. Lopes | cvEnodeuserscripts = |
941 | c890f66a | Jose A. Lopes | ("node", |
942 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEUSERSCRIPTS, |
943 | c890f66a | Jose A. Lopes | "User scripts not present or not executable") |
944 | 7236533e | Jose A. Lopes | |
945 | c890f66a | Jose A. Lopes | cvEnodeversion :: (String, String, String) |
946 | c890f66a | Jose A. Lopes | cvEnodeversion = |
947 | c890f66a | Jose A. Lopes | ("node", |
948 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEVERSION, |
949 | c890f66a | Jose A. Lopes | "Protocol version mismatch or Ganeti version mismatch") |
950 | 85c48fbb | Jose A. Lopes | |
951 | c890f66a | Jose A. Lopes | cvAllEcodes :: FrozenSet (String, String, String) |
952 | c890f66a | Jose A. Lopes | cvAllEcodes = |
953 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet |
954 | c890f66a | Jose A. Lopes | [cvEclustercert, |
955 | c890f66a | Jose A. Lopes | cvEclustercfg, |
956 | c890f66a | Jose A. Lopes | cvEclusterdanglinginst, |
957 | c890f66a | Jose A. Lopes | cvEclusterdanglingnodes, |
958 | c890f66a | Jose A. Lopes | cvEclusterfilecheck, |
959 | c890f66a | Jose A. Lopes | cvEgroupdifferentpvsize, |
960 | c890f66a | Jose A. Lopes | cvEinstancebadnode, |
961 | c890f66a | Jose A. Lopes | cvEinstancedown, |
962 | c890f66a | Jose A. Lopes | cvEinstancefaultydisk, |
963 | c890f66a | Jose A. Lopes | cvEinstancelayout, |
964 | c890f66a | Jose A. Lopes | cvEinstancemissingcfgparameter, |
965 | c890f66a | Jose A. Lopes | cvEinstancemissingdisk, |
966 | c890f66a | Jose A. Lopes | cvEinstancepolicy, |
967 | c890f66a | Jose A. Lopes | cvEinstancesplitgroups, |
968 | c890f66a | Jose A. Lopes | cvEinstanceunsuitablenode, |
969 | c890f66a | Jose A. Lopes | cvEinstancewrongnode, |
970 | c890f66a | Jose A. Lopes | cvEnodedrbd, |
971 | c890f66a | Jose A. Lopes | cvEnodedrbdhelper, |
972 | c890f66a | Jose A. Lopes | cvEnodedrbdversion, |
973 | c890f66a | Jose A. Lopes | cvEnodefilecheck, |
974 | c890f66a | Jose A. Lopes | cvEnodefilestoragepaths, |
975 | c890f66a | Jose A. Lopes | cvEnodefilestoragepathunusable, |
976 | c890f66a | Jose A. Lopes | cvEnodehooks, |
977 | c890f66a | Jose A. Lopes | cvEnodehv, |
978 | c890f66a | Jose A. Lopes | cvEnodelvm, |
979 | c890f66a | Jose A. Lopes | cvEnoden1, |
980 | c890f66a | Jose A. Lopes | cvEnodenet, |
981 | c890f66a | Jose A. Lopes | cvEnodeoobpath, |
982 | c890f66a | Jose A. Lopes | cvEnodeorphaninstance, |
983 | c890f66a | Jose A. Lopes | cvEnodeorphanlv, |
984 | c890f66a | Jose A. Lopes | cvEnodeos, |
985 | c890f66a | Jose A. Lopes | cvEnoderpc, |
986 | c890f66a | Jose A. Lopes | cvEnodesetup, |
987 | c890f66a | Jose A. Lopes | cvEnodesharedfilestoragepathunusable, |
988 | c890f66a | Jose A. Lopes | cvEnodessh, |
989 | c890f66a | Jose A. Lopes | cvEnodetime, |
990 | c890f66a | Jose A. Lopes | cvEnodeuserscripts, |
991 | c890f66a | Jose A. Lopes | cvEnodeversion] |
992 | 85c48fbb | Jose A. Lopes | |
993 | c890f66a | Jose A. Lopes | cvAllEcodesStrings :: FrozenSet String |
994 | c890f66a | Jose A. Lopes | cvAllEcodesStrings = |
995 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.cVErrorCodeToRaw [minBound..] |
996 | 85c48fbb | Jose A. Lopes | |
997 | c890f66a | Jose A. Lopes | -- * Instance status |
998 | 85c48fbb | Jose A. Lopes | |
999 | c890f66a | Jose A. Lopes | inststAdmindown :: String |
1000 | c890f66a | Jose A. Lopes | inststAdmindown = Types.instanceStatusToRaw StatusDown |
1001 | 85c48fbb | Jose A. Lopes | |
1002 | c890f66a | Jose A. Lopes | inststAdminoffline :: String |
1003 | c890f66a | Jose A. Lopes | inststAdminoffline = Types.instanceStatusToRaw StatusOffline |
1004 | 85c48fbb | Jose A. Lopes | |
1005 | c890f66a | Jose A. Lopes | inststErrordown :: String |
1006 | c890f66a | Jose A. Lopes | inststErrordown = Types.instanceStatusToRaw ErrorDown |
1007 | 85c48fbb | Jose A. Lopes | |
1008 | c890f66a | Jose A. Lopes | inststErrorup :: String |
1009 | c890f66a | Jose A. Lopes | inststErrorup = Types.instanceStatusToRaw ErrorUp |
1010 | 85c48fbb | Jose A. Lopes | |
1011 | c890f66a | Jose A. Lopes | inststNodedown :: String |
1012 | c890f66a | Jose A. Lopes | inststNodedown = Types.instanceStatusToRaw NodeDown |
1013 | 85c48fbb | Jose A. Lopes | |
1014 | c890f66a | Jose A. Lopes | inststNodeoffline :: String |
1015 | c890f66a | Jose A. Lopes | inststNodeoffline = Types.instanceStatusToRaw NodeOffline |
1016 | 37248170 | Jose A. Lopes | |
1017 | c890f66a | Jose A. Lopes | inststRunning :: String |
1018 | c890f66a | Jose A. Lopes | inststRunning = Types.instanceStatusToRaw Running |
1019 | 37248170 | Jose A. Lopes | |
1020 | c890f66a | Jose A. Lopes | inststWrongnode :: String |
1021 | c890f66a | Jose A. Lopes | inststWrongnode = Types.instanceStatusToRaw WrongNode |
1022 | 37248170 | Jose A. Lopes | |
1023 | c890f66a | Jose A. Lopes | inststAll :: FrozenSet String |
1024 | c890f66a | Jose A. Lopes | inststAll = ConstantUtils.mkSet $ map Types.instanceStatusToRaw [minBound..] |
1025 | 37248170 | Jose A. Lopes | |
1026 | c890f66a | Jose A. Lopes | -- * Admin states |
1027 | 37248170 | Jose A. Lopes | |
1028 | c890f66a | Jose A. Lopes | adminstDown :: String |
1029 | c890f66a | Jose A. Lopes | adminstDown = Types.adminStateToRaw AdminDown |
1030 | 37248170 | Jose A. Lopes | |
1031 | c890f66a | Jose A. Lopes | adminstOffline :: String |
1032 | c890f66a | Jose A. Lopes | adminstOffline = Types.adminStateToRaw AdminOffline |
1033 | 37248170 | Jose A. Lopes | |
1034 | c890f66a | Jose A. Lopes | adminstUp :: String |
1035 | c890f66a | Jose A. Lopes | adminstUp = Types.adminStateToRaw AdminUp |
1036 | 37248170 | Jose A. Lopes | |
1037 | c890f66a | Jose A. Lopes | adminstAll :: FrozenSet String |
1038 | c890f66a | Jose A. Lopes | adminstAll = ConstantUtils.mkSet $ map Types.adminStateToRaw [minBound..] |
1039 | 37248170 | Jose A. Lopes | |
1040 | c890f66a | Jose A. Lopes | -- * Node roles |
1041 | 85c48fbb | Jose A. Lopes | |
1042 | c890f66a | Jose A. Lopes | nrDrained :: String |
1043 | c890f66a | Jose A. Lopes | nrDrained = Types.nodeRoleToRaw NRDrained |
1044 | 85c48fbb | Jose A. Lopes | |
1045 | c890f66a | Jose A. Lopes | nrMaster :: String |
1046 | c890f66a | Jose A. Lopes | nrMaster = Types.nodeRoleToRaw NRMaster |
1047 | 85c48fbb | Jose A. Lopes | |
1048 | c890f66a | Jose A. Lopes | nrMcandidate :: String |
1049 | c890f66a | Jose A. Lopes | nrMcandidate = Types.nodeRoleToRaw NRCandidate |
1050 | 85c48fbb | Jose A. Lopes | |
1051 | c890f66a | Jose A. Lopes | nrOffline :: String |
1052 | c890f66a | Jose A. Lopes | nrOffline = Types.nodeRoleToRaw NROffline |
1053 | 85c48fbb | Jose A. Lopes | |
1054 | c890f66a | Jose A. Lopes | nrRegular :: String |
1055 | c890f66a | Jose A. Lopes | nrRegular = Types.nodeRoleToRaw NRRegular |
1056 | 85c48fbb | Jose A. Lopes | |
1057 | c890f66a | Jose A. Lopes | nrAll :: FrozenSet String |
1058 | c890f66a | Jose A. Lopes | nrAll = ConstantUtils.mkSet $ map Types.nodeRoleToRaw [minBound..] |
1059 | 85c48fbb | Jose A. Lopes | |
1060 | c890f66a | Jose A. Lopes | -- * Allocator framework constants |
1061 | 85c48fbb | Jose A. Lopes | |
1062 | c890f66a | Jose A. Lopes | iallocatorVersion :: Int |
1063 | c890f66a | Jose A. Lopes | iallocatorVersion = 2 |
1064 | 85c48fbb | Jose A. Lopes | |
1065 | c890f66a | Jose A. Lopes | iallocatorDirIn :: String |
1066 | c890f66a | Jose A. Lopes | iallocatorDirIn = Types.iAllocatorTestDirToRaw IAllocatorDirIn |
1067 | 85c48fbb | Jose A. Lopes | |
1068 | c890f66a | Jose A. Lopes | iallocatorDirOut :: String |
1069 | c890f66a | Jose A. Lopes | iallocatorDirOut = Types.iAllocatorTestDirToRaw IAllocatorDirOut |
1070 | 85c48fbb | Jose A. Lopes | |
1071 | c890f66a | Jose A. Lopes | validIallocatorDirections :: FrozenSet String |
1072 | c890f66a | Jose A. Lopes | validIallocatorDirections = |
1073 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.iAllocatorTestDirToRaw [minBound..] |
1074 | 85c48fbb | Jose A. Lopes | |
1075 | c890f66a | Jose A. Lopes | iallocatorModeAlloc :: String |
1076 | c890f66a | Jose A. Lopes | iallocatorModeAlloc = Types.iAllocatorModeToRaw IAllocatorAlloc |
1077 | 85c48fbb | Jose A. Lopes | |
1078 | c890f66a | Jose A. Lopes | iallocatorModeChgGroup :: String |
1079 | c890f66a | Jose A. Lopes | iallocatorModeChgGroup = Types.iAllocatorModeToRaw IAllocatorChangeGroup |
1080 | 85c48fbb | Jose A. Lopes | |
1081 | c890f66a | Jose A. Lopes | iallocatorModeMultiAlloc :: String |
1082 | c890f66a | Jose A. Lopes | iallocatorModeMultiAlloc = Types.iAllocatorModeToRaw IAllocatorMultiAlloc |
1083 | 85c48fbb | Jose A. Lopes | |
1084 | c890f66a | Jose A. Lopes | iallocatorModeNodeEvac :: String |
1085 | c890f66a | Jose A. Lopes | iallocatorModeNodeEvac = Types.iAllocatorModeToRaw IAllocatorNodeEvac |
1086 | 5867e439 | Jose A. Lopes | |
1087 | c890f66a | Jose A. Lopes | iallocatorModeReloc :: String |
1088 | c890f66a | Jose A. Lopes | iallocatorModeReloc = Types.iAllocatorModeToRaw IAllocatorReloc |
1089 | 5867e439 | Jose A. Lopes | |
1090 | c890f66a | Jose A. Lopes | validIallocatorModes :: FrozenSet String |
1091 | c890f66a | Jose A. Lopes | validIallocatorModes = |
1092 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.iAllocatorModeToRaw [minBound..] |
1093 | 5867e439 | Jose A. Lopes | |
1094 | c890f66a | Jose A. Lopes | iallocatorSearchPath :: [String] |
1095 | c890f66a | Jose A. Lopes | iallocatorSearchPath = AutoConf.iallocatorSearchPath |
1096 | 5867e439 | Jose A. Lopes | |
1097 | c890f66a | Jose A. Lopes | defaultIallocatorShortcut :: String |
1098 | c890f66a | Jose A. Lopes | defaultIallocatorShortcut = "." |
1099 | 85c48fbb | Jose A. Lopes | |
1100 | c890f66a | Jose A. Lopes | iallocatorNevacPri :: String |
1101 | c890f66a | Jose A. Lopes | iallocatorNevacPri = Types.nodeEvacModeToRaw NEvacPrimary |
1102 | 85c48fbb | Jose A. Lopes | |
1103 | c890f66a | Jose A. Lopes | iallocatorNevacSec :: String |
1104 | c890f66a | Jose A. Lopes | iallocatorNevacSec = Types.nodeEvacModeToRaw NEvacSecondary |
1105 | 85c48fbb | Jose A. Lopes | |
1106 | c890f66a | Jose A. Lopes | iallocatorNevacAll :: String |
1107 | c890f66a | Jose A. Lopes | iallocatorNevacAll = Types.nodeEvacModeToRaw NEvacAll |
1108 | 85c48fbb | Jose A. Lopes | |
1109 | c890f66a | Jose A. Lopes | iallocatorNevacModes :: FrozenSet String |
1110 | c890f66a | Jose A. Lopes | iallocatorNevacModes = |
1111 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.nodeEvacModeToRaw [minBound..] |
1112 | 85c48fbb | Jose A. Lopes | |
1113 | c890f66a | Jose A. Lopes | -- * Node evacuation |
1114 | 85c48fbb | Jose A. Lopes | |
1115 | c890f66a | Jose A. Lopes | nodeEvacPri :: String |
1116 | c890f66a | Jose A. Lopes | nodeEvacPri = Types.nodeEvacModeToRaw NEvacPrimary |
1117 | 85c48fbb | Jose A. Lopes | |
1118 | c890f66a | Jose A. Lopes | nodeEvacSec :: String |
1119 | c890f66a | Jose A. Lopes | nodeEvacSec = Types.nodeEvacModeToRaw NEvacSecondary |
1120 | 85c48fbb | Jose A. Lopes | |
1121 | c890f66a | Jose A. Lopes | nodeEvacAll :: String |
1122 | c890f66a | Jose A. Lopes | nodeEvacAll = Types.nodeEvacModeToRaw NEvacAll |
1123 | 85c48fbb | Jose A. Lopes | |
1124 | c890f66a | Jose A. Lopes | nodeEvacModes :: FrozenSet String |
1125 | c890f66a | Jose A. Lopes | nodeEvacModes = ConstantUtils.mkSet $ map Types.nodeEvacModeToRaw [minBound..] |
1126 | 85c48fbb | Jose A. Lopes | |
1127 | c890f66a | Jose A. Lopes | -- * Job status |
1128 | 85c48fbb | Jose A. Lopes | |
1129 | c890f66a | Jose A. Lopes | jobStatusQueued :: String |
1130 | c890f66a | Jose A. Lopes | jobStatusQueued = Types.jobStatusToRaw JOB_STATUS_QUEUED |
1131 | 85c48fbb | Jose A. Lopes | |
1132 | c890f66a | Jose A. Lopes | jobStatusWaiting :: String |
1133 | c890f66a | Jose A. Lopes | jobStatusWaiting = Types.jobStatusToRaw JOB_STATUS_WAITING |
1134 | 85c48fbb | Jose A. Lopes | |
1135 | c890f66a | Jose A. Lopes | jobStatusCanceling :: String |
1136 | c890f66a | Jose A. Lopes | jobStatusCanceling = Types.jobStatusToRaw JOB_STATUS_CANCELING |
1137 | 85c48fbb | Jose A. Lopes | |
1138 | c890f66a | Jose A. Lopes | jobStatusRunning :: String |
1139 | c890f66a | Jose A. Lopes | jobStatusRunning = Types.jobStatusToRaw JOB_STATUS_RUNNING |
1140 | 85c48fbb | Jose A. Lopes | |
1141 | c890f66a | Jose A. Lopes | jobStatusCanceled :: String |
1142 | c890f66a | Jose A. Lopes | jobStatusCanceled = Types.jobStatusToRaw JOB_STATUS_CANCELED |
1143 | 43a9e860 | Jose A. Lopes | |
1144 | c890f66a | Jose A. Lopes | jobStatusSuccess :: String |
1145 | c890f66a | Jose A. Lopes | jobStatusSuccess = Types.jobStatusToRaw JOB_STATUS_SUCCESS |
1146 | 43a9e860 | Jose A. Lopes | |
1147 | c890f66a | Jose A. Lopes | jobStatusError :: String |
1148 | c890f66a | Jose A. Lopes | jobStatusError = Types.jobStatusToRaw JOB_STATUS_ERROR |
1149 | 43a9e860 | Jose A. Lopes | |
1150 | c890f66a | Jose A. Lopes | jobsPending :: FrozenSet String |
1151 | c890f66a | Jose A. Lopes | jobsPending = |
1152 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet [jobStatusQueued, jobStatusWaiting, jobStatusCanceling] |
1153 | 43a9e860 | Jose A. Lopes | |
1154 | c890f66a | Jose A. Lopes | jobsFinalized :: FrozenSet String |
1155 | c890f66a | Jose A. Lopes | jobsFinalized = |
1156 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.finalizedJobStatusToRaw [minBound..] |
1157 | 43a9e860 | Jose A. Lopes | |
1158 | c890f66a | Jose A. Lopes | jobStatusAll :: FrozenSet String |
1159 | c890f66a | Jose A. Lopes | jobStatusAll = ConstantUtils.mkSet $ map Types.jobStatusToRaw [minBound..] |
1160 | 43a9e860 | Jose A. Lopes | |
1161 | c890f66a | Jose A. Lopes | -- * OpCode status |
1162 | 43a9e860 | Jose A. Lopes | |
1163 | c890f66a | Jose A. Lopes | -- ** Not yet finalized opcodes |
1164 | 43a9e860 | Jose A. Lopes | |
1165 | c890f66a | Jose A. Lopes | opStatusCanceling :: String |
1166 | c890f66a | Jose A. Lopes | opStatusCanceling = "canceling" |
1167 | 85c48fbb | Jose A. Lopes | |
1168 | c890f66a | Jose A. Lopes | opStatusQueued :: String |
1169 | c890f66a | Jose A. Lopes | opStatusQueued = "queued" |
1170 | 85c48fbb | Jose A. Lopes | |
1171 | c890f66a | Jose A. Lopes | opStatusRunning :: String |
1172 | c890f66a | Jose A. Lopes | opStatusRunning = "running" |
1173 | 85c48fbb | Jose A. Lopes | |
1174 | c890f66a | Jose A. Lopes | opStatusWaiting :: String |
1175 | c890f66a | Jose A. Lopes | opStatusWaiting = "waiting" |
1176 | 85c48fbb | Jose A. Lopes | |
1177 | c890f66a | Jose A. Lopes | -- ** Finalized opcodes |
1178 | 85c48fbb | Jose A. Lopes | |
1179 | c890f66a | Jose A. Lopes | opStatusCanceled :: String |
1180 | c890f66a | Jose A. Lopes | opStatusCanceled = "canceled" |
1181 | 85c48fbb | Jose A. Lopes | |
1182 | c890f66a | Jose A. Lopes | opStatusError :: String |
1183 | c890f66a | Jose A. Lopes | opStatusError = "error" |
1184 | 85c48fbb | Jose A. Lopes | |
1185 | c890f66a | Jose A. Lopes | opStatusSuccess :: String |
1186 | c890f66a | Jose A. Lopes | opStatusSuccess = "success" |
1187 | 85c48fbb | Jose A. Lopes | |
1188 | c890f66a | Jose A. Lopes | opsFinalized :: FrozenSet String |
1189 | c890f66a | Jose A. Lopes | opsFinalized = |
1190 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet [opStatusCanceled, opStatusError, opStatusSuccess] |
1191 | 85c48fbb | Jose A. Lopes | |
1192 | c890f66a | Jose A. Lopes | -- * OpCode priority |
1193 | 85c48fbb | Jose A. Lopes | |
1194 | c890f66a | Jose A. Lopes | opPrioLowest :: Int |
1195 | c890f66a | Jose A. Lopes | opPrioLowest = 19 |
1196 | 85c48fbb | Jose A. Lopes | |
1197 | c890f66a | Jose A. Lopes | opPrioHighest :: Int |
1198 | c890f66a | Jose A. Lopes | opPrioHighest = -20 |
1199 | 85c48fbb | Jose A. Lopes | |
1200 | c890f66a | Jose A. Lopes | opPrioLow :: Int |
1201 | c890f66a | Jose A. Lopes | opPrioLow = Types.opSubmitPriorityToRaw OpPrioLow |
1202 | 85c48fbb | Jose A. Lopes | |
1203 | c890f66a | Jose A. Lopes | opPrioNormal :: Int |
1204 | c890f66a | Jose A. Lopes | opPrioNormal = Types.opSubmitPriorityToRaw OpPrioNormal |
1205 | 85c48fbb | Jose A. Lopes | |
1206 | c890f66a | Jose A. Lopes | opPrioHigh :: Int |
1207 | c890f66a | Jose A. Lopes | opPrioHigh = Types.opSubmitPriorityToRaw OpPrioHigh |
1208 | 5867e439 | Jose A. Lopes | |
1209 | c890f66a | Jose A. Lopes | opPrioSubmitValid :: FrozenSet Int |
1210 | c890f66a | Jose A. Lopes | opPrioSubmitValid = ConstantUtils.mkSet [opPrioLow, opPrioNormal, opPrioHigh] |
1211 | 5867e439 | Jose A. Lopes | |
1212 | c890f66a | Jose A. Lopes | opPrioDefault :: Int |
1213 | c890f66a | Jose A. Lopes | opPrioDefault = opPrioNormal |
1214 | 5867e439 | Jose A. Lopes | |
1215 | c890f66a | Jose A. Lopes | -- * Execution log types |
1216 | 5867e439 | Jose A. Lopes | |
1217 | c890f66a | Jose A. Lopes | elogMessage :: String |
1218 | c890f66a | Jose A. Lopes | elogMessage = Types.eLogTypeToRaw ELogMessage |
1219 | 5867e439 | Jose A. Lopes | |
1220 | c890f66a | Jose A. Lopes | elogRemoteImport :: String |
1221 | c890f66a | Jose A. Lopes | elogRemoteImport = Types.eLogTypeToRaw ELogRemoteImport |
1222 | 5867e439 | Jose A. Lopes | |
1223 | c890f66a | Jose A. Lopes | elogJqueueTest :: String |
1224 | c890f66a | Jose A. Lopes | elogJqueueTest = Types.eLogTypeToRaw ELogJqueueTest |
1225 | 5867e439 | Jose A. Lopes | |
1226 | 61e32567 | Jose A. Lopes | -- * A few common errors for confd |
1227 | 61e32567 | Jose A. Lopes | |
1228 | 61e32567 | Jose A. Lopes | confdErrorArgument :: Int |
1229 | 61e32567 | Jose A. Lopes | confdErrorArgument = 3 |
1230 | 61e32567 | Jose A. Lopes | |
1231 | 61e32567 | Jose A. Lopes | confdErrorInternal :: Int |
1232 | 61e32567 | Jose A. Lopes | confdErrorInternal = 2 |
1233 | 61e32567 | Jose A. Lopes | |
1234 | 61e32567 | Jose A. Lopes | confdErrorUnknownEntry :: Int |
1235 | 61e32567 | Jose A. Lopes | confdErrorUnknownEntry = 1 |
1236 | 61e32567 | Jose A. Lopes | |
1237 | 61e32567 | Jose A. Lopes | -- | Each request is "salted" by the current timestamp. |
1238 | 61e32567 | Jose A. Lopes | -- |
1239 | 61e32567 | Jose A. Lopes | -- This constant decides how many seconds of skew to accept. |
1240 | 61e32567 | Jose A. Lopes | -- |
1241 | 61e32567 | Jose A. Lopes | -- TODO: make this a default and allow the value to be more |
1242 | 61e32567 | Jose A. Lopes | -- configurable |
1243 | 61e32567 | Jose A. Lopes | confdMaxClockSkew :: Int |
1244 | 61e32567 | Jose A. Lopes | confdMaxClockSkew = 2 * nodeMaxClockSkew |
1245 | 61e32567 | Jose A. Lopes | |
1246 | 61e32567 | Jose A. Lopes | -- | When we haven't reloaded the config for more than this amount of |
1247 | 61e32567 | Jose A. Lopes | -- seconds, we force a test to see if inotify is betraying us. Using a |
1248 | 61e32567 | Jose A. Lopes | -- prime number to ensure we get less chance of 'same wakeup' with |
1249 | 61e32567 | Jose A. Lopes | -- other processes. |
1250 | 61e32567 | Jose A. Lopes | confdConfigReloadTimeout :: Int |
1251 | 61e32567 | Jose A. Lopes | confdConfigReloadTimeout = 17 |
1252 | 61e32567 | Jose A. Lopes | |
1253 | 61e32567 | Jose A. Lopes | -- | If we receive more than one update in this amount of |
1254 | 61e32567 | Jose A. Lopes | -- microseconds, we move to polling every RATELIMIT seconds, rather |
1255 | 61e32567 | Jose A. Lopes | -- than relying on inotify, to be able to serve more requests. |
1256 | 61e32567 | Jose A. Lopes | confdConfigReloadRatelimit :: Int |
1257 | 61e32567 | Jose A. Lopes | confdConfigReloadRatelimit = 250000 |
1258 | 61e32567 | Jose A. Lopes | |
1259 | 61e32567 | Jose A. Lopes | -- | Magic number prepended to all confd queries. |
1260 | 61e32567 | Jose A. Lopes | -- |
1261 | 61e32567 | Jose A. Lopes | -- This allows us to distinguish different types of confd protocols |
1262 | 61e32567 | Jose A. Lopes | -- and handle them. For example by changing this we can move the whole |
1263 | 61e32567 | Jose A. Lopes | -- payload to be compressed, or move away from json. |
1264 | 61e32567 | Jose A. Lopes | confdMagicFourcc :: String |
1265 | 61e32567 | Jose A. Lopes | confdMagicFourcc = "plj0" |
1266 | 61e32567 | Jose A. Lopes | |
1267 | 61e32567 | Jose A. Lopes | -- | By default a confd request is sent to the minimum between this |
1268 | 61e32567 | Jose A. Lopes | -- number and all MCs. 6 was chosen because even in the case of a |
1269 | 61e32567 | Jose A. Lopes | -- disastrous 50% response rate, we should have enough answers to be |
1270 | 61e32567 | Jose A. Lopes | -- able to compare more than one. |
1271 | 61e32567 | Jose A. Lopes | confdDefaultReqCoverage :: Int |
1272 | 61e32567 | Jose A. Lopes | confdDefaultReqCoverage = 6 |
1273 | 61e32567 | Jose A. Lopes | |
1274 | 61e32567 | Jose A. Lopes | -- | Timeout in seconds to expire pending query request in the confd |
1275 | 61e32567 | Jose A. Lopes | -- client library. We don't actually expect any answer more than 10 |
1276 | 61e32567 | Jose A. Lopes | -- seconds after we sent a request. |
1277 | 61e32567 | Jose A. Lopes | confdClientExpireTimeout :: Int |
1278 | 61e32567 | Jose A. Lopes | confdClientExpireTimeout = 10 |
1279 | 61e32567 | Jose A. Lopes | |
1280 | f361a6ee | Jose A. Lopes | -- * Possible values for NodeGroup.alloc_policy |
1281 | f361a6ee | Jose A. Lopes | |
1282 | f361a6ee | Jose A. Lopes | allocPolicyLastResort :: String |
1283 | 58c09b0e | Jose A. Lopes | allocPolicyLastResort = Types.allocPolicyToRaw AllocLastResort |
1284 | f361a6ee | Jose A. Lopes | |
1285 | f361a6ee | Jose A. Lopes | allocPolicyPreferred :: String |
1286 | 58c09b0e | Jose A. Lopes | allocPolicyPreferred = Types.allocPolicyToRaw AllocPreferred |
1287 | f361a6ee | Jose A. Lopes | |
1288 | f361a6ee | Jose A. Lopes | allocPolicyUnallocable :: String |
1289 | 58c09b0e | Jose A. Lopes | allocPolicyUnallocable = Types.allocPolicyToRaw AllocUnallocable |
1290 | f361a6ee | Jose A. Lopes | |
1291 | f361a6ee | Jose A. Lopes | validAllocPolicies :: [String] |
1292 | 58c09b0e | Jose A. Lopes | validAllocPolicies = map Types.allocPolicyToRaw [minBound..] |
1293 | f361a6ee | Jose A. Lopes | |
1294 | f361a6ee | Jose A. Lopes | -- | Temporary external/shared storage parameters |
1295 | f361a6ee | Jose A. Lopes | blockdevDriverManual :: String |
1296 | 5867e439 | Jose A. Lopes | blockdevDriverManual = Types.blockDriverToRaw BlockDrvManual |
1297 | f361a6ee | Jose A. Lopes | |
1298 | 3b170ad4 | Jose A. Lopes | -- | 'qemu-img' path, required for 'ovfconverter' |
1299 | 3b170ad4 | Jose A. Lopes | qemuimgPath :: String |
1300 | 3b170ad4 | Jose A. Lopes | qemuimgPath = AutoConf.qemuimgPath |
1301 | 3b170ad4 | Jose A. Lopes | |
1302 | 3b170ad4 | Jose A. Lopes | -- | Whether htools was enabled at compilation time |
1303 | 3b170ad4 | Jose A. Lopes | -- |
1304 | 3b170ad4 | Jose A. Lopes | -- FIXME: this should be moved next to the other enable constants, |
1305 | 3b170ad4 | Jose A. Lopes | -- such as, 'enableConfd', and renamed to 'enableHtools'. |
1306 | 3b170ad4 | Jose A. Lopes | htools :: Bool |
1307 | 3b170ad4 | Jose A. Lopes | htools = AutoConf.htools |
1308 | 3b170ad4 | Jose A. Lopes | |
1309 | 06fd57e5 | Jose A. Lopes | -- | Path generating random UUID |
1310 | 06fd57e5 | Jose A. Lopes | randomUuidFile :: String |
1311 | 06fd57e5 | Jose A. Lopes | randomUuidFile = ConstantUtils.randomUuidFile |
1312 | 06fd57e5 | Jose A. Lopes | |
1313 | f361a6ee | Jose A. Lopes | -- * Auto-repair tag prefixes |
1314 | f361a6ee | Jose A. Lopes | |
1315 | f361a6ee | Jose A. Lopes | autoRepairTagPrefix :: String |
1316 | f361a6ee | Jose A. Lopes | autoRepairTagPrefix = "ganeti:watcher:autorepair:" |
1317 | f361a6ee | Jose A. Lopes | |
1318 | f361a6ee | Jose A. Lopes | autoRepairTagEnabled :: String |
1319 | f361a6ee | Jose A. Lopes | autoRepairTagEnabled = autoRepairTagPrefix |
1320 | f361a6ee | Jose A. Lopes | |
1321 | f361a6ee | Jose A. Lopes | autoRepairTagPending :: String |
1322 | f361a6ee | Jose A. Lopes | autoRepairTagPending = autoRepairTagPrefix ++ "pending:" |
1323 | f361a6ee | Jose A. Lopes | |
1324 | f361a6ee | Jose A. Lopes | autoRepairTagResult :: String |
1325 | f361a6ee | Jose A. Lopes | autoRepairTagResult = autoRepairTagPrefix ++ "result:" |
1326 | f361a6ee | Jose A. Lopes | |
1327 | f361a6ee | Jose A. Lopes | autoRepairTagSuspended :: String |
1328 | f361a6ee | Jose A. Lopes | autoRepairTagSuspended = autoRepairTagPrefix ++ "suspend:" |
1329 | f361a6ee | Jose A. Lopes | |
1330 | f361a6ee | Jose A. Lopes | -- * Auto-repair levels |
1331 | f361a6ee | Jose A. Lopes | |
1332 | f361a6ee | Jose A. Lopes | autoRepairFailover :: String |
1333 | f361a6ee | Jose A. Lopes | autoRepairFailover = "failover" |
1334 | f361a6ee | Jose A. Lopes | |
1335 | f361a6ee | Jose A. Lopes | autoRepairFixStorage :: String |
1336 | f361a6ee | Jose A. Lopes | autoRepairFixStorage = "fix-storage" |
1337 | f361a6ee | Jose A. Lopes | |
1338 | f361a6ee | Jose A. Lopes | autoRepairMigrate :: String |
1339 | f361a6ee | Jose A. Lopes | autoRepairMigrate = "migrate" |
1340 | f361a6ee | Jose A. Lopes | |
1341 | f361a6ee | Jose A. Lopes | autoRepairReinstall :: String |
1342 | f361a6ee | Jose A. Lopes | autoRepairReinstall = "reinstall" |
1343 | f361a6ee | Jose A. Lopes | |
1344 | f361a6ee | Jose A. Lopes | autoRepairAllTypes :: FrozenSet String |
1345 | f361a6ee | Jose A. Lopes | autoRepairAllTypes = |
1346 | 43a9e860 | Jose A. Lopes | ConstantUtils.mkSet [autoRepairFailover, |
1347 | 43a9e860 | Jose A. Lopes | autoRepairFixStorage, |
1348 | 43a9e860 | Jose A. Lopes | autoRepairMigrate, |
1349 | 43a9e860 | Jose A. Lopes | autoRepairReinstall] |
1350 | f361a6ee | Jose A. Lopes | |
1351 | f361a6ee | Jose A. Lopes | -- * Auto-repair results |
1352 | f361a6ee | Jose A. Lopes | |
1353 | f361a6ee | Jose A. Lopes | autoRepairEnoperm :: String |
1354 | f361a6ee | Jose A. Lopes | autoRepairEnoperm = "enoperm" |
1355 | f361a6ee | Jose A. Lopes | |
1356 | f361a6ee | Jose A. Lopes | autoRepairFailure :: String |
1357 | f361a6ee | Jose A. Lopes | autoRepairFailure = "failure" |
1358 | f361a6ee | Jose A. Lopes | |
1359 | f361a6ee | Jose A. Lopes | autoRepairSuccess :: String |
1360 | f361a6ee | Jose A. Lopes | autoRepairSuccess = "success" |
1361 | f361a6ee | Jose A. Lopes | |
1362 | f361a6ee | Jose A. Lopes | autoRepairAllResults :: FrozenSet String |
1363 | f361a6ee | Jose A. Lopes | autoRepairAllResults = |
1364 | 43a9e860 | Jose A. Lopes | ConstantUtils.mkSet [autoRepairEnoperm, autoRepairFailure, autoRepairSuccess] |
1365 | f361a6ee | Jose A. Lopes | |
1366 | f361a6ee | Jose A. Lopes | -- | The version identifier for builtin data collectors |
1367 | f361a6ee | Jose A. Lopes | builtinDataCollectorVersion :: String |
1368 | f361a6ee | Jose A. Lopes | builtinDataCollectorVersion = "B" |
1369 | 2924f169 | Jose A. Lopes | |
1370 | 2924f169 | Jose A. Lopes | -- | The reason trail opcode parameter name |
1371 | 2924f169 | Jose A. Lopes | opcodeReason :: String |
1372 | 2924f169 | Jose A. Lopes | opcodeReason = "reason" |
1373 | 2924f169 | Jose A. Lopes | |
1374 | 2924f169 | Jose A. Lopes | diskstatsFile :: String |
1375 | 2924f169 | Jose A. Lopes | diskstatsFile = "/proc/diskstats" |
1376 | 2924f169 | Jose A. Lopes | |
1377 | 2924f169 | Jose A. Lopes | -- | CPU load collector |
1378 | 2924f169 | Jose A. Lopes | statFile :: String |
1379 | 2924f169 | Jose A. Lopes | statFile = "/proc/stat" |
1380 | 2924f169 | Jose A. Lopes | |
1381 | 2924f169 | Jose A. Lopes | -- | Mond's variable for periodical data collection |
1382 | 2924f169 | Jose A. Lopes | mondTimeInterval :: Int |
1383 | 2924f169 | Jose A. Lopes | mondTimeInterval = 5 |