Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / HsConstants.hs @ d24fc4b6

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