Statistics
| Branch: | Tag: | Revision:

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