Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / HsConstants.hs @ 6dab85ff

History | View | Annotate | Download (90.1 kB)

1 6b0d45b7 Jose A. Lopes
{-# OPTIONS -fno-warn-type-defaults #-}
2 1b2adaa6 Jose A. Lopes
{-| HsConstants contains the Haskell constants
3 1b2adaa6 Jose A. Lopes
4 1b2adaa6 Jose A. Lopes
This is a transitional module complementary to 'Ganeti.Constants'.  It
5 1b2adaa6 Jose A. Lopes
is intended to contain the Haskell constants that are meant to be
6 1b2adaa6 Jose A. Lopes
generated in Python.
7 1b2adaa6 Jose A. Lopes
8 c93041a5 Jose A. Lopes
Do not write any definitions in this file other than constants.  Do
9 c93041a5 Jose A. Lopes
not even write helper functions.  The definitions in this module are
10 c93041a5 Jose A. Lopes
automatically stripped to build the Makefile.am target
11 c93041a5 Jose A. Lopes
'ListConstants.hs'.  If there are helper functions in this module,
12 c93041a5 Jose A. Lopes
they will also be dragged and it will cause compilation to fail.
13 c93041a5 Jose A. Lopes
Therefore, all helper functions should go to a separate module and
14 c93041a5 Jose A. Lopes
imported.
15 c93041a5 Jose A. Lopes
16 1b2adaa6 Jose A. Lopes
-}
17 1b2adaa6 Jose A. Lopes
18 1b2adaa6 Jose A. Lopes
{-
19 1b2adaa6 Jose A. Lopes
20 1b2adaa6 Jose A. Lopes
Copyright (C) 2013 Google Inc.
21 1b2adaa6 Jose A. Lopes
22 1b2adaa6 Jose A. Lopes
This program is free software; you can redistribute it and/or modify
23 1b2adaa6 Jose A. Lopes
it under the terms of the GNU General Public License as published by
24 1b2adaa6 Jose A. Lopes
the Free Software Foundation; either version 2 of the License, or
25 1b2adaa6 Jose A. Lopes
(at your option) any later version.
26 1b2adaa6 Jose A. Lopes
27 1b2adaa6 Jose A. Lopes
This program is distributed in the hope that it will be useful, but
28 1b2adaa6 Jose A. Lopes
WITHOUT ANY WARRANTY; without even the implied warranty of
29 1b2adaa6 Jose A. Lopes
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
30 1b2adaa6 Jose A. Lopes
General Public License for more details.
31 1b2adaa6 Jose A. Lopes
32 1b2adaa6 Jose A. Lopes
You should have received a copy of the GNU General Public License
33 1b2adaa6 Jose A. Lopes
along with this program; if not, write to the Free Software
34 1b2adaa6 Jose A. Lopes
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
35 1b2adaa6 Jose A. Lopes
02110-1301, USA.
36 1b2adaa6 Jose A. Lopes
37 1b2adaa6 Jose A. Lopes
-}
38 1b2adaa6 Jose A. Lopes
module Ganeti.HsConstants where
39 1b2adaa6 Jose A. Lopes
40 9be1ff8c Jose A. Lopes
import Control.Arrow ((***))
41 cdac0552 Jose A. Lopes
import Data.List ((\\))
42 6dc0cb59 Jose A. Lopes
import Data.Map (Map)
43 ecf43dcb Jose A. Lopes
import qualified Data.Map as Map (fromList, keys, insert)
44 6dc0cb59 Jose A. Lopes
45 26eca119 Jose A. Lopes
import AutoConf
46 5d4e1402 Jose A. Lopes
import Ganeti.ConstantUtils (PythonChar(..), FrozenSet, Protocol(..),
47 5d4e1402 Jose A. Lopes
                             buildVersion)
48 df726590 Jose A. Lopes
import qualified Ganeti.ConstantUtils as ConstantUtils
49 8397ffde Jose A. Lopes
import Ganeti.HTools.Types (AutoRepairResult(..), AutoRepairType(..))
50 8397ffde Jose A. Lopes
import qualified Ganeti.HTools.Types as Types
51 df726590 Jose A. Lopes
import Ganeti.Logging (SyslogUsage(..))
52 df726590 Jose A. Lopes
import qualified Ganeti.Logging as Logging (syslogUsageToRaw)
53 1c31b263 Jose A. Lopes
import qualified Ganeti.Runtime as Runtime
54 6dab85ff Jose A. Lopes
import Ganeti.Runtime (GanetiDaemon(..), MiscGroup(..), GanetiGroup(..),
55 6dab85ff Jose A. Lopes
                       ExtraLogReason(..))
56 85c48fbb Jose A. Lopes
import Ganeti.Types
57 85c48fbb Jose A. Lopes
import qualified Ganeti.Types as Types
58 cdac0552 Jose A. Lopes
import Ganeti.Confd.Types (ConfdRequestType(..), ConfdReqField(..),
59 cdac0552 Jose A. Lopes
                           ConfdReplyStatus(..), ConfdNodeRole(..),
60 cdac0552 Jose A. Lopes
                           ConfdErrorType(..))
61 cdac0552 Jose A. Lopes
import qualified Ganeti.Confd.Types as Types
62 85c48fbb Jose A. Lopes
63 c03224f6 Jose A. Lopes
{-# ANN module "HLint: ignore Use camelCase" #-}
64 c03224f6 Jose A. Lopes
65 1c9e817d Jose A. Lopes
-- * 'autoconf' constants for Python only ('autotools/build-bash-completion')
66 1c9e817d Jose A. Lopes
67 1c9e817d Jose A. Lopes
htoolsProgs :: [String]
68 1c9e817d Jose A. Lopes
htoolsProgs = AutoConf.htoolsProgs
69 1c9e817d Jose A. Lopes
70 1c9e817d Jose A. Lopes
-- * 'autoconf' constants for Python only ('lib/constants.py')
71 3b170ad4 Jose A. Lopes
72 3b170ad4 Jose A. Lopes
drbdBarriers :: String
73 3b170ad4 Jose A. Lopes
drbdBarriers = AutoConf.drbdBarriers
74 3b170ad4 Jose A. Lopes
75 3b170ad4 Jose A. Lopes
drbdNoMetaFlush :: Bool
76 3b170ad4 Jose A. Lopes
drbdNoMetaFlush = AutoConf.drbdNoMetaFlush
77 3b170ad4 Jose A. Lopes
78 3b170ad4 Jose A. Lopes
lvmStripecount :: Int
79 3b170ad4 Jose A. Lopes
lvmStripecount = AutoConf.lvmStripecount
80 3b170ad4 Jose A. Lopes
81 1c9e817d Jose A. Lopes
-- * 'autoconf' constants for Python only ('lib/pathutils.py')
82 1c9e817d Jose A. Lopes
83 1c9e817d Jose A. Lopes
-- ** Build-time constants
84 1c9e817d Jose A. Lopes
85 1c9e817d Jose A. Lopes
exportDir :: String
86 1c9e817d Jose A. Lopes
exportDir = AutoConf.exportDir
87 1c9e817d Jose A. Lopes
88 1c9e817d Jose A. Lopes
osSearchPath :: [String]
89 1c9e817d Jose A. Lopes
osSearchPath = AutoConf.osSearchPath
90 1c9e817d Jose A. Lopes
91 1c9e817d Jose A. Lopes
esSearchPath :: [String]
92 1c9e817d Jose A. Lopes
esSearchPath = AutoConf.esSearchPath
93 1c9e817d Jose A. Lopes
94 1c9e817d Jose A. Lopes
sshConfigDir :: String
95 1c9e817d Jose A. Lopes
sshConfigDir = AutoConf.sshConfigDir
96 1c9e817d Jose A. Lopes
97 1c9e817d Jose A. Lopes
xenConfigDir :: String
98 1c9e817d Jose A. Lopes
xenConfigDir = AutoConf.xenConfigDir
99 1c9e817d Jose A. Lopes
100 1c9e817d Jose A. Lopes
sysconfdir :: String
101 1c9e817d Jose A. Lopes
sysconfdir = AutoConf.sysconfdir
102 1c9e817d Jose A. Lopes
103 1c9e817d Jose A. Lopes
toolsdir :: String
104 1c9e817d Jose A. Lopes
toolsdir = AutoConf.toolsdir
105 1c9e817d Jose A. Lopes
106 1c9e817d Jose A. Lopes
localstatedir :: String
107 1c9e817d Jose A. Lopes
localstatedir = AutoConf.localstatedir
108 1c9e817d Jose A. Lopes
109 1c9e817d Jose A. Lopes
-- ** Paths which don't change for a virtual cluster
110 1c9e817d Jose A. Lopes
111 1c9e817d Jose A. Lopes
pkglibdir :: String
112 1c9e817d Jose A. Lopes
pkglibdir = AutoConf.pkglibdir
113 1c9e817d Jose A. Lopes
114 9bfcf2e9 Klaus Aehlig
sharedir :: String
115 9bfcf2e9 Klaus Aehlig
sharedir = AutoConf.sharedir
116 9bfcf2e9 Klaus Aehlig
117 1c9e817d Jose A. Lopes
-- * 'autoconf' constants for Python only ('lib/build/sphinx_ext.py')
118 1c9e817d Jose A. Lopes
119 1c9e817d Jose A. Lopes
manPages :: Map String Int
120 1c9e817d Jose A. Lopes
manPages = Map.fromList AutoConf.manPages
121 1c9e817d Jose A. Lopes
122 1c9e817d Jose A. Lopes
-- * 'autoconf' constants for QA cluster only ('qa/qa_cluster.py')
123 1c9e817d Jose A. Lopes
124 1c9e817d Jose A. Lopes
versionedsharedir :: String
125 1c9e817d Jose A. Lopes
versionedsharedir = AutoConf.versionedsharedir
126 1c9e817d Jose A. Lopes
127 1c9e817d Jose A. Lopes
-- * 'autoconf' constants for Python only ('tests/py/docs_unittest.py')
128 1c9e817d Jose A. Lopes
129 1c9e817d Jose A. Lopes
gntScripts :: [String]
130 1c9e817d Jose A. Lopes
gntScripts = AutoConf.gntScripts
131 1c9e817d Jose A. Lopes
132 3b170ad4 Jose A. Lopes
-- * Various versions
133 3b170ad4 Jose A. Lopes
134 3b170ad4 Jose A. Lopes
releaseVersion :: String
135 3b170ad4 Jose A. Lopes
releaseVersion = AutoConf.packageVersion
136 3b170ad4 Jose A. Lopes
137 8c44d5b3 Klaus Aehlig
versionMajor :: Int
138 8c44d5b3 Klaus Aehlig
versionMajor = AutoConf.versionMajor
139 8c44d5b3 Klaus Aehlig
140 8c44d5b3 Klaus Aehlig
versionMinor :: Int
141 8c44d5b3 Klaus Aehlig
versionMinor = AutoConf.versionMinor
142 8c44d5b3 Klaus Aehlig
143 8c44d5b3 Klaus Aehlig
versionRevision :: Int
144 8c44d5b3 Klaus Aehlig
versionRevision = AutoConf.versionRevision
145 8c44d5b3 Klaus Aehlig
146 9b20010b Klaus Aehlig
dirVersion :: String
147 9b20010b Klaus Aehlig
dirVersion = AutoConf.dirVersion
148 9b20010b Klaus Aehlig
149 c87997d2 Jose A. Lopes
osApiV10 :: Int
150 c87997d2 Jose A. Lopes
osApiV10 = 10
151 c87997d2 Jose A. Lopes
152 c87997d2 Jose A. Lopes
osApiV15 :: Int
153 c87997d2 Jose A. Lopes
osApiV15 = 15
154 c87997d2 Jose A. Lopes
155 c87997d2 Jose A. Lopes
osApiV20 :: Int
156 c87997d2 Jose A. Lopes
osApiV20 = 20
157 c87997d2 Jose A. Lopes
158 c87997d2 Jose A. Lopes
osApiVersions :: FrozenSet Int
159 c87997d2 Jose A. Lopes
osApiVersions = ConstantUtils.mkSet [osApiV10, osApiV15, osApiV20]
160 c87997d2 Jose A. Lopes
161 14795b58 Jose A. Lopes
exportVersion :: Int
162 14795b58 Jose A. Lopes
exportVersion = 0
163 14795b58 Jose A. Lopes
164 14795b58 Jose A. Lopes
rapiVersion :: Int
165 14795b58 Jose A. Lopes
rapiVersion = 2
166 14795b58 Jose A. Lopes
167 3b170ad4 Jose A. Lopes
configMajor :: Int
168 3b170ad4 Jose A. Lopes
configMajor = AutoConf.versionMajor
169 3b170ad4 Jose A. Lopes
170 3b170ad4 Jose A. Lopes
configMinor :: Int
171 3b170ad4 Jose A. Lopes
configMinor = AutoConf.versionMinor
172 3b170ad4 Jose A. Lopes
173 3b170ad4 Jose A. Lopes
-- | The configuration is supposed to remain stable across
174 3b170ad4 Jose A. Lopes
-- revisions. Therefore, the revision number is cleared to '0'.
175 3b170ad4 Jose A. Lopes
configRevision :: Int
176 3b170ad4 Jose A. Lopes
configRevision = 0
177 3b170ad4 Jose A. Lopes
178 3b170ad4 Jose A. Lopes
configVersion :: Int
179 3b170ad4 Jose A. Lopes
configVersion = buildVersion configMajor configMinor configRevision
180 3b170ad4 Jose A. Lopes
181 3b170ad4 Jose A. Lopes
-- | Similarly to the configuration (see 'configRevision'), the
182 3b170ad4 Jose A. Lopes
-- protocols are supposed to remain stable across revisions.
183 3b170ad4 Jose A. Lopes
protocolVersion :: Int
184 3b170ad4 Jose A. Lopes
protocolVersion = buildVersion configMajor configMinor configRevision
185 3b170ad4 Jose A. Lopes
186 c890f66a Jose A. Lopes
-- * User separation
187 cdac0552 Jose A. Lopes
188 c890f66a Jose A. Lopes
daemonsGroup :: String
189 c890f66a Jose A. Lopes
daemonsGroup = Runtime.daemonGroup (ExtraGroup DaemonsGroup)
190 85c48fbb Jose A. Lopes
191 c890f66a Jose A. Lopes
adminGroup :: String
192 c890f66a Jose A. Lopes
adminGroup = Runtime.daemonGroup (ExtraGroup AdminGroup)
193 85c48fbb Jose A. Lopes
194 c890f66a Jose A. Lopes
masterdUser :: String
195 c890f66a Jose A. Lopes
masterdUser = Runtime.daemonUser GanetiMasterd
196 85c48fbb Jose A. Lopes
197 c890f66a Jose A. Lopes
masterdGroup :: String
198 c890f66a Jose A. Lopes
masterdGroup = Runtime.daemonGroup (DaemonGroup GanetiMasterd)
199 85c48fbb Jose A. Lopes
200 c890f66a Jose A. Lopes
rapiUser :: String
201 c890f66a Jose A. Lopes
rapiUser = Runtime.daemonUser GanetiRapi
202 85c48fbb Jose A. Lopes
203 c890f66a Jose A. Lopes
rapiGroup :: String
204 c890f66a Jose A. Lopes
rapiGroup = Runtime.daemonGroup (DaemonGroup GanetiRapi)
205 85c48fbb Jose A. Lopes
206 c890f66a Jose A. Lopes
confdUser :: String
207 c890f66a Jose A. Lopes
confdUser = Runtime.daemonUser GanetiConfd
208 85c48fbb Jose A. Lopes
209 c890f66a Jose A. Lopes
confdGroup :: String
210 c890f66a Jose A. Lopes
confdGroup = Runtime.daemonGroup (DaemonGroup GanetiConfd)
211 85c48fbb Jose A. Lopes
212 c890f66a Jose A. Lopes
luxidUser :: String
213 c890f66a Jose A. Lopes
luxidUser = Runtime.daemonUser GanetiLuxid
214 85c48fbb Jose A. Lopes
215 c890f66a Jose A. Lopes
luxidGroup :: String
216 c890f66a Jose A. Lopes
luxidGroup = Runtime.daemonGroup (DaemonGroup GanetiLuxid)
217 85c48fbb Jose A. Lopes
218 c890f66a Jose A. Lopes
nodedUser :: String
219 c890f66a Jose A. Lopes
nodedUser = Runtime.daemonUser GanetiNoded
220 85c48fbb Jose A. Lopes
221 c890f66a Jose A. Lopes
nodedGroup :: String
222 c890f66a Jose A. Lopes
nodedGroup = Runtime.daemonGroup (DaemonGroup GanetiNoded)
223 85c48fbb Jose A. Lopes
224 c890f66a Jose A. Lopes
mondUser :: String
225 c890f66a Jose A. Lopes
mondUser = Runtime.daemonUser GanetiMond
226 85c48fbb Jose A. Lopes
227 c890f66a Jose A. Lopes
mondGroup :: String
228 c890f66a Jose A. Lopes
mondGroup = Runtime.daemonGroup (DaemonGroup GanetiMond)
229 85c48fbb Jose A. Lopes
230 c890f66a Jose A. Lopes
sshLoginUser :: String
231 c890f66a Jose A. Lopes
sshLoginUser = AutoConf.sshLoginUser
232 85c48fbb Jose A. Lopes
233 c890f66a Jose A. Lopes
sshConsoleUser :: String
234 c890f66a Jose A. Lopes
sshConsoleUser = AutoConf.sshConsoleUser
235 85c48fbb Jose A. Lopes
236 e0cd6f5d Jose A. Lopes
-- * Cpu pinning separators and constants
237 e0cd6f5d Jose A. Lopes
238 e0cd6f5d Jose A. Lopes
cpuPinningSep :: String
239 e0cd6f5d Jose A. Lopes
cpuPinningSep = ":"
240 e0cd6f5d Jose A. Lopes
241 e0cd6f5d Jose A. Lopes
cpuPinningAll :: String
242 e0cd6f5d Jose A. Lopes
cpuPinningAll = "all"
243 e0cd6f5d Jose A. Lopes
244 e0cd6f5d Jose A. Lopes
-- | Internal representation of "all"
245 e0cd6f5d Jose A. Lopes
cpuPinningAllVal :: Int
246 e0cd6f5d Jose A. Lopes
cpuPinningAllVal = -1
247 e0cd6f5d Jose A. Lopes
248 e0cd6f5d Jose A. Lopes
-- | One "all" entry in a CPU list means CPU pinning is off
249 e0cd6f5d Jose A. Lopes
cpuPinningOff :: [Int]
250 e0cd6f5d Jose A. Lopes
cpuPinningOff = [cpuPinningAllVal]
251 e0cd6f5d Jose A. Lopes
252 e0cd6f5d Jose A. Lopes
-- | A Xen-specific implementation detail is that there is no way to
253 e0cd6f5d Jose A. Lopes
-- actually say "use any cpu for pinning" in a Xen configuration file,
254 e0cd6f5d Jose A. Lopes
-- as opposed to the command line, where you can say
255 e0cd6f5d Jose A. Lopes
-- @
256 e0cd6f5d Jose A. Lopes
-- xm vcpu-pin <domain> <vcpu> all
257 e0cd6f5d Jose A. Lopes
-- @
258 e0cd6f5d Jose A. Lopes
--
259 e0cd6f5d Jose A. Lopes
-- The workaround used in Xen is "0-63" (see source code function
260 e0cd6f5d Jose A. Lopes
-- "xm_vcpu_pin" in @<xen-source>/tools/python/xen/xm/main.py@).
261 e0cd6f5d Jose A. Lopes
--
262 e0cd6f5d Jose A. Lopes
-- To support future changes, the following constant is treated as a
263 e0cd6f5d Jose A. Lopes
-- blackbox string that simply means "use any cpu for pinning under
264 e0cd6f5d Jose A. Lopes
-- xen".
265 e0cd6f5d Jose A. Lopes
cpuPinningAllXen :: String
266 e0cd6f5d Jose A. Lopes
cpuPinningAllXen = "0-63"
267 e0cd6f5d Jose A. Lopes
268 e0cd6f5d Jose A. Lopes
-- | A KVM-specific implementation detail - the following value is
269 e0cd6f5d Jose A. Lopes
-- used to set CPU affinity to all processors (--0 through --31), per
270 e0cd6f5d Jose A. Lopes
-- taskset man page.
271 e0cd6f5d Jose A. Lopes
--
272 e0cd6f5d Jose A. Lopes
-- FIXME: This only works for machines with up to 32 CPU cores
273 e0cd6f5d Jose A. Lopes
cpuPinningAllKvm :: Int
274 e0cd6f5d Jose A. Lopes
cpuPinningAllKvm = 0xFFFFFFFF
275 e0cd6f5d Jose A. Lopes
276 74129b52 Jose A. Lopes
-- * Wipe
277 74129b52 Jose A. Lopes
278 74129b52 Jose A. Lopes
ddCmd :: String
279 74129b52 Jose A. Lopes
ddCmd = "dd"
280 74129b52 Jose A. Lopes
281 74129b52 Jose A. Lopes
-- | 1GB
282 74129b52 Jose A. Lopes
maxWipeChunk :: Int
283 74129b52 Jose A. Lopes
maxWipeChunk = 1024
284 74129b52 Jose A. Lopes
285 74129b52 Jose A. Lopes
minWipeChunkPercent :: Int
286 74129b52 Jose A. Lopes
minWipeChunkPercent = 10
287 74129b52 Jose A. Lopes
288 74129b52 Jose A. Lopes
-- * Directories
289 74129b52 Jose A. Lopes
290 74129b52 Jose A. Lopes
runDirsMode :: Int
291 74129b52 Jose A. Lopes
runDirsMode = 0o775
292 74129b52 Jose A. Lopes
293 74129b52 Jose A. Lopes
secureDirMode :: Int
294 74129b52 Jose A. Lopes
secureDirMode = 0o700
295 74129b52 Jose A. Lopes
296 74129b52 Jose A. Lopes
secureFileMode :: Int
297 74129b52 Jose A. Lopes
secureFileMode = 0o600
298 74129b52 Jose A. Lopes
299 74129b52 Jose A. Lopes
adoptableBlockdevRoot :: String
300 74129b52 Jose A. Lopes
adoptableBlockdevRoot = "/dev/disk/"
301 74129b52 Jose A. Lopes
302 3b170ad4 Jose A. Lopes
-- * 'autoconf' enable/disable
303 3b170ad4 Jose A. Lopes
304 3b170ad4 Jose A. Lopes
enableConfd :: Bool
305 3b170ad4 Jose A. Lopes
enableConfd = AutoConf.enableConfd
306 3b170ad4 Jose A. Lopes
307 3b170ad4 Jose A. Lopes
enableMond :: Bool
308 3b170ad4 Jose A. Lopes
enableMond = AutoConf.enableMond
309 3b170ad4 Jose A. Lopes
310 3b170ad4 Jose A. Lopes
enableRestrictedCommands :: Bool
311 3b170ad4 Jose A. Lopes
enableRestrictedCommands = AutoConf.enableRestrictedCommands
312 3b170ad4 Jose A. Lopes
313 3b170ad4 Jose A. Lopes
enableSplitQuery :: Bool
314 3b170ad4 Jose A. Lopes
enableSplitQuery = AutoConf.enableSplitQuery
315 3b170ad4 Jose A. Lopes
316 c890f66a Jose A. Lopes
-- * SSH constants
317 85c48fbb Jose A. Lopes
318 c890f66a Jose A. Lopes
ssh :: String
319 c890f66a Jose A. Lopes
ssh = "ssh"
320 85c48fbb Jose A. Lopes
321 c890f66a Jose A. Lopes
scp :: String
322 c890f66a Jose A. Lopes
scp = "scp"
323 85c48fbb Jose A. Lopes
324 c890f66a Jose A. Lopes
-- * Daemons
325 85c48fbb Jose A. Lopes
326 c890f66a Jose A. Lopes
confd :: String
327 c890f66a Jose A. Lopes
confd = Runtime.daemonName GanetiConfd
328 85c48fbb Jose A. Lopes
329 c890f66a Jose A. Lopes
masterd :: String
330 c890f66a Jose A. Lopes
masterd = Runtime.daemonName GanetiMasterd
331 85c48fbb Jose A. Lopes
332 c890f66a Jose A. Lopes
mond :: String
333 c890f66a Jose A. Lopes
mond = Runtime.daemonName GanetiMond
334 85c48fbb Jose A. Lopes
335 c890f66a Jose A. Lopes
noded :: String
336 c890f66a Jose A. Lopes
noded = Runtime.daemonName GanetiNoded
337 85c48fbb Jose A. Lopes
338 c890f66a Jose A. Lopes
luxid :: String
339 c890f66a Jose A. Lopes
luxid = Runtime.daemonName GanetiLuxid
340 85c48fbb Jose A. Lopes
341 c890f66a Jose A. Lopes
rapi :: String
342 c890f66a Jose A. Lopes
rapi = Runtime.daemonName GanetiRapi
343 85c48fbb Jose A. Lopes
344 c890f66a Jose A. Lopes
daemons :: FrozenSet String
345 c890f66a Jose A. Lopes
daemons =
346 c890f66a Jose A. Lopes
  ConstantUtils.mkSet [confd,
347 c890f66a Jose A. Lopes
                       luxid,
348 c890f66a Jose A. Lopes
                       masterd,
349 c890f66a Jose A. Lopes
                       mond,
350 c890f66a Jose A. Lopes
                       noded,
351 c890f66a Jose A. Lopes
                       rapi]
352 85c48fbb Jose A. Lopes
353 c890f66a Jose A. Lopes
defaultConfdPort :: Int
354 c890f66a Jose A. Lopes
defaultConfdPort = 1814
355 85c48fbb Jose A. Lopes
356 c890f66a Jose A. Lopes
defaultMondPort :: Int
357 c890f66a Jose A. Lopes
defaultMondPort = 1815
358 85c48fbb Jose A. Lopes
359 c890f66a Jose A. Lopes
defaultNodedPort :: Int
360 c890f66a Jose A. Lopes
defaultNodedPort = 1811
361 85c48fbb Jose A. Lopes
362 c890f66a Jose A. Lopes
defaultRapiPort :: Int
363 c890f66a Jose A. Lopes
defaultRapiPort = 5080
364 85c48fbb Jose A. Lopes
365 c890f66a Jose A. Lopes
daemonsPorts :: Map String (Protocol, Int)
366 c890f66a Jose A. Lopes
daemonsPorts =
367 c890f66a Jose A. Lopes
  Map.fromList [(confd, (Udp, defaultConfdPort)),
368 c890f66a Jose A. Lopes
                (mond, (Tcp, defaultMondPort)),
369 c890f66a Jose A. Lopes
                (noded, (Tcp, defaultNodedPort)),
370 c890f66a Jose A. Lopes
                (rapi, (Tcp, defaultRapiPort)),
371 c890f66a Jose A. Lopes
                (ssh, (Tcp, 22))]
372 85c48fbb Jose A. Lopes
373 74129b52 Jose A. Lopes
firstDrbdPort :: Int
374 74129b52 Jose A. Lopes
firstDrbdPort = 11000
375 74129b52 Jose A. Lopes
376 74129b52 Jose A. Lopes
lastDrbdPort :: Int
377 74129b52 Jose A. Lopes
lastDrbdPort = 14999
378 74129b52 Jose A. Lopes
379 c890f66a Jose A. Lopes
daemonsLogbase :: Map String String
380 c890f66a Jose A. Lopes
daemonsLogbase =
381 c890f66a Jose A. Lopes
  Map.fromList
382 c890f66a Jose A. Lopes
  [ (Runtime.daemonName d, Runtime.daemonLogBase d) | d <- [minBound..] ]
383 85c48fbb Jose A. Lopes
384 c890f66a Jose A. Lopes
extraLogreasonAccess :: String
385 c890f66a Jose A. Lopes
extraLogreasonAccess = Runtime.daemonsExtraLogbase GanetiMond AccessLog
386 85c48fbb Jose A. Lopes
387 c890f66a Jose A. Lopes
extraLogreasonError :: String
388 c890f66a Jose A. Lopes
extraLogreasonError = Runtime.daemonsExtraLogbase GanetiMond ErrorLog
389 85c48fbb Jose A. Lopes
390 c890f66a Jose A. Lopes
devConsole :: String
391 c890f66a Jose A. Lopes
devConsole = ConstantUtils.devConsole
392 85c48fbb Jose A. Lopes
393 0412a686 Jose A. Lopes
procMounts :: String
394 0412a686 Jose A. Lopes
procMounts = "/proc/mounts"
395 0412a686 Jose A. Lopes
396 5d4e1402 Jose A. Lopes
-- * Luxi (Local UniX Interface) related constants
397 5d4e1402 Jose A. Lopes
398 5d4e1402 Jose A. Lopes
luxiEom :: PythonChar
399 5d4e1402 Jose A. Lopes
luxiEom = PythonChar '\x03'
400 5d4e1402 Jose A. Lopes
401 5d4e1402 Jose A. Lopes
-- | Environment variable for the luxi override socket
402 5d4e1402 Jose A. Lopes
luxiOverride :: String
403 5d4e1402 Jose A. Lopes
luxiOverride = "FORCE_LUXI_SOCKET"
404 5d4e1402 Jose A. Lopes
405 5d4e1402 Jose A. Lopes
luxiOverrideMaster :: String
406 5d4e1402 Jose A. Lopes
luxiOverrideMaster = "master"
407 5d4e1402 Jose A. Lopes
408 5d4e1402 Jose A. Lopes
luxiOverrideQuery :: String
409 5d4e1402 Jose A. Lopes
luxiOverrideQuery = "query"
410 5d4e1402 Jose A. Lopes
411 5d4e1402 Jose A. Lopes
luxiVersion :: Int
412 5d4e1402 Jose A. Lopes
luxiVersion = configVersion
413 5d4e1402 Jose A. Lopes
414 c890f66a Jose A. Lopes
-- * Syslog
415 85c48fbb Jose A. Lopes
416 c890f66a Jose A. Lopes
syslogUsage :: String
417 c890f66a Jose A. Lopes
syslogUsage = AutoConf.syslogUsage
418 85c48fbb Jose A. Lopes
419 c890f66a Jose A. Lopes
syslogNo :: String
420 c890f66a Jose A. Lopes
syslogNo = Logging.syslogUsageToRaw SyslogNo
421 85c48fbb Jose A. Lopes
422 c890f66a Jose A. Lopes
syslogYes :: String
423 c890f66a Jose A. Lopes
syslogYes = Logging.syslogUsageToRaw SyslogYes
424 85c48fbb Jose A. Lopes
425 c890f66a Jose A. Lopes
syslogOnly :: String
426 c890f66a Jose A. Lopes
syslogOnly = Logging.syslogUsageToRaw SyslogOnly
427 85c48fbb Jose A. Lopes
428 c890f66a Jose A. Lopes
syslogSocket :: String
429 c890f66a Jose A. Lopes
syslogSocket = "/dev/log"
430 85c48fbb Jose A. Lopes
431 0412a686 Jose A. Lopes
exportConfFile :: String
432 0412a686 Jose A. Lopes
exportConfFile = "config.ini"
433 0412a686 Jose A. Lopes
434 c890f66a Jose A. Lopes
-- * Xen
435 85c48fbb Jose A. Lopes
436 c890f66a Jose A. Lopes
xenBootloader :: String
437 c890f66a Jose A. Lopes
xenBootloader = AutoConf.xenBootloader
438 85c48fbb Jose A. Lopes
439 c890f66a Jose A. Lopes
xenCmdXl :: String
440 c890f66a Jose A. Lopes
xenCmdXl = "xl"
441 85c48fbb Jose A. Lopes
442 c890f66a Jose A. Lopes
xenCmdXm :: String
443 c890f66a Jose A. Lopes
xenCmdXm = "xm"
444 85c48fbb Jose A. Lopes
445 c890f66a Jose A. Lopes
xenInitrd :: String
446 c890f66a Jose A. Lopes
xenInitrd = AutoConf.xenInitrd
447 85c48fbb Jose A. Lopes
448 c890f66a Jose A. Lopes
xenKernel :: String
449 c890f66a Jose A. Lopes
xenKernel = AutoConf.xenKernel
450 85c48fbb Jose A. Lopes
451 c890f66a Jose A. Lopes
-- FIXME: perhaps rename to 'validXenCommands' for consistency with
452 c890f66a Jose A. Lopes
-- other constants
453 c890f66a Jose A. Lopes
knownXenCommands :: FrozenSet String
454 c890f66a Jose A. Lopes
knownXenCommands = ConstantUtils.mkSet [xenCmdXl, xenCmdXm]
455 85c48fbb Jose A. Lopes
456 3b170ad4 Jose A. Lopes
-- * KVM and socat
457 3b170ad4 Jose A. Lopes
458 3b170ad4 Jose A. Lopes
kvmPath :: String
459 3b170ad4 Jose A. Lopes
kvmPath = AutoConf.kvmPath
460 3b170ad4 Jose A. Lopes
461 3b170ad4 Jose A. Lopes
kvmKernel :: String
462 3b170ad4 Jose A. Lopes
kvmKernel = AutoConf.kvmKernel
463 3b170ad4 Jose A. Lopes
464 3b170ad4 Jose A. Lopes
socatEscapeCode :: String
465 3b170ad4 Jose A. Lopes
socatEscapeCode = "0x1d"
466 3b170ad4 Jose A. Lopes
467 3b170ad4 Jose A. Lopes
socatPath :: String
468 3b170ad4 Jose A. Lopes
socatPath = AutoConf.socatPath
469 3b170ad4 Jose A. Lopes
470 3b170ad4 Jose A. Lopes
socatUseCompress :: Bool
471 3b170ad4 Jose A. Lopes
socatUseCompress = AutoConf.socatUseCompress
472 3b170ad4 Jose A. Lopes
473 3b170ad4 Jose A. Lopes
socatUseEscape :: Bool
474 3b170ad4 Jose A. Lopes
socatUseEscape = AutoConf.socatUseEscape
475 3b170ad4 Jose A. Lopes
476 3f5fd161 Jose A. Lopes
-- * Console types
477 3f5fd161 Jose A. Lopes
478 3f5fd161 Jose A. Lopes
-- | Display a message for console access
479 3f5fd161 Jose A. Lopes
consMessage :: String
480 3f5fd161 Jose A. Lopes
consMessage = "msg"
481 3f5fd161 Jose A. Lopes
482 3f5fd161 Jose A. Lopes
-- | Console as SPICE server
483 3f5fd161 Jose A. Lopes
consSpice :: String
484 3f5fd161 Jose A. Lopes
consSpice = "spice"
485 3f5fd161 Jose A. Lopes
486 3f5fd161 Jose A. Lopes
-- | Console as SSH command
487 3f5fd161 Jose A. Lopes
consSsh :: String
488 3f5fd161 Jose A. Lopes
consSsh = "ssh"
489 3f5fd161 Jose A. Lopes
490 3f5fd161 Jose A. Lopes
-- | Console as VNC server
491 3f5fd161 Jose A. Lopes
consVnc :: String
492 3f5fd161 Jose A. Lopes
consVnc = "vnc"
493 3f5fd161 Jose A. Lopes
494 3f5fd161 Jose A. Lopes
consAll :: FrozenSet String
495 3f5fd161 Jose A. Lopes
consAll = ConstantUtils.mkSet [consMessage, consSpice, consSsh, consVnc]
496 3f5fd161 Jose A. Lopes
497 3f5fd161 Jose A. Lopes
-- | RSA key bit length
498 3f5fd161 Jose A. Lopes
--
499 3f5fd161 Jose A. Lopes
-- For RSA keys more bits are better, but they also make operations
500 3f5fd161 Jose A. Lopes
-- more expensive. NIST SP 800-131 recommends a minimum of 2048 bits
501 3f5fd161 Jose A. Lopes
-- from the year 2010 on.
502 3f5fd161 Jose A. Lopes
rsaKeyBits :: Int
503 3f5fd161 Jose A. Lopes
rsaKeyBits = 2048
504 3f5fd161 Jose A. Lopes
505 3f5fd161 Jose A. Lopes
-- | Ciphers allowed for SSL connections.
506 3f5fd161 Jose A. Lopes
--
507 3f5fd161 Jose A. Lopes
-- For the format, see ciphers(1). A better way to disable ciphers
508 3f5fd161 Jose A. Lopes
-- would be to use the exclamation mark (!), but socat versions below
509 3f5fd161 Jose A. Lopes
-- 1.5 can't parse exclamation marks in options properly. When
510 3f5fd161 Jose A. Lopes
-- modifying the ciphers, ensure not to accidentially add something
511 3f5fd161 Jose A. Lopes
-- after it's been removed. Use the "openssl" utility to check the
512 3f5fd161 Jose A. Lopes
-- allowed ciphers, e.g.  "openssl ciphers -v HIGH:-DES".
513 3f5fd161 Jose A. Lopes
opensslCiphers :: String
514 3f5fd161 Jose A. Lopes
opensslCiphers = "HIGH:-DES:-3DES:-EXPORT:-ADH"
515 3f5fd161 Jose A. Lopes
516 3f5fd161 Jose A. Lopes
-- * X509
517 3f5fd161 Jose A. Lopes
518 3f5fd161 Jose A. Lopes
-- | commonName (CN) used in certificates
519 3f5fd161 Jose A. Lopes
x509CertCn :: String
520 3f5fd161 Jose A. Lopes
x509CertCn = "ganeti.example.com"
521 3f5fd161 Jose A. Lopes
522 3f5fd161 Jose A. Lopes
-- | Default validity of certificates in days
523 3f5fd161 Jose A. Lopes
x509CertDefaultValidity :: Int
524 3f5fd161 Jose A. Lopes
x509CertDefaultValidity = 365 * 5
525 3f5fd161 Jose A. Lopes
526 3f5fd161 Jose A. Lopes
x509CertSignatureHeader :: String
527 3f5fd161 Jose A. Lopes
x509CertSignatureHeader = "X-Ganeti-Signature"
528 3f5fd161 Jose A. Lopes
529 3f5fd161 Jose A. Lopes
-- | Digest used to sign certificates ("openssl x509" uses SHA1 by default)
530 3f5fd161 Jose A. Lopes
x509CertSignDigest :: String
531 3f5fd161 Jose A. Lopes
x509CertSignDigest = "SHA1"
532 3f5fd161 Jose A. Lopes
533 3f5fd161 Jose A. Lopes
-- * Import/export daemon mode
534 3f5fd161 Jose A. Lopes
535 3f5fd161 Jose A. Lopes
iemExport :: String
536 3f5fd161 Jose A. Lopes
iemExport = "export"
537 3f5fd161 Jose A. Lopes
538 3f5fd161 Jose A. Lopes
iemImport :: String
539 3f5fd161 Jose A. Lopes
iemImport = "import"
540 3f5fd161 Jose A. Lopes
541 3f5fd161 Jose A. Lopes
-- * Import/export transport compression
542 3f5fd161 Jose A. Lopes
543 3f5fd161 Jose A. Lopes
iecGzip :: String
544 3f5fd161 Jose A. Lopes
iecGzip = "gzip"
545 3f5fd161 Jose A. Lopes
546 3f5fd161 Jose A. Lopes
iecNone :: String
547 3f5fd161 Jose A. Lopes
iecNone = "none"
548 3f5fd161 Jose A. Lopes
549 3f5fd161 Jose A. Lopes
iecAll :: [String]
550 3f5fd161 Jose A. Lopes
iecAll = [iecGzip, iecNone]
551 3f5fd161 Jose A. Lopes
552 3f5fd161 Jose A. Lopes
ieCustomSize :: String
553 3f5fd161 Jose A. Lopes
ieCustomSize = "fd"
554 3f5fd161 Jose A. Lopes
555 3f5fd161 Jose A. Lopes
-- * Import/export I/O
556 3f5fd161 Jose A. Lopes
557 3f5fd161 Jose A. Lopes
-- | Direct file I/O, equivalent to a shell's I/O redirection using
558 3f5fd161 Jose A. Lopes
-- '<' or '>'
559 3f5fd161 Jose A. Lopes
ieioFile :: String
560 3f5fd161 Jose A. Lopes
ieioFile = "file"
561 3f5fd161 Jose A. Lopes
562 3f5fd161 Jose A. Lopes
-- | Raw block device I/O using "dd"
563 3f5fd161 Jose A. Lopes
ieioRawDisk :: String
564 3f5fd161 Jose A. Lopes
ieioRawDisk = "raw"
565 3f5fd161 Jose A. Lopes
566 3f5fd161 Jose A. Lopes
-- | OS definition import/export script
567 3f5fd161 Jose A. Lopes
ieioScript :: String
568 3f5fd161 Jose A. Lopes
ieioScript = "script"
569 3f5fd161 Jose A. Lopes
570 3f5fd161 Jose A. Lopes
-- * Hooks
571 3f5fd161 Jose A. Lopes
572 3f5fd161 Jose A. Lopes
hooksNameCfgupdate :: String
573 3f5fd161 Jose A. Lopes
hooksNameCfgupdate = "config-update"
574 3f5fd161 Jose A. Lopes
575 3f5fd161 Jose A. Lopes
hooksNameWatcher :: String
576 3f5fd161 Jose A. Lopes
hooksNameWatcher = "watcher"
577 3f5fd161 Jose A. Lopes
578 3f5fd161 Jose A. Lopes
hooksPath :: String
579 3f5fd161 Jose A. Lopes
hooksPath = "/sbin:/bin:/usr/sbin:/usr/bin"
580 3f5fd161 Jose A. Lopes
581 3f5fd161 Jose A. Lopes
hooksPhasePost :: String
582 3f5fd161 Jose A. Lopes
hooksPhasePost = "post"
583 3f5fd161 Jose A. Lopes
584 3f5fd161 Jose A. Lopes
hooksPhasePre :: String
585 3f5fd161 Jose A. Lopes
hooksPhasePre = "pre"
586 3f5fd161 Jose A. Lopes
587 3f5fd161 Jose A. Lopes
hooksVersion :: Int
588 3f5fd161 Jose A. Lopes
hooksVersion = 2
589 3f5fd161 Jose A. Lopes
590 3f5fd161 Jose A. Lopes
-- * Hooks subject type (what object type does the LU deal with)
591 3f5fd161 Jose A. Lopes
592 3f5fd161 Jose A. Lopes
htypeCluster :: String
593 3f5fd161 Jose A. Lopes
htypeCluster = "CLUSTER"
594 3f5fd161 Jose A. Lopes
595 3f5fd161 Jose A. Lopes
htypeGroup :: String
596 3f5fd161 Jose A. Lopes
htypeGroup = "GROUP"
597 3f5fd161 Jose A. Lopes
598 3f5fd161 Jose A. Lopes
htypeInstance :: String
599 3f5fd161 Jose A. Lopes
htypeInstance = "INSTANCE"
600 3f5fd161 Jose A. Lopes
601 3f5fd161 Jose A. Lopes
htypeNetwork :: String
602 3f5fd161 Jose A. Lopes
htypeNetwork = "NETWORK"
603 3f5fd161 Jose A. Lopes
604 3f5fd161 Jose A. Lopes
htypeNode :: String
605 3f5fd161 Jose A. Lopes
htypeNode = "NODE"
606 3f5fd161 Jose A. Lopes
607 3f5fd161 Jose A. Lopes
-- * Hkr
608 3f5fd161 Jose A. Lopes
609 3f5fd161 Jose A. Lopes
hkrSkip :: Int
610 3f5fd161 Jose A. Lopes
hkrSkip = 0
611 3f5fd161 Jose A. Lopes
612 3f5fd161 Jose A. Lopes
hkrFail :: Int
613 3f5fd161 Jose A. Lopes
hkrFail = 1
614 3f5fd161 Jose A. Lopes
615 3f5fd161 Jose A. Lopes
hkrSuccess :: Int
616 3f5fd161 Jose A. Lopes
hkrSuccess = 2
617 3f5fd161 Jose A. Lopes
618 c890f66a Jose A. Lopes
-- * Storage types
619 85c48fbb Jose A. Lopes
620 c890f66a Jose A. Lopes
stBlock :: String
621 c890f66a Jose A. Lopes
stBlock = Types.storageTypeToRaw StorageBlock
622 85c48fbb Jose A. Lopes
623 c890f66a Jose A. Lopes
stDiskless :: String
624 c890f66a Jose A. Lopes
stDiskless = Types.storageTypeToRaw StorageDiskless
625 85c48fbb Jose A. Lopes
626 c890f66a Jose A. Lopes
stExt :: String
627 c890f66a Jose A. Lopes
stExt = Types.storageTypeToRaw StorageExt
628 85c48fbb Jose A. Lopes
629 c890f66a Jose A. Lopes
stFile :: String
630 c890f66a Jose A. Lopes
stFile = Types.storageTypeToRaw StorageFile
631 85c48fbb Jose A. Lopes
632 c890f66a Jose A. Lopes
stLvmPv :: String
633 c890f66a Jose A. Lopes
stLvmPv = Types.storageTypeToRaw StorageLvmPv
634 85c48fbb Jose A. Lopes
635 c890f66a Jose A. Lopes
stLvmVg :: String
636 c890f66a Jose A. Lopes
stLvmVg = Types.storageTypeToRaw StorageLvmVg
637 85c48fbb Jose A. Lopes
638 c890f66a Jose A. Lopes
stRados :: String
639 c890f66a Jose A. Lopes
stRados = Types.storageTypeToRaw StorageRados
640 85c48fbb Jose A. Lopes
641 c890f66a Jose A. Lopes
storageTypes :: FrozenSet String
642 c890f66a Jose A. Lopes
storageTypes = ConstantUtils.mkSet $ map Types.storageTypeToRaw [minBound..]
643 85c48fbb Jose A. Lopes
644 9be1ff8c Jose A. Lopes
-- | The set of storage types for which storage reporting is available
645 9be1ff8c Jose A. Lopes
--
646 9be1ff8c Jose A. Lopes
-- FIXME: Remove this, once storage reporting is available for all
647 9be1ff8c Jose A. Lopes
-- types.
648 9be1ff8c Jose A. Lopes
stsReport :: FrozenSet String
649 9be1ff8c Jose A. Lopes
stsReport = ConstantUtils.mkSet [stFile, stLvmPv, stLvmVg]
650 9be1ff8c Jose A. Lopes
651 c890f66a Jose A. Lopes
-- * Storage fields
652 c890f66a Jose A. Lopes
-- ** First two are valid in LU context only, not passed to backend
653 85c48fbb Jose A. Lopes
654 c890f66a Jose A. Lopes
sfNode :: String
655 c890f66a Jose A. Lopes
sfNode = "node"
656 85c48fbb Jose A. Lopes
657 c890f66a Jose A. Lopes
sfType :: String
658 c890f66a Jose A. Lopes
sfType = "type"
659 85c48fbb Jose A. Lopes
660 c890f66a Jose A. Lopes
-- ** and the rest are valid in backend
661 85c48fbb Jose A. Lopes
662 c890f66a Jose A. Lopes
sfAllocatable :: String
663 c890f66a Jose A. Lopes
sfAllocatable = Types.storageFieldToRaw SFAllocatable
664 85c48fbb Jose A. Lopes
665 c890f66a Jose A. Lopes
sfFree :: String
666 c890f66a Jose A. Lopes
sfFree = Types.storageFieldToRaw SFFree
667 85c48fbb Jose A. Lopes
668 c890f66a Jose A. Lopes
sfName :: String
669 c890f66a Jose A. Lopes
sfName = Types.storageFieldToRaw SFName
670 85c48fbb Jose A. Lopes
671 c890f66a Jose A. Lopes
sfSize :: String
672 c890f66a Jose A. Lopes
sfSize = Types.storageFieldToRaw SFSize
673 85c48fbb Jose A. Lopes
674 c890f66a Jose A. Lopes
sfUsed :: String
675 c890f66a Jose A. Lopes
sfUsed = Types.storageFieldToRaw SFUsed
676 85c48fbb Jose A. Lopes
677 9be1ff8c Jose A. Lopes
validStorageFields :: FrozenSet String
678 9be1ff8c Jose A. Lopes
validStorageFields =
679 9be1ff8c Jose A. Lopes
  ConstantUtils.mkSet $ map Types.storageFieldToRaw [minBound..] ++
680 9be1ff8c Jose A. Lopes
                        [sfNode, sfType]
681 9be1ff8c Jose A. Lopes
682 9be1ff8c Jose A. Lopes
modifiableStorageFields :: Map String (FrozenSet String)
683 9be1ff8c Jose A. Lopes
modifiableStorageFields =
684 9be1ff8c Jose A. Lopes
  Map.fromList [(Types.storageTypeToRaw StorageLvmPv,
685 9be1ff8c Jose A. Lopes
                 ConstantUtils.mkSet [sfAllocatable])]
686 9be1ff8c Jose A. Lopes
687 9be1ff8c Jose A. Lopes
-- * Storage operations
688 9be1ff8c Jose A. Lopes
689 9be1ff8c Jose A. Lopes
soFixConsistency :: String
690 9be1ff8c Jose A. Lopes
soFixConsistency = "fix-consistency"
691 9be1ff8c Jose A. Lopes
692 9be1ff8c Jose A. Lopes
validStorageOperations :: Map String (FrozenSet String)
693 9be1ff8c Jose A. Lopes
validStorageOperations =
694 9be1ff8c Jose A. Lopes
  Map.fromList [(Types.storageTypeToRaw StorageLvmVg,
695 9be1ff8c Jose A. Lopes
                 ConstantUtils.mkSet [soFixConsistency])]
696 9be1ff8c Jose A. Lopes
697 9be1ff8c Jose A. Lopes
-- * Volume fields
698 9be1ff8c Jose A. Lopes
699 9be1ff8c Jose A. Lopes
vfDev :: String
700 9be1ff8c Jose A. Lopes
vfDev = "dev"
701 9be1ff8c Jose A. Lopes
702 9be1ff8c Jose A. Lopes
vfInstance :: String
703 9be1ff8c Jose A. Lopes
vfInstance = "instance"
704 9be1ff8c Jose A. Lopes
705 9be1ff8c Jose A. Lopes
vfName :: String
706 9be1ff8c Jose A. Lopes
vfName = "name"
707 9be1ff8c Jose A. Lopes
708 9be1ff8c Jose A. Lopes
vfNode :: String
709 9be1ff8c Jose A. Lopes
vfNode = "node"
710 9be1ff8c Jose A. Lopes
711 9be1ff8c Jose A. Lopes
vfPhys :: String
712 9be1ff8c Jose A. Lopes
vfPhys = "phys"
713 9be1ff8c Jose A. Lopes
714 9be1ff8c Jose A. Lopes
vfSize :: String
715 9be1ff8c Jose A. Lopes
vfSize = "size"
716 9be1ff8c Jose A. Lopes
717 9be1ff8c Jose A. Lopes
vfVg :: String
718 9be1ff8c Jose A. Lopes
vfVg = "vg"
719 9be1ff8c Jose A. Lopes
720 59bcd180 Jose A. Lopes
-- * Local disk status
721 59bcd180 Jose A. Lopes
722 59bcd180 Jose A. Lopes
ldsFaulty :: Int
723 59bcd180 Jose A. Lopes
ldsFaulty = Types.localDiskStatusToRaw DiskStatusFaulty
724 59bcd180 Jose A. Lopes
725 59bcd180 Jose A. Lopes
ldsOkay :: Int
726 59bcd180 Jose A. Lopes
ldsOkay = Types.localDiskStatusToRaw DiskStatusOk
727 59bcd180 Jose A. Lopes
728 59bcd180 Jose A. Lopes
ldsUnknown :: Int
729 59bcd180 Jose A. Lopes
ldsUnknown = Types.localDiskStatusToRaw DiskStatusUnknown
730 59bcd180 Jose A. Lopes
731 59bcd180 Jose A. Lopes
ldsNames :: Map Int String
732 59bcd180 Jose A. Lopes
ldsNames =
733 59bcd180 Jose A. Lopes
  Map.fromList [ (Types.localDiskStatusToRaw ds,
734 59bcd180 Jose A. Lopes
                  localDiskStatusName ds) | ds <- [minBound..] ]
735 59bcd180 Jose A. Lopes
736 c890f66a Jose A. Lopes
-- * Disk template types
737 85c48fbb Jose A. Lopes
738 c890f66a Jose A. Lopes
dtDiskless :: String
739 c890f66a Jose A. Lopes
dtDiskless = Types.diskTemplateToRaw DTDiskless
740 85c48fbb Jose A. Lopes
741 c890f66a Jose A. Lopes
dtFile :: String
742 c890f66a Jose A. Lopes
dtFile = Types.diskTemplateToRaw DTFile
743 85c48fbb Jose A. Lopes
744 c890f66a Jose A. Lopes
dtSharedFile :: String
745 c890f66a Jose A. Lopes
dtSharedFile = Types.diskTemplateToRaw DTSharedFile
746 85c48fbb Jose A. Lopes
747 c890f66a Jose A. Lopes
dtPlain :: String
748 c890f66a Jose A. Lopes
dtPlain = Types.diskTemplateToRaw DTPlain
749 85c48fbb Jose A. Lopes
750 c890f66a Jose A. Lopes
dtBlock :: String
751 c890f66a Jose A. Lopes
dtBlock = Types.diskTemplateToRaw DTBlock
752 85c48fbb Jose A. Lopes
753 c890f66a Jose A. Lopes
dtDrbd8 :: String
754 c890f66a Jose A. Lopes
dtDrbd8 = Types.diskTemplateToRaw DTDrbd8
755 85c48fbb Jose A. Lopes
756 c890f66a Jose A. Lopes
dtRbd :: String
757 c890f66a Jose A. Lopes
dtRbd = Types.diskTemplateToRaw DTRbd
758 85c48fbb Jose A. Lopes
759 c890f66a Jose A. Lopes
dtExt :: String
760 c890f66a Jose A. Lopes
dtExt = Types.diskTemplateToRaw DTExt
761 85c48fbb Jose A. Lopes
762 c890f66a Jose A. Lopes
-- | This is used to order determine the default disk template when
763 c890f66a Jose A. Lopes
-- the list of enabled disk templates is inferred from the current
764 c890f66a Jose A. Lopes
-- state of the cluster.  This only happens on an upgrade from a
765 c890f66a Jose A. Lopes
-- version of Ganeti that did not support the 'enabled_disk_templates'
766 c890f66a Jose A. Lopes
-- so far.
767 c890f66a Jose A. Lopes
diskTemplatePreference :: [String]
768 c890f66a Jose A. Lopes
diskTemplatePreference =
769 c890f66a Jose A. Lopes
  map Types.diskTemplateToRaw
770 c890f66a Jose A. Lopes
  [DTBlock, DTDiskless, DTDrbd8, DTExt, DTFile, DTPlain, DTRbd, DTSharedFile]
771 85c48fbb Jose A. Lopes
772 c890f66a Jose A. Lopes
diskTemplates :: FrozenSet String
773 c890f66a Jose A. Lopes
diskTemplates = ConstantUtils.mkSet $ map Types.diskTemplateToRaw [minBound..]
774 85c48fbb Jose A. Lopes
775 c890f66a Jose A. Lopes
-- | Disk templates that are enabled by default
776 c890f66a Jose A. Lopes
defaultEnabledDiskTemplates :: [String]
777 c890f66a Jose A. Lopes
defaultEnabledDiskTemplates = map Types.diskTemplateToRaw [DTDrbd8, DTPlain]
778 85c48fbb Jose A. Lopes
779 9be1ff8c Jose A. Lopes
-- | Mapping of disk templates to storage types
780 9be1ff8c Jose A. Lopes
mapDiskTemplateStorageType :: Map String String
781 9be1ff8c Jose A. Lopes
mapDiskTemplateStorageType =
782 9be1ff8c Jose A. Lopes
  Map.fromList $
783 9be1ff8c Jose A. Lopes
  map (Types.diskTemplateToRaw *** Types.storageTypeToRaw)
784 9be1ff8c Jose A. Lopes
  [(DTBlock, StorageBlock),
785 9be1ff8c Jose A. Lopes
   (DTDrbd8, StorageLvmVg),
786 9be1ff8c Jose A. Lopes
   (DTExt, StorageExt),
787 9be1ff8c Jose A. Lopes
   (DTSharedFile, StorageFile),
788 9be1ff8c Jose A. Lopes
   (DTFile, StorageFile),
789 9be1ff8c Jose A. Lopes
   (DTDiskless, StorageDiskless),
790 9be1ff8c Jose A. Lopes
   (DTPlain, StorageLvmVg),
791 9be1ff8c Jose A. Lopes
   (DTRbd, StorageRados)]
792 9be1ff8c Jose A. Lopes
793 4c1275f9 Jose A. Lopes
-- | The set of network-mirrored disk templates
794 4c1275f9 Jose A. Lopes
dtsIntMirror :: FrozenSet String
795 4c1275f9 Jose A. Lopes
dtsIntMirror = ConstantUtils.mkSet [dtDrbd8]
796 4c1275f9 Jose A. Lopes
797 4c1275f9 Jose A. Lopes
-- | 'DTDiskless' is 'trivially' externally mirrored
798 4c1275f9 Jose A. Lopes
dtsExtMirror :: FrozenSet String
799 4c1275f9 Jose A. Lopes
dtsExtMirror =
800 4c1275f9 Jose A. Lopes
  ConstantUtils.mkSet $
801 4c1275f9 Jose A. Lopes
  map Types.diskTemplateToRaw [DTDiskless, DTBlock, DTExt, DTSharedFile, DTRbd]
802 4c1275f9 Jose A. Lopes
803 4c1275f9 Jose A. Lopes
-- | The set of non-lvm-based disk templates
804 4c1275f9 Jose A. Lopes
dtsNotLvm :: FrozenSet String
805 4c1275f9 Jose A. Lopes
dtsNotLvm =
806 4c1275f9 Jose A. Lopes
  ConstantUtils.mkSet $
807 4c1275f9 Jose A. Lopes
  map Types.diskTemplateToRaw
808 4c1275f9 Jose A. Lopes
  [DTSharedFile, DTDiskless, DTBlock, DTExt, DTFile, DTRbd]
809 4c1275f9 Jose A. Lopes
810 4c1275f9 Jose A. Lopes
-- | The set of disk templates which can be grown
811 4c1275f9 Jose A. Lopes
dtsGrowable :: FrozenSet String
812 4c1275f9 Jose A. Lopes
dtsGrowable =
813 4c1275f9 Jose A. Lopes
  ConstantUtils.mkSet $
814 4c1275f9 Jose A. Lopes
  map Types.diskTemplateToRaw
815 4c1275f9 Jose A. Lopes
  [DTSharedFile, DTDrbd8, DTPlain, DTExt, DTFile, DTRbd]
816 4c1275f9 Jose A. Lopes
817 4c1275f9 Jose A. Lopes
-- | The set of disk templates that allow adoption
818 4c1275f9 Jose A. Lopes
dtsMayAdopt :: FrozenSet String
819 4c1275f9 Jose A. Lopes
dtsMayAdopt =
820 4c1275f9 Jose A. Lopes
  ConstantUtils.mkSet $ map Types.diskTemplateToRaw [DTBlock, DTPlain]
821 4c1275f9 Jose A. Lopes
822 4c1275f9 Jose A. Lopes
-- | The set of disk templates that *must* use adoption
823 4c1275f9 Jose A. Lopes
dtsMustAdopt :: FrozenSet String
824 4c1275f9 Jose A. Lopes
dtsMustAdopt = ConstantUtils.mkSet [Types.diskTemplateToRaw DTBlock]
825 4c1275f9 Jose A. Lopes
826 4c1275f9 Jose A. Lopes
-- | The set of disk templates that allow migrations
827 4c1275f9 Jose A. Lopes
dtsMirrored :: FrozenSet String
828 4c1275f9 Jose A. Lopes
dtsMirrored = dtsIntMirror `ConstantUtils.union` dtsExtMirror
829 4c1275f9 Jose A. Lopes
830 4c1275f9 Jose A. Lopes
-- | The set of file based disk templates
831 4c1275f9 Jose A. Lopes
dtsFilebased :: FrozenSet String
832 4c1275f9 Jose A. Lopes
dtsFilebased =
833 4c1275f9 Jose A. Lopes
  ConstantUtils.mkSet $ map Types.diskTemplateToRaw [DTSharedFile, DTFile]
834 4c1275f9 Jose A. Lopes
835 4c1275f9 Jose A. Lopes
-- | The set of disk templates that can be moved by copying
836 4c1275f9 Jose A. Lopes
--
837 4c1275f9 Jose A. Lopes
-- Note: a requirement is that they're not accessed externally or
838 4c1275f9 Jose A. Lopes
-- shared between nodes; in particular, sharedfile is not suitable.
839 4c1275f9 Jose A. Lopes
dtsCopyable :: FrozenSet String
840 4c1275f9 Jose A. Lopes
dtsCopyable =
841 4c1275f9 Jose A. Lopes
  ConstantUtils.mkSet $ map Types.diskTemplateToRaw [DTPlain, DTFile]
842 4c1275f9 Jose A. Lopes
843 4c1275f9 Jose A. Lopes
-- | The set of disk templates that are supported by exclusive_storage
844 4c1275f9 Jose A. Lopes
dtsExclStorage :: FrozenSet String
845 4c1275f9 Jose A. Lopes
dtsExclStorage = ConstantUtils.mkSet $ map Types.diskTemplateToRaw [DTPlain]
846 4c1275f9 Jose A. Lopes
847 4c1275f9 Jose A. Lopes
-- | Templates for which we don't perform checks on free space
848 4c1275f9 Jose A. Lopes
dtsNoFreeSpaceCheck :: FrozenSet String
849 4c1275f9 Jose A. Lopes
dtsNoFreeSpaceCheck =
850 4c1275f9 Jose A. Lopes
  ConstantUtils.mkSet $
851 4c1275f9 Jose A. Lopes
  map Types.diskTemplateToRaw [DTExt, DTSharedFile, DTFile, DTRbd]
852 4c1275f9 Jose A. Lopes
853 4c1275f9 Jose A. Lopes
dtsBlock :: FrozenSet String
854 4c1275f9 Jose A. Lopes
dtsBlock =
855 4c1275f9 Jose A. Lopes
  ConstantUtils.mkSet $
856 4c1275f9 Jose A. Lopes
  map Types.diskTemplateToRaw [DTPlain, DTDrbd8, DTBlock, DTRbd, DTExt]
857 4c1275f9 Jose A. Lopes
858 c5539592 Jose A. Lopes
-- * Drbd
859 c5539592 Jose A. Lopes
860 c5539592 Jose A. Lopes
drbdHmacAlg :: String
861 c5539592 Jose A. Lopes
drbdHmacAlg = "md5"
862 c5539592 Jose A. Lopes
863 c5539592 Jose A. Lopes
drbdDefaultNetProtocol :: String
864 c5539592 Jose A. Lopes
drbdDefaultNetProtocol = "C"
865 c5539592 Jose A. Lopes
866 c5539592 Jose A. Lopes
drbdMigrationNetProtocol :: String
867 c5539592 Jose A. Lopes
drbdMigrationNetProtocol = "C"
868 c5539592 Jose A. Lopes
869 c5539592 Jose A. Lopes
drbdStatusFile :: String
870 c5539592 Jose A. Lopes
drbdStatusFile = "/proc/drbd"
871 c5539592 Jose A. Lopes
872 c5539592 Jose A. Lopes
-- | Size of DRBD meta block device
873 c5539592 Jose A. Lopes
drbdMetaSize :: Int
874 c5539592 Jose A. Lopes
drbdMetaSize = 128
875 c5539592 Jose A. Lopes
876 c5539592 Jose A. Lopes
-- * Drbd barrier types
877 c5539592 Jose A. Lopes
878 c5539592 Jose A. Lopes
drbdBDiskBarriers :: String
879 c5539592 Jose A. Lopes
drbdBDiskBarriers = "b"
880 c5539592 Jose A. Lopes
881 c5539592 Jose A. Lopes
drbdBDiskDrain :: String
882 c5539592 Jose A. Lopes
drbdBDiskDrain = "d"
883 c5539592 Jose A. Lopes
884 c5539592 Jose A. Lopes
drbdBDiskFlush :: String
885 c5539592 Jose A. Lopes
drbdBDiskFlush = "f"
886 c5539592 Jose A. Lopes
887 c5539592 Jose A. Lopes
drbdBNone :: String
888 c5539592 Jose A. Lopes
drbdBNone = "n"
889 c5539592 Jose A. Lopes
890 c5539592 Jose A. Lopes
-- | Rbd tool command
891 c5539592 Jose A. Lopes
rbdCmd :: String
892 c5539592 Jose A. Lopes
rbdCmd = "rbd"
893 c5539592 Jose A. Lopes
894 c890f66a Jose A. Lopes
-- * File backend driver
895 85c48fbb Jose A. Lopes
896 c890f66a Jose A. Lopes
fdBlktap :: String
897 c890f66a Jose A. Lopes
fdBlktap = Types.fileDriverToRaw FileBlktap
898 85c48fbb Jose A. Lopes
899 c890f66a Jose A. Lopes
fdLoop :: String
900 c890f66a Jose A. Lopes
fdLoop = Types.fileDriverToRaw FileLoop
901 85c48fbb Jose A. Lopes
902 ad6f2bf3 Jose A. Lopes
fileDriver :: FrozenSet String
903 ad6f2bf3 Jose A. Lopes
fileDriver =
904 ad6f2bf3 Jose A. Lopes
  ConstantUtils.mkSet $
905 ad6f2bf3 Jose A. Lopes
  map Types.fileDriverToRaw [minBound..]
906 ad6f2bf3 Jose A. Lopes
907 59bcd180 Jose A. Lopes
-- | The set of drbd-like disk types
908 59bcd180 Jose A. Lopes
ldsDrbd :: FrozenSet String
909 59bcd180 Jose A. Lopes
ldsDrbd = ConstantUtils.mkSet [Types.diskTemplateToRaw DTDrbd8]
910 59bcd180 Jose A. Lopes
911 c890f66a Jose A. Lopes
-- * Disk access mode
912 85c48fbb Jose A. Lopes
913 c890f66a Jose A. Lopes
diskRdonly :: String
914 c890f66a Jose A. Lopes
diskRdonly = Types.diskModeToRaw DiskRdOnly
915 85c48fbb Jose A. Lopes
916 c890f66a Jose A. Lopes
diskRdwr :: String
917 c890f66a Jose A. Lopes
diskRdwr = Types.diskModeToRaw DiskRdWr
918 85c48fbb Jose A. Lopes
919 c890f66a Jose A. Lopes
diskAccessSet :: FrozenSet String
920 c890f66a Jose A. Lopes
diskAccessSet = ConstantUtils.mkSet $ map Types.diskModeToRaw [minBound..]
921 85c48fbb Jose A. Lopes
922 a5450d2a Jose A. Lopes
-- * Disk replacement mode
923 a5450d2a Jose A. Lopes
924 a5450d2a Jose A. Lopes
replaceDiskAuto :: String
925 a5450d2a Jose A. Lopes
replaceDiskAuto = Types.replaceDisksModeToRaw ReplaceAuto
926 a5450d2a Jose A. Lopes
927 a5450d2a Jose A. Lopes
replaceDiskChg :: String
928 a5450d2a Jose A. Lopes
replaceDiskChg = Types.replaceDisksModeToRaw ReplaceNewSecondary
929 a5450d2a Jose A. Lopes
930 a5450d2a Jose A. Lopes
replaceDiskPri :: String
931 a5450d2a Jose A. Lopes
replaceDiskPri = Types.replaceDisksModeToRaw ReplaceOnPrimary
932 a5450d2a Jose A. Lopes
933 a5450d2a Jose A. Lopes
replaceDiskSec :: String
934 a5450d2a Jose A. Lopes
replaceDiskSec = Types.replaceDisksModeToRaw ReplaceOnSecondary
935 a5450d2a Jose A. Lopes
936 a5450d2a Jose A. Lopes
replaceModes :: FrozenSet String
937 a5450d2a Jose A. Lopes
replaceModes =
938 a5450d2a Jose A. Lopes
  ConstantUtils.mkSet $ map Types.replaceDisksModeToRaw [minBound..]
939 a5450d2a Jose A. Lopes
940 c890f66a Jose A. Lopes
-- * Instance export mode
941 85c48fbb Jose A. Lopes
942 c890f66a Jose A. Lopes
exportModeLocal :: String
943 c890f66a Jose A. Lopes
exportModeLocal = Types.exportModeToRaw ExportModeLocal
944 85c48fbb Jose A. Lopes
945 c890f66a Jose A. Lopes
exportModeRemote :: String
946 c890f66a Jose A. Lopes
exportModeRemote = Types.exportModeToRaw ExportModeRemote
947 85c48fbb Jose A. Lopes
948 c890f66a Jose A. Lopes
exportModes :: FrozenSet String
949 c890f66a Jose A. Lopes
exportModes = ConstantUtils.mkSet $ map Types.exportModeToRaw [minBound..]
950 85c48fbb Jose A. Lopes
951 c890f66a Jose A. Lopes
-- * Instance creation modes
952 85c48fbb Jose A. Lopes
953 c890f66a Jose A. Lopes
instanceCreate :: String
954 c890f66a Jose A. Lopes
instanceCreate = Types.instCreateModeToRaw InstCreate
955 85c48fbb Jose A. Lopes
956 c890f66a Jose A. Lopes
instanceImport :: String
957 c890f66a Jose A. Lopes
instanceImport = Types.instCreateModeToRaw InstImport
958 85c48fbb Jose A. Lopes
959 c890f66a Jose A. Lopes
instanceRemoteImport :: String
960 c890f66a Jose A. Lopes
instanceRemoteImport = Types.instCreateModeToRaw InstRemoteImport
961 85c48fbb Jose A. Lopes
962 c890f66a Jose A. Lopes
instanceCreateModes :: FrozenSet String
963 c890f66a Jose A. Lopes
instanceCreateModes =
964 c890f66a Jose A. Lopes
  ConstantUtils.mkSet $ map Types.instCreateModeToRaw [minBound..]
965 9413ef24 Jose A. Lopes
966 6e18cc0d Jose A. Lopes
-- * Remote import/export handshake message and version
967 6e18cc0d Jose A. Lopes
968 6e18cc0d Jose A. Lopes
rieHandshake :: String
969 6e18cc0d Jose A. Lopes
rieHandshake = "Hi, I'm Ganeti"
970 6e18cc0d Jose A. Lopes
971 6e18cc0d Jose A. Lopes
rieVersion :: Int
972 6e18cc0d Jose A. Lopes
rieVersion = 0
973 6e18cc0d Jose A. Lopes
974 6e18cc0d Jose A. Lopes
-- | Remote import/export certificate validity in seconds
975 6e18cc0d Jose A. Lopes
rieCertValidity :: Int
976 6e18cc0d Jose A. Lopes
rieCertValidity = 24 * 60 * 60
977 6e18cc0d Jose A. Lopes
978 6e18cc0d Jose A. Lopes
-- | Export only: how long to wait per connection attempt (seconds)
979 6e18cc0d Jose A. Lopes
rieConnectAttemptTimeout :: Int
980 6e18cc0d Jose A. Lopes
rieConnectAttemptTimeout = 20
981 6e18cc0d Jose A. Lopes
982 6e18cc0d Jose A. Lopes
-- | Export only: number of attempts to connect
983 6e18cc0d Jose A. Lopes
rieConnectRetries :: Int
984 6e18cc0d Jose A. Lopes
rieConnectRetries = 10
985 6e18cc0d Jose A. Lopes
986 6e18cc0d Jose A. Lopes
-- | Overall timeout for establishing connection
987 6e18cc0d Jose A. Lopes
rieConnectTimeout :: Int
988 6e18cc0d Jose A. Lopes
rieConnectTimeout = 180
989 6e18cc0d Jose A. Lopes
990 6e18cc0d Jose A. Lopes
-- | Give child process up to 5 seconds to exit after sending a signal
991 6e18cc0d Jose A. Lopes
childLingerTimeout :: Double
992 6e18cc0d Jose A. Lopes
childLingerTimeout = 5.0
993 6e18cc0d Jose A. Lopes
994 343dcda8 Jose A. Lopes
-- * Import/export config options
995 343dcda8 Jose A. Lopes
996 343dcda8 Jose A. Lopes
inisectBep :: String
997 343dcda8 Jose A. Lopes
inisectBep = "backend"
998 343dcda8 Jose A. Lopes
999 343dcda8 Jose A. Lopes
inisectExp :: String
1000 343dcda8 Jose A. Lopes
inisectExp = "export"
1001 343dcda8 Jose A. Lopes
1002 343dcda8 Jose A. Lopes
inisectHyp :: String
1003 343dcda8 Jose A. Lopes
inisectHyp = "hypervisor"
1004 343dcda8 Jose A. Lopes
1005 343dcda8 Jose A. Lopes
inisectIns :: String
1006 343dcda8 Jose A. Lopes
inisectIns = "instance"
1007 343dcda8 Jose A. Lopes
1008 343dcda8 Jose A. Lopes
inisectOsp :: String
1009 343dcda8 Jose A. Lopes
inisectOsp = "os"
1010 343dcda8 Jose A. Lopes
1011 c890f66a Jose A. Lopes
-- * Dynamic device modification
1012 9413ef24 Jose A. Lopes
1013 c890f66a Jose A. Lopes
ddmAdd :: String
1014 c890f66a Jose A. Lopes
ddmAdd = Types.ddmFullToRaw DdmFullAdd
1015 1b2adaa6 Jose A. Lopes
1016 c890f66a Jose A. Lopes
ddmModify :: String
1017 c890f66a Jose A. Lopes
ddmModify = Types.ddmFullToRaw DdmFullModify
1018 1b2adaa6 Jose A. Lopes
1019 c890f66a Jose A. Lopes
ddmRemove :: String
1020 c890f66a Jose A. Lopes
ddmRemove = Types.ddmFullToRaw DdmFullRemove
1021 9413ef24 Jose A. Lopes
1022 c890f66a Jose A. Lopes
ddmsValues :: FrozenSet String
1023 c890f66a Jose A. Lopes
ddmsValues = ConstantUtils.mkSet [ddmAdd, ddmRemove]
1024 5867e439 Jose A. Lopes
1025 c890f66a Jose A. Lopes
ddmsValuesWithModify :: FrozenSet String
1026 c890f66a Jose A. Lopes
ddmsValuesWithModify = ConstantUtils.mkSet $ map Types.ddmFullToRaw [minBound..]
1027 5867e439 Jose A. Lopes
1028 c890f66a Jose A. Lopes
-- * Common exit codes
1029 5867e439 Jose A. Lopes
1030 c890f66a Jose A. Lopes
exitSuccess :: Int
1031 c890f66a Jose A. Lopes
exitSuccess = 0
1032 5867e439 Jose A. Lopes
1033 c890f66a Jose A. Lopes
exitFailure :: Int
1034 c890f66a Jose A. Lopes
exitFailure = ConstantUtils.exitFailure
1035 5867e439 Jose A. Lopes
1036 c890f66a Jose A. Lopes
exitNotcluster :: Int
1037 c890f66a Jose A. Lopes
exitNotcluster = 5
1038 5867e439 Jose A. Lopes
1039 c890f66a Jose A. Lopes
exitNotmaster :: Int
1040 c890f66a Jose A. Lopes
exitNotmaster = 11
1041 5867e439 Jose A. Lopes
1042 c890f66a Jose A. Lopes
exitNodesetupError :: Int
1043 c890f66a Jose A. Lopes
exitNodesetupError = 12
1044 26eca119 Jose A. Lopes
1045 c890f66a Jose A. Lopes
-- | Need user confirmation
1046 c890f66a Jose A. Lopes
exitConfirmation :: Int
1047 c890f66a Jose A. Lopes
exitConfirmation = 13
1048 85c48fbb Jose A. Lopes
1049 c890f66a Jose A. Lopes
-- | Exit code for query operations with unknown fields
1050 c890f66a Jose A. Lopes
exitUnknownField :: Int
1051 c890f66a Jose A. Lopes
exitUnknownField = 14
1052 85c48fbb Jose A. Lopes
1053 c890f66a Jose A. Lopes
-- * Tags
1054 85c48fbb Jose A. Lopes
1055 c890f66a Jose A. Lopes
tagCluster :: String
1056 c890f66a Jose A. Lopes
tagCluster = Types.tagKindToRaw TagKindCluster
1057 85c48fbb Jose A. Lopes
1058 c890f66a Jose A. Lopes
tagInstance :: String
1059 c890f66a Jose A. Lopes
tagInstance = Types.tagKindToRaw TagKindInstance
1060 85c48fbb Jose A. Lopes
1061 c890f66a Jose A. Lopes
tagNetwork :: String
1062 c890f66a Jose A. Lopes
tagNetwork = Types.tagKindToRaw TagKindNetwork
1063 85c48fbb Jose A. Lopes
1064 c890f66a Jose A. Lopes
tagNode :: String
1065 c890f66a Jose A. Lopes
tagNode = Types.tagKindToRaw TagKindNode
1066 85c48fbb Jose A. Lopes
1067 c890f66a Jose A. Lopes
tagNodegroup :: String
1068 c890f66a Jose A. Lopes
tagNodegroup = Types.tagKindToRaw TagKindGroup
1069 85c48fbb Jose A. Lopes
1070 c890f66a Jose A. Lopes
validTagTypes :: FrozenSet String
1071 c890f66a Jose A. Lopes
validTagTypes = ConstantUtils.mkSet $ map Types.tagKindToRaw [minBound..]
1072 85c48fbb Jose A. Lopes
1073 c890f66a Jose A. Lopes
maxTagLen :: Int
1074 c890f66a Jose A. Lopes
maxTagLen = 128
1075 85c48fbb Jose A. Lopes
1076 c890f66a Jose A. Lopes
maxTagsPerObj :: Int
1077 c890f66a Jose A. Lopes
maxTagsPerObj = 4096
1078 85c48fbb Jose A. Lopes
1079 b7b8ff87 Jose A. Lopes
-- * Others
1080 b7b8ff87 Jose A. Lopes
1081 b7b8ff87 Jose A. Lopes
defaultBridge :: String
1082 b7b8ff87 Jose A. Lopes
defaultBridge = "xen-br0"
1083 b7b8ff87 Jose A. Lopes
1084 b7b8ff87 Jose A. Lopes
defaultOvs :: String
1085 b7b8ff87 Jose A. Lopes
defaultOvs = "switch1"
1086 b7b8ff87 Jose A. Lopes
1087 b7b8ff87 Jose A. Lopes
-- | 60 MiB, expressed in KiB
1088 b7b8ff87 Jose A. Lopes
classicDrbdSyncSpeed :: Int
1089 b7b8ff87 Jose A. Lopes
classicDrbdSyncSpeed = 60 * 1024
1090 b7b8ff87 Jose A. Lopes
1091 b7b8ff87 Jose A. Lopes
ip4AddressAny :: String
1092 b7b8ff87 Jose A. Lopes
ip4AddressAny = "0.0.0.0"
1093 b7b8ff87 Jose A. Lopes
1094 b7b8ff87 Jose A. Lopes
ip4AddressLocalhost :: String
1095 b7b8ff87 Jose A. Lopes
ip4AddressLocalhost = "127.0.0.1"
1096 b7b8ff87 Jose A. Lopes
1097 b7b8ff87 Jose A. Lopes
ip6AddressAny :: String
1098 b7b8ff87 Jose A. Lopes
ip6AddressAny = "::"
1099 b7b8ff87 Jose A. Lopes
1100 b7b8ff87 Jose A. Lopes
ip6AddressLocalhost :: String
1101 b7b8ff87 Jose A. Lopes
ip6AddressLocalhost = "::1"
1102 b7b8ff87 Jose A. Lopes
1103 b7b8ff87 Jose A. Lopes
ip4Version :: Int
1104 b7b8ff87 Jose A. Lopes
ip4Version = 4
1105 b7b8ff87 Jose A. Lopes
1106 b7b8ff87 Jose A. Lopes
ip6Version :: Int
1107 b7b8ff87 Jose A. Lopes
ip6Version = 6
1108 b7b8ff87 Jose A. Lopes
1109 b7b8ff87 Jose A. Lopes
validIpVersions :: FrozenSet Int
1110 b7b8ff87 Jose A. Lopes
validIpVersions = ConstantUtils.mkSet [ip4Version, ip6Version]
1111 b7b8ff87 Jose A. Lopes
1112 b7b8ff87 Jose A. Lopes
tcpPingTimeout :: Int
1113 b7b8ff87 Jose A. Lopes
tcpPingTimeout = 10
1114 b7b8ff87 Jose A. Lopes
1115 b7b8ff87 Jose A. Lopes
defaultVg :: String
1116 b7b8ff87 Jose A. Lopes
defaultVg = "xenvg"
1117 b7b8ff87 Jose A. Lopes
1118 b7b8ff87 Jose A. Lopes
defaultDrbdHelper :: String
1119 b7b8ff87 Jose A. Lopes
defaultDrbdHelper = "/bin/true"
1120 b7b8ff87 Jose A. Lopes
1121 b7b8ff87 Jose A. Lopes
minVgSize :: Int
1122 b7b8ff87 Jose A. Lopes
minVgSize = 20480
1123 b7b8ff87 Jose A. Lopes
1124 b7b8ff87 Jose A. Lopes
defaultMacPrefix :: String
1125 b7b8ff87 Jose A. Lopes
defaultMacPrefix = "aa:00:00"
1126 b7b8ff87 Jose A. Lopes
1127 b7b8ff87 Jose A. Lopes
-- | Default maximum instance wait time, in seconds.
1128 b7b8ff87 Jose A. Lopes
defaultShutdownTimeout :: Int
1129 b7b8ff87 Jose A. Lopes
defaultShutdownTimeout = 120
1130 b7b8ff87 Jose A. Lopes
1131 61e32567 Jose A. Lopes
-- | Node clock skew in seconds
1132 61e32567 Jose A. Lopes
nodeMaxClockSkew :: Int
1133 61e32567 Jose A. Lopes
nodeMaxClockSkew = 150
1134 61e32567 Jose A. Lopes
1135 52d4f735 Jose A. Lopes
-- | Time for an intra-cluster disk transfer to wait for a connection
1136 52d4f735 Jose A. Lopes
diskTransferConnectTimeout :: Int
1137 52d4f735 Jose A. Lopes
diskTransferConnectTimeout = 60
1138 52d4f735 Jose A. Lopes
1139 3b170ad4 Jose A. Lopes
-- | Disk index separator
1140 3b170ad4 Jose A. Lopes
diskSeparator :: String
1141 3b170ad4 Jose A. Lopes
diskSeparator = AutoConf.diskSeparator
1142 3b170ad4 Jose A. Lopes
1143 cf96e711 Jose A. Lopes
ipCommandPath :: String
1144 cf96e711 Jose A. Lopes
ipCommandPath = AutoConf.ipPath
1145 cf96e711 Jose A. Lopes
1146 d7754dad Jose A. Lopes
-- | Key for job IDs in opcode result
1147 d7754dad Jose A. Lopes
jobIdsKey :: String
1148 d7754dad Jose A. Lopes
jobIdsKey = "jobs"
1149 d7754dad Jose A. Lopes
1150 d7754dad Jose A. Lopes
-- * Runparts results
1151 d7754dad Jose A. Lopes
1152 d7754dad Jose A. Lopes
runpartsErr :: Int
1153 d7754dad Jose A. Lopes
runpartsErr = 2
1154 d7754dad Jose A. Lopes
1155 d7754dad Jose A. Lopes
runpartsRun :: Int
1156 d7754dad Jose A. Lopes
runpartsRun = 1
1157 d7754dad Jose A. Lopes
1158 d7754dad Jose A. Lopes
runpartsSkip :: Int
1159 d7754dad Jose A. Lopes
runpartsSkip = 0
1160 d7754dad Jose A. Lopes
1161 d7754dad Jose A. Lopes
runpartsStatus :: [Int]
1162 d7754dad Jose A. Lopes
runpartsStatus = [runpartsErr, runpartsRun, runpartsSkip]
1163 d7754dad Jose A. Lopes
1164 d7754dad Jose A. Lopes
-- * RPC
1165 d7754dad Jose A. Lopes
1166 d7754dad Jose A. Lopes
rpcEncodingNone :: Int
1167 d7754dad Jose A. Lopes
rpcEncodingNone = 0
1168 d7754dad Jose A. Lopes
1169 d7754dad Jose A. Lopes
rpcEncodingZlibBase64 :: Int
1170 d7754dad Jose A. Lopes
rpcEncodingZlibBase64 = 1
1171 d7754dad Jose A. Lopes
1172 c03224f6 Jose A. Lopes
-- * Timeout table
1173 c03224f6 Jose A. Lopes
--
1174 c03224f6 Jose A. Lopes
-- Various time constants for the timeout table
1175 c03224f6 Jose A. Lopes
1176 c03224f6 Jose A. Lopes
rpcTmoUrgent :: Int
1177 c03224f6 Jose A. Lopes
rpcTmoUrgent = Types.rpcTimeoutToRaw Urgent
1178 c03224f6 Jose A. Lopes
1179 c03224f6 Jose A. Lopes
rpcTmoFast :: Int
1180 c03224f6 Jose A. Lopes
rpcTmoFast = Types.rpcTimeoutToRaw Fast
1181 c03224f6 Jose A. Lopes
1182 c03224f6 Jose A. Lopes
rpcTmoNormal :: Int
1183 c03224f6 Jose A. Lopes
rpcTmoNormal = Types.rpcTimeoutToRaw Normal
1184 c03224f6 Jose A. Lopes
1185 c03224f6 Jose A. Lopes
rpcTmoSlow :: Int
1186 c03224f6 Jose A. Lopes
rpcTmoSlow = Types.rpcTimeoutToRaw Slow
1187 c03224f6 Jose A. Lopes
1188 c03224f6 Jose A. Lopes
-- | 'rpcTmo_4hrs' contains an underscore to circumvent a limitation
1189 c03224f6 Jose A. Lopes
-- in the 'Ganeti.THH.deCamelCase' function and generate the correct
1190 c03224f6 Jose A. Lopes
-- Python name.
1191 c03224f6 Jose A. Lopes
rpcTmo_4hrs :: Int
1192 c03224f6 Jose A. Lopes
rpcTmo_4hrs = Types.rpcTimeoutToRaw FourHours
1193 c03224f6 Jose A. Lopes
1194 c03224f6 Jose A. Lopes
-- | 'rpcTmo_1day' contains an underscore to circumvent a limitation
1195 c03224f6 Jose A. Lopes
-- in the 'Ganeti.THH.deCamelCase' function and generate the correct
1196 c03224f6 Jose A. Lopes
-- Python name.
1197 c03224f6 Jose A. Lopes
rpcTmo_1day :: Int
1198 c03224f6 Jose A. Lopes
rpcTmo_1day = Types.rpcTimeoutToRaw OneDay
1199 c03224f6 Jose A. Lopes
1200 c03224f6 Jose A. Lopes
-- | Timeout for connecting to nodes (seconds)
1201 c03224f6 Jose A. Lopes
rpcConnectTimeout :: Int
1202 c03224f6 Jose A. Lopes
rpcConnectTimeout = 5
1203 c03224f6 Jose A. Lopes
1204 e8d4d41e Jose A. Lopes
-- OS
1205 e8d4d41e Jose A. Lopes
1206 e8d4d41e Jose A. Lopes
osScriptCreate :: String
1207 e8d4d41e Jose A. Lopes
osScriptCreate = "create"
1208 e8d4d41e Jose A. Lopes
1209 e8d4d41e Jose A. Lopes
osScriptExport :: String
1210 e8d4d41e Jose A. Lopes
osScriptExport = "export"
1211 e8d4d41e Jose A. Lopes
1212 e8d4d41e Jose A. Lopes
osScriptImport :: String
1213 e8d4d41e Jose A. Lopes
osScriptImport = "import"
1214 e8d4d41e Jose A. Lopes
1215 e8d4d41e Jose A. Lopes
osScriptRename :: String
1216 e8d4d41e Jose A. Lopes
osScriptRename = "rename"
1217 e8d4d41e Jose A. Lopes
1218 e8d4d41e Jose A. Lopes
osScriptVerify :: String
1219 e8d4d41e Jose A. Lopes
osScriptVerify = "verify"
1220 e8d4d41e Jose A. Lopes
1221 e8d4d41e Jose A. Lopes
osScripts :: [String]
1222 e8d4d41e Jose A. Lopes
osScripts = [osScriptCreate, osScriptExport, osScriptImport, osScriptRename,
1223 e8d4d41e Jose A. Lopes
             osScriptVerify]
1224 e8d4d41e Jose A. Lopes
1225 e8d4d41e Jose A. Lopes
osApiFile :: String
1226 e8d4d41e Jose A. Lopes
osApiFile = "ganeti_api_version"
1227 e8d4d41e Jose A. Lopes
1228 e8d4d41e Jose A. Lopes
osVariantsFile :: String
1229 e8d4d41e Jose A. Lopes
osVariantsFile = "variants.list"
1230 e8d4d41e Jose A. Lopes
1231 e8d4d41e Jose A. Lopes
osParametersFile :: String
1232 e8d4d41e Jose A. Lopes
osParametersFile = "parameters.list"
1233 e8d4d41e Jose A. Lopes
1234 e8d4d41e Jose A. Lopes
osValidateParameters :: String
1235 e8d4d41e Jose A. Lopes
osValidateParameters = "parameters"
1236 e8d4d41e Jose A. Lopes
1237 e8d4d41e Jose A. Lopes
osValidateCalls :: FrozenSet String
1238 e8d4d41e Jose A. Lopes
osValidateCalls = ConstantUtils.mkSet [osValidateParameters]
1239 e8d4d41e Jose A. Lopes
1240 e8d4d41e Jose A. Lopes
-- | External Storage (ES) related constants
1241 e8d4d41e Jose A. Lopes
1242 e8d4d41e Jose A. Lopes
esActionAttach :: String
1243 e8d4d41e Jose A. Lopes
esActionAttach = "attach"
1244 e8d4d41e Jose A. Lopes
1245 e8d4d41e Jose A. Lopes
esActionCreate :: String
1246 e8d4d41e Jose A. Lopes
esActionCreate = "create"
1247 e8d4d41e Jose A. Lopes
1248 e8d4d41e Jose A. Lopes
esActionDetach :: String
1249 e8d4d41e Jose A. Lopes
esActionDetach = "detach"
1250 e8d4d41e Jose A. Lopes
1251 e8d4d41e Jose A. Lopes
esActionGrow :: String
1252 e8d4d41e Jose A. Lopes
esActionGrow = "grow"
1253 e8d4d41e Jose A. Lopes
1254 e8d4d41e Jose A. Lopes
esActionRemove :: String
1255 e8d4d41e Jose A. Lopes
esActionRemove = "remove"
1256 e8d4d41e Jose A. Lopes
1257 e8d4d41e Jose A. Lopes
esActionSetinfo :: String
1258 e8d4d41e Jose A. Lopes
esActionSetinfo = "setinfo"
1259 e8d4d41e Jose A. Lopes
1260 e8d4d41e Jose A. Lopes
esActionVerify :: String
1261 e8d4d41e Jose A. Lopes
esActionVerify = "verify"
1262 e8d4d41e Jose A. Lopes
1263 e8d4d41e Jose A. Lopes
esScriptCreate :: String
1264 e8d4d41e Jose A. Lopes
esScriptCreate = esActionCreate
1265 e8d4d41e Jose A. Lopes
1266 e8d4d41e Jose A. Lopes
esScriptRemove :: String
1267 e8d4d41e Jose A. Lopes
esScriptRemove = esActionRemove
1268 e8d4d41e Jose A. Lopes
1269 e8d4d41e Jose A. Lopes
esScriptGrow :: String
1270 e8d4d41e Jose A. Lopes
esScriptGrow = esActionGrow
1271 e8d4d41e Jose A. Lopes
1272 e8d4d41e Jose A. Lopes
esScriptAttach :: String
1273 e8d4d41e Jose A. Lopes
esScriptAttach = esActionAttach
1274 e8d4d41e Jose A. Lopes
1275 e8d4d41e Jose A. Lopes
esScriptDetach :: String
1276 e8d4d41e Jose A. Lopes
esScriptDetach = esActionDetach
1277 e8d4d41e Jose A. Lopes
1278 e8d4d41e Jose A. Lopes
esScriptSetinfo :: String
1279 e8d4d41e Jose A. Lopes
esScriptSetinfo = esActionSetinfo
1280 e8d4d41e Jose A. Lopes
1281 e8d4d41e Jose A. Lopes
esScriptVerify :: String
1282 e8d4d41e Jose A. Lopes
esScriptVerify = esActionVerify
1283 e8d4d41e Jose A. Lopes
1284 e8d4d41e Jose A. Lopes
esScripts :: FrozenSet String
1285 e8d4d41e Jose A. Lopes
esScripts =
1286 e8d4d41e Jose A. Lopes
  ConstantUtils.mkSet [esScriptAttach,
1287 e8d4d41e Jose A. Lopes
                       esScriptCreate,
1288 e8d4d41e Jose A. Lopes
                       esScriptDetach,
1289 e8d4d41e Jose A. Lopes
                       esScriptGrow,
1290 e8d4d41e Jose A. Lopes
                       esScriptRemove,
1291 e8d4d41e Jose A. Lopes
                       esScriptSetinfo,
1292 e8d4d41e Jose A. Lopes
                       esScriptVerify]
1293 e8d4d41e Jose A. Lopes
1294 e8d4d41e Jose A. Lopes
esParametersFile :: String
1295 e8d4d41e Jose A. Lopes
esParametersFile = "parameters.list"
1296 e8d4d41e Jose A. Lopes
1297 ae8e7986 Jose A. Lopes
-- * Reboot types
1298 ae8e7986 Jose A. Lopes
1299 ae8e7986 Jose A. Lopes
instanceRebootSoft :: String
1300 ae8e7986 Jose A. Lopes
instanceRebootSoft = Types.rebootTypeToRaw RebootSoft
1301 ae8e7986 Jose A. Lopes
1302 ae8e7986 Jose A. Lopes
instanceRebootHard :: String
1303 ae8e7986 Jose A. Lopes
instanceRebootHard = Types.rebootTypeToRaw RebootHard
1304 ae8e7986 Jose A. Lopes
1305 ae8e7986 Jose A. Lopes
instanceRebootFull :: String
1306 ae8e7986 Jose A. Lopes
instanceRebootFull = Types.rebootTypeToRaw RebootFull
1307 ae8e7986 Jose A. Lopes
1308 ae8e7986 Jose A. Lopes
rebootTypes :: FrozenSet String
1309 ae8e7986 Jose A. Lopes
rebootTypes = ConstantUtils.mkSet $ map Types.rebootTypeToRaw [minBound..]
1310 ae8e7986 Jose A. Lopes
1311 3c2abb61 Jose A. Lopes
-- * Instance reboot behaviors
1312 3c2abb61 Jose A. Lopes
1313 3c2abb61 Jose A. Lopes
instanceRebootAllowed :: String
1314 3c2abb61 Jose A. Lopes
instanceRebootAllowed = "reboot"
1315 3c2abb61 Jose A. Lopes
1316 3c2abb61 Jose A. Lopes
instanceRebootExit :: String
1317 3c2abb61 Jose A. Lopes
instanceRebootExit = "exit"
1318 3c2abb61 Jose A. Lopes
1319 3c2abb61 Jose A. Lopes
rebootBehaviors :: [String]
1320 3c2abb61 Jose A. Lopes
rebootBehaviors = [instanceRebootAllowed, instanceRebootExit]
1321 3c2abb61 Jose A. Lopes
1322 a91d6b30 Jose A. Lopes
-- * VTypes
1323 a91d6b30 Jose A. Lopes
1324 a91d6b30 Jose A. Lopes
vtypeBool :: VType
1325 a91d6b30 Jose A. Lopes
vtypeBool = VTypeBool
1326 a91d6b30 Jose A. Lopes
1327 a91d6b30 Jose A. Lopes
vtypeInt :: VType
1328 a91d6b30 Jose A. Lopes
vtypeInt = VTypeInt
1329 a91d6b30 Jose A. Lopes
1330 a91d6b30 Jose A. Lopes
vtypeMaybeString :: VType
1331 a91d6b30 Jose A. Lopes
vtypeMaybeString = VTypeMaybeString
1332 a91d6b30 Jose A. Lopes
1333 a91d6b30 Jose A. Lopes
-- | Size in MiBs
1334 a91d6b30 Jose A. Lopes
vtypeSize :: VType
1335 a91d6b30 Jose A. Lopes
vtypeSize = VTypeSize
1336 a91d6b30 Jose A. Lopes
1337 a91d6b30 Jose A. Lopes
vtypeString :: VType
1338 a91d6b30 Jose A. Lopes
vtypeString = VTypeString
1339 a91d6b30 Jose A. Lopes
1340 a91d6b30 Jose A. Lopes
enforceableTypes :: FrozenSet VType
1341 a91d6b30 Jose A. Lopes
enforceableTypes = ConstantUtils.mkSet [minBound..]
1342 8397ffde Jose A. Lopes
1343 5c8f186c Jose A. Lopes
-- | Constant representing that the user does not specify any IP version
1344 5c8f186c Jose A. Lopes
ifaceNoIpVersionSpecified :: Int
1345 5c8f186c Jose A. Lopes
ifaceNoIpVersionSpecified = 0
1346 5c8f186c Jose A. Lopes
1347 5c8f186c Jose A. Lopes
validSerialSpeeds :: [Int]
1348 5c8f186c Jose A. Lopes
validSerialSpeeds =
1349 5c8f186c Jose A. Lopes
  [75,
1350 5c8f186c Jose A. Lopes
   110,
1351 5c8f186c Jose A. Lopes
   300,
1352 5c8f186c Jose A. Lopes
   600,
1353 5c8f186c Jose A. Lopes
   1200,
1354 5c8f186c Jose A. Lopes
   1800,
1355 5c8f186c Jose A. Lopes
   2400,
1356 5c8f186c Jose A. Lopes
   4800,
1357 5c8f186c Jose A. Lopes
   9600,
1358 5c8f186c Jose A. Lopes
   14400,
1359 5c8f186c Jose A. Lopes
   19200,
1360 5c8f186c Jose A. Lopes
   28800,
1361 5c8f186c Jose A. Lopes
   38400,
1362 5c8f186c Jose A. Lopes
   57600,
1363 5c8f186c Jose A. Lopes
   115200,
1364 5c8f186c Jose A. Lopes
   230400,
1365 5c8f186c Jose A. Lopes
   345600,
1366 5c8f186c Jose A. Lopes
   460800]
1367 5c8f186c Jose A. Lopes
1368 5c8f186c Jose A. Lopes
-- * HV parameter names (global namespace)
1369 5c8f186c Jose A. Lopes
1370 5c8f186c Jose A. Lopes
hvAcpi :: String
1371 5c8f186c Jose A. Lopes
hvAcpi = "acpi"
1372 5c8f186c Jose A. Lopes
1373 5c8f186c Jose A. Lopes
hvBlockdevPrefix :: String
1374 5c8f186c Jose A. Lopes
hvBlockdevPrefix = "blockdev_prefix"
1375 5c8f186c Jose A. Lopes
1376 5c8f186c Jose A. Lopes
hvBootloaderArgs :: String
1377 5c8f186c Jose A. Lopes
hvBootloaderArgs = "bootloader_args"
1378 5c8f186c Jose A. Lopes
1379 5c8f186c Jose A. Lopes
hvBootloaderPath :: String
1380 5c8f186c Jose A. Lopes
hvBootloaderPath = "bootloader_path"
1381 5c8f186c Jose A. Lopes
1382 5c8f186c Jose A. Lopes
hvBootOrder :: String
1383 5c8f186c Jose A. Lopes
hvBootOrder = "boot_order"
1384 5c8f186c Jose A. Lopes
1385 5c8f186c Jose A. Lopes
hvCdromImagePath :: String
1386 5c8f186c Jose A. Lopes
hvCdromImagePath = "cdrom_image_path"
1387 5c8f186c Jose A. Lopes
1388 5c8f186c Jose A. Lopes
hvCpuCap :: String
1389 5c8f186c Jose A. Lopes
hvCpuCap = "cpu_cap"
1390 5c8f186c Jose A. Lopes
1391 5c8f186c Jose A. Lopes
hvCpuCores :: String
1392 5c8f186c Jose A. Lopes
hvCpuCores = "cpu_cores"
1393 5c8f186c Jose A. Lopes
1394 5c8f186c Jose A. Lopes
hvCpuMask :: String
1395 5c8f186c Jose A. Lopes
hvCpuMask = "cpu_mask"
1396 5c8f186c Jose A. Lopes
1397 5c8f186c Jose A. Lopes
hvCpuSockets :: String
1398 5c8f186c Jose A. Lopes
hvCpuSockets = "cpu_sockets"
1399 5c8f186c Jose A. Lopes
1400 5c8f186c Jose A. Lopes
hvCpuThreads :: String
1401 5c8f186c Jose A. Lopes
hvCpuThreads = "cpu_threads"
1402 5c8f186c Jose A. Lopes
1403 5c8f186c Jose A. Lopes
hvCpuType :: String
1404 5c8f186c Jose A. Lopes
hvCpuType = "cpu_type"
1405 5c8f186c Jose A. Lopes
1406 5c8f186c Jose A. Lopes
hvCpuWeight :: String
1407 5c8f186c Jose A. Lopes
hvCpuWeight = "cpu_weight"
1408 5c8f186c Jose A. Lopes
1409 5c8f186c Jose A. Lopes
hvDeviceModel :: String
1410 5c8f186c Jose A. Lopes
hvDeviceModel = "device_model"
1411 5c8f186c Jose A. Lopes
1412 5c8f186c Jose A. Lopes
hvDiskCache :: String
1413 5c8f186c Jose A. Lopes
hvDiskCache = "disk_cache"
1414 5c8f186c Jose A. Lopes
1415 5c8f186c Jose A. Lopes
hvDiskType :: String
1416 5c8f186c Jose A. Lopes
hvDiskType = "disk_type"
1417 5c8f186c Jose A. Lopes
1418 5c8f186c Jose A. Lopes
hvInitrdPath :: String
1419 5c8f186c Jose A. Lopes
hvInitrdPath = "initrd_path"
1420 5c8f186c Jose A. Lopes
1421 5c8f186c Jose A. Lopes
hvInitScript :: String
1422 5c8f186c Jose A. Lopes
hvInitScript = "init_script"
1423 5c8f186c Jose A. Lopes
1424 5c8f186c Jose A. Lopes
hvKernelArgs :: String
1425 5c8f186c Jose A. Lopes
hvKernelArgs = "kernel_args"
1426 5c8f186c Jose A. Lopes
1427 5c8f186c Jose A. Lopes
hvKernelPath :: String
1428 5c8f186c Jose A. Lopes
hvKernelPath = "kernel_path"
1429 5c8f186c Jose A. Lopes
1430 5c8f186c Jose A. Lopes
hvKeymap :: String
1431 5c8f186c Jose A. Lopes
hvKeymap = "keymap"
1432 5c8f186c Jose A. Lopes
1433 5c8f186c Jose A. Lopes
hvKvmCdrom2ImagePath :: String
1434 5c8f186c Jose A. Lopes
hvKvmCdrom2ImagePath = "cdrom2_image_path"
1435 5c8f186c Jose A. Lopes
1436 5c8f186c Jose A. Lopes
hvKvmCdromDiskType :: String
1437 5c8f186c Jose A. Lopes
hvKvmCdromDiskType = "cdrom_disk_type"
1438 5c8f186c Jose A. Lopes
1439 5c8f186c Jose A. Lopes
hvKvmExtra :: String
1440 5c8f186c Jose A. Lopes
hvKvmExtra = "kvm_extra"
1441 5c8f186c Jose A. Lopes
1442 5c8f186c Jose A. Lopes
hvKvmFlag :: String
1443 5c8f186c Jose A. Lopes
hvKvmFlag = "kvm_flag"
1444 5c8f186c Jose A. Lopes
1445 5c8f186c Jose A. Lopes
hvKvmFloppyImagePath :: String
1446 5c8f186c Jose A. Lopes
hvKvmFloppyImagePath = "floppy_image_path"
1447 5c8f186c Jose A. Lopes
1448 5c8f186c Jose A. Lopes
hvKvmMachineVersion :: String
1449 5c8f186c Jose A. Lopes
hvKvmMachineVersion = "machine_version"
1450 5c8f186c Jose A. Lopes
1451 5c8f186c Jose A. Lopes
hvKvmPath :: String
1452 5c8f186c Jose A. Lopes
hvKvmPath = "kvm_path"
1453 5c8f186c Jose A. Lopes
1454 5c8f186c Jose A. Lopes
hvKvmSpiceAudioCompr :: String
1455 5c8f186c Jose A. Lopes
hvKvmSpiceAudioCompr = "spice_playback_compression"
1456 5c8f186c Jose A. Lopes
1457 5c8f186c Jose A. Lopes
hvKvmSpiceBind :: String
1458 5c8f186c Jose A. Lopes
hvKvmSpiceBind = "spice_bind"
1459 5c8f186c Jose A. Lopes
1460 5c8f186c Jose A. Lopes
hvKvmSpiceIpVersion :: String
1461 5c8f186c Jose A. Lopes
hvKvmSpiceIpVersion = "spice_ip_version"
1462 5c8f186c Jose A. Lopes
1463 5c8f186c Jose A. Lopes
hvKvmSpiceJpegImgCompr :: String
1464 5c8f186c Jose A. Lopes
hvKvmSpiceJpegImgCompr = "spice_jpeg_wan_compression"
1465 5c8f186c Jose A. Lopes
1466 5c8f186c Jose A. Lopes
hvKvmSpiceLosslessImgCompr :: String
1467 5c8f186c Jose A. Lopes
hvKvmSpiceLosslessImgCompr = "spice_image_compression"
1468 5c8f186c Jose A. Lopes
1469 5c8f186c Jose A. Lopes
hvKvmSpicePasswordFile :: String
1470 5c8f186c Jose A. Lopes
hvKvmSpicePasswordFile = "spice_password_file"
1471 5c8f186c Jose A. Lopes
1472 5c8f186c Jose A. Lopes
hvKvmSpiceStreamingVideoDetection :: String
1473 5c8f186c Jose A. Lopes
hvKvmSpiceStreamingVideoDetection = "spice_streaming_video"
1474 5c8f186c Jose A. Lopes
1475 5c8f186c Jose A. Lopes
hvKvmSpiceTlsCiphers :: String
1476 5c8f186c Jose A. Lopes
hvKvmSpiceTlsCiphers = "spice_tls_ciphers"
1477 5c8f186c Jose A. Lopes
1478 5c8f186c Jose A. Lopes
hvKvmSpiceUseTls :: String
1479 5c8f186c Jose A. Lopes
hvKvmSpiceUseTls = "spice_use_tls"
1480 5c8f186c Jose A. Lopes
1481 5c8f186c Jose A. Lopes
hvKvmSpiceUseVdagent :: String
1482 5c8f186c Jose A. Lopes
hvKvmSpiceUseVdagent = "spice_use_vdagent"
1483 5c8f186c Jose A. Lopes
1484 5c8f186c Jose A. Lopes
hvKvmSpiceZlibGlzImgCompr :: String
1485 5c8f186c Jose A. Lopes
hvKvmSpiceZlibGlzImgCompr = "spice_zlib_glz_wan_compression"
1486 5c8f186c Jose A. Lopes
1487 5c8f186c Jose A. Lopes
hvKvmUseChroot :: String
1488 5c8f186c Jose A. Lopes
hvKvmUseChroot = "use_chroot"
1489 5c8f186c Jose A. Lopes
1490 5c8f186c Jose A. Lopes
hvMemPath :: String
1491 5c8f186c Jose A. Lopes
hvMemPath = "mem_path"
1492 5c8f186c Jose A. Lopes
1493 5c8f186c Jose A. Lopes
hvMigrationBandwidth :: String
1494 5c8f186c Jose A. Lopes
hvMigrationBandwidth = "migration_bandwidth"
1495 5c8f186c Jose A. Lopes
1496 5c8f186c Jose A. Lopes
hvMigrationDowntime :: String
1497 5c8f186c Jose A. Lopes
hvMigrationDowntime = "migration_downtime"
1498 5c8f186c Jose A. Lopes
1499 5c8f186c Jose A. Lopes
hvMigrationMode :: String
1500 5c8f186c Jose A. Lopes
hvMigrationMode = "migration_mode"
1501 5c8f186c Jose A. Lopes
1502 5c8f186c Jose A. Lopes
hvMigrationPort :: String
1503 5c8f186c Jose A. Lopes
hvMigrationPort = "migration_port"
1504 5c8f186c Jose A. Lopes
1505 5c8f186c Jose A. Lopes
hvNicType :: String
1506 5c8f186c Jose A. Lopes
hvNicType = "nic_type"
1507 5c8f186c Jose A. Lopes
1508 5c8f186c Jose A. Lopes
hvPae :: String
1509 5c8f186c Jose A. Lopes
hvPae = "pae"
1510 5c8f186c Jose A. Lopes
1511 5c8f186c Jose A. Lopes
hvPassthrough :: String
1512 5c8f186c Jose A. Lopes
hvPassthrough = "pci_pass"
1513 5c8f186c Jose A. Lopes
1514 5c8f186c Jose A. Lopes
hvRebootBehavior :: String
1515 5c8f186c Jose A. Lopes
hvRebootBehavior = "reboot_behavior"
1516 5c8f186c Jose A. Lopes
1517 5c8f186c Jose A. Lopes
hvRootPath :: String
1518 5c8f186c Jose A. Lopes
hvRootPath = "root_path"
1519 5c8f186c Jose A. Lopes
1520 5c8f186c Jose A. Lopes
hvSecurityDomain :: String
1521 5c8f186c Jose A. Lopes
hvSecurityDomain = "security_domain"
1522 5c8f186c Jose A. Lopes
1523 5c8f186c Jose A. Lopes
hvSecurityModel :: String
1524 5c8f186c Jose A. Lopes
hvSecurityModel = "security_model"
1525 5c8f186c Jose A. Lopes
1526 5c8f186c Jose A. Lopes
hvSerialConsole :: String
1527 5c8f186c Jose A. Lopes
hvSerialConsole = "serial_console"
1528 5c8f186c Jose A. Lopes
1529 5c8f186c Jose A. Lopes
hvSerialSpeed :: String
1530 5c8f186c Jose A. Lopes
hvSerialSpeed = "serial_speed"
1531 5c8f186c Jose A. Lopes
1532 5c8f186c Jose A. Lopes
hvSoundhw :: String
1533 5c8f186c Jose A. Lopes
hvSoundhw = "soundhw"
1534 5c8f186c Jose A. Lopes
1535 5c8f186c Jose A. Lopes
hvUsbDevices :: String
1536 5c8f186c Jose A. Lopes
hvUsbDevices = "usb_devices"
1537 5c8f186c Jose A. Lopes
1538 5c8f186c Jose A. Lopes
hvUsbMouse :: String
1539 5c8f186c Jose A. Lopes
hvUsbMouse = "usb_mouse"
1540 5c8f186c Jose A. Lopes
1541 5c8f186c Jose A. Lopes
hvUseBootloader :: String
1542 5c8f186c Jose A. Lopes
hvUseBootloader = "use_bootloader"
1543 5c8f186c Jose A. Lopes
1544 5c8f186c Jose A. Lopes
hvUseLocaltime :: String
1545 5c8f186c Jose A. Lopes
hvUseLocaltime = "use_localtime"
1546 5c8f186c Jose A. Lopes
1547 5c8f186c Jose A. Lopes
hvVga :: String
1548 5c8f186c Jose A. Lopes
hvVga = "vga"
1549 5c8f186c Jose A. Lopes
1550 5c8f186c Jose A. Lopes
hvVhostNet :: String
1551 5c8f186c Jose A. Lopes
hvVhostNet = "vhost_net"
1552 5c8f186c Jose A. Lopes
1553 5c8f186c Jose A. Lopes
hvVifScript :: String
1554 5c8f186c Jose A. Lopes
hvVifScript = "vif_script"
1555 5c8f186c Jose A. Lopes
1556 5c8f186c Jose A. Lopes
hvVifType :: String
1557 5c8f186c Jose A. Lopes
hvVifType = "vif_type"
1558 5c8f186c Jose A. Lopes
1559 5c8f186c Jose A. Lopes
hvViridian :: String
1560 5c8f186c Jose A. Lopes
hvViridian = "viridian"
1561 5c8f186c Jose A. Lopes
1562 5c8f186c Jose A. Lopes
hvVncBindAddress :: String
1563 5c8f186c Jose A. Lopes
hvVncBindAddress = "vnc_bind_address"
1564 5c8f186c Jose A. Lopes
1565 5c8f186c Jose A. Lopes
hvVncPasswordFile :: String
1566 5c8f186c Jose A. Lopes
hvVncPasswordFile = "vnc_password_file"
1567 5c8f186c Jose A. Lopes
1568 5c8f186c Jose A. Lopes
hvVncTls :: String
1569 5c8f186c Jose A. Lopes
hvVncTls = "vnc_tls"
1570 5c8f186c Jose A. Lopes
1571 5c8f186c Jose A. Lopes
hvVncX509 :: String
1572 5c8f186c Jose A. Lopes
hvVncX509 = "vnc_x509_path"
1573 5c8f186c Jose A. Lopes
1574 5c8f186c Jose A. Lopes
hvVncX509Verify :: String
1575 5c8f186c Jose A. Lopes
hvVncX509Verify = "vnc_x509_verify"
1576 5c8f186c Jose A. Lopes
1577 5c8f186c Jose A. Lopes
hvVnetHdr :: String
1578 5c8f186c Jose A. Lopes
hvVnetHdr = "vnet_hdr"
1579 5c8f186c Jose A. Lopes
1580 5c8f186c Jose A. Lopes
hvXenCmd :: String
1581 5c8f186c Jose A. Lopes
hvXenCmd = "xen_cmd"
1582 5c8f186c Jose A. Lopes
1583 5c8f186c Jose A. Lopes
hvXenCpuid :: String
1584 5c8f186c Jose A. Lopes
hvXenCpuid = "cpuid"
1585 5c8f186c Jose A. Lopes
1586 5c8f186c Jose A. Lopes
hvsParameterTitles :: Map String String
1587 5c8f186c Jose A. Lopes
hvsParameterTitles =
1588 5c8f186c Jose A. Lopes
  Map.fromList
1589 5c8f186c Jose A. Lopes
  [(hvAcpi, "ACPI"),
1590 5c8f186c Jose A. Lopes
   (hvBootOrder, "Boot_order"),
1591 5c8f186c Jose A. Lopes
   (hvCdromImagePath, "CDROM_image_path"),
1592 5c8f186c Jose A. Lopes
   (hvCpuType, "cpu_type"),
1593 5c8f186c Jose A. Lopes
   (hvDiskType, "Disk_type"),
1594 5c8f186c Jose A. Lopes
   (hvInitrdPath, "Initrd_path"),
1595 5c8f186c Jose A. Lopes
   (hvKernelPath, "Kernel_path"),
1596 5c8f186c Jose A. Lopes
   (hvNicType, "NIC_type"),
1597 5c8f186c Jose A. Lopes
   (hvPae, "PAE"),
1598 5c8f186c Jose A. Lopes
   (hvPassthrough, "pci_pass"),
1599 5c8f186c Jose A. Lopes
   (hvVncBindAddress, "VNC_bind_address")]
1600 5c8f186c Jose A. Lopes
1601 5a7fab74 Jose A. Lopes
-- * Migration statuses
1602 5a7fab74 Jose A. Lopes
1603 5a7fab74 Jose A. Lopes
hvMigrationActive :: String
1604 5a7fab74 Jose A. Lopes
hvMigrationActive = "active"
1605 5a7fab74 Jose A. Lopes
1606 5a7fab74 Jose A. Lopes
hvMigrationCancelled :: String
1607 5a7fab74 Jose A. Lopes
hvMigrationCancelled = "cancelled"
1608 5a7fab74 Jose A. Lopes
1609 5a7fab74 Jose A. Lopes
hvMigrationCompleted :: String
1610 5a7fab74 Jose A. Lopes
hvMigrationCompleted = "completed"
1611 5a7fab74 Jose A. Lopes
1612 5a7fab74 Jose A. Lopes
hvMigrationFailed :: String
1613 5a7fab74 Jose A. Lopes
hvMigrationFailed = "failed"
1614 5a7fab74 Jose A. Lopes
1615 5a7fab74 Jose A. Lopes
hvMigrationValidStatuses :: FrozenSet String
1616 5a7fab74 Jose A. Lopes
hvMigrationValidStatuses =
1617 5a7fab74 Jose A. Lopes
  ConstantUtils.mkSet [hvMigrationActive,
1618 5a7fab74 Jose A. Lopes
                       hvMigrationCancelled,
1619 5a7fab74 Jose A. Lopes
                       hvMigrationCompleted,
1620 5a7fab74 Jose A. Lopes
                       hvMigrationFailed]
1621 5a7fab74 Jose A. Lopes
1622 5a7fab74 Jose A. Lopes
hvMigrationFailedStatuses :: FrozenSet String
1623 5a7fab74 Jose A. Lopes
hvMigrationFailedStatuses =
1624 5a7fab74 Jose A. Lopes
  ConstantUtils.mkSet [hvMigrationFailed, hvMigrationCancelled]
1625 5a7fab74 Jose A. Lopes
1626 5a7fab74 Jose A. Lopes
-- | KVM-specific statuses
1627 5a7fab74 Jose A. Lopes
--
1628 5a7fab74 Jose A. Lopes
-- FIXME: this constant seems unnecessary
1629 5a7fab74 Jose A. Lopes
hvKvmMigrationValidStatuses :: FrozenSet String
1630 5a7fab74 Jose A. Lopes
hvKvmMigrationValidStatuses = hvMigrationValidStatuses
1631 5a7fab74 Jose A. Lopes
1632 5a7fab74 Jose A. Lopes
-- | Node info keys
1633 5a7fab74 Jose A. Lopes
hvNodeinfoKeyVersion :: String
1634 5a7fab74 Jose A. Lopes
hvNodeinfoKeyVersion = "hv_version"
1635 5a7fab74 Jose A. Lopes
1636 5a7fab74 Jose A. Lopes
-- * Hypervisor state
1637 5a7fab74 Jose A. Lopes
1638 5a7fab74 Jose A. Lopes
hvstCpuNode :: String
1639 5a7fab74 Jose A. Lopes
hvstCpuNode = "cpu_node"
1640 5a7fab74 Jose A. Lopes
1641 5a7fab74 Jose A. Lopes
hvstCpuTotal :: String
1642 5a7fab74 Jose A. Lopes
hvstCpuTotal = "cpu_total"
1643 5a7fab74 Jose A. Lopes
1644 5a7fab74 Jose A. Lopes
hvstMemoryHv :: String
1645 5a7fab74 Jose A. Lopes
hvstMemoryHv = "mem_hv"
1646 5a7fab74 Jose A. Lopes
1647 5a7fab74 Jose A. Lopes
hvstMemoryNode :: String
1648 5a7fab74 Jose A. Lopes
hvstMemoryNode = "mem_node"
1649 5a7fab74 Jose A. Lopes
1650 5a7fab74 Jose A. Lopes
hvstMemoryTotal :: String
1651 5a7fab74 Jose A. Lopes
hvstMemoryTotal = "mem_total"
1652 5a7fab74 Jose A. Lopes
1653 5a7fab74 Jose A. Lopes
hvstsParameters :: FrozenSet String
1654 5a7fab74 Jose A. Lopes
hvstsParameters =
1655 5a7fab74 Jose A. Lopes
  ConstantUtils.mkSet [hvstCpuNode,
1656 5a7fab74 Jose A. Lopes
                       hvstCpuTotal,
1657 5a7fab74 Jose A. Lopes
                       hvstMemoryHv,
1658 5a7fab74 Jose A. Lopes
                       hvstMemoryNode,
1659 5a7fab74 Jose A. Lopes
                       hvstMemoryTotal]
1660 5a7fab74 Jose A. Lopes
1661 5a7fab74 Jose A. Lopes
hvstDefaults :: Map String Int
1662 5a7fab74 Jose A. Lopes
hvstDefaults =
1663 5a7fab74 Jose A. Lopes
  Map.fromList
1664 5a7fab74 Jose A. Lopes
  [(hvstCpuNode, 1),
1665 5a7fab74 Jose A. Lopes
   (hvstCpuTotal, 1),
1666 5a7fab74 Jose A. Lopes
   (hvstMemoryHv, 0),
1667 5a7fab74 Jose A. Lopes
   (hvstMemoryTotal, 0),
1668 5a7fab74 Jose A. Lopes
   (hvstMemoryNode, 0)]
1669 5a7fab74 Jose A. Lopes
1670 5a7fab74 Jose A. Lopes
hvstsParameterTypes :: Map String VType
1671 5a7fab74 Jose A. Lopes
hvstsParameterTypes =
1672 5a7fab74 Jose A. Lopes
  Map.fromList [(hvstMemoryTotal, VTypeInt),
1673 5a7fab74 Jose A. Lopes
                (hvstMemoryNode, VTypeInt),
1674 5a7fab74 Jose A. Lopes
                (hvstMemoryHv, VTypeInt),
1675 5a7fab74 Jose A. Lopes
                (hvstCpuTotal, VTypeInt),
1676 5a7fab74 Jose A. Lopes
                (hvstCpuNode, VTypeInt)]
1677 5a7fab74 Jose A. Lopes
1678 5a7fab74 Jose A. Lopes
-- * Disk state
1679 5a7fab74 Jose A. Lopes
1680 5a7fab74 Jose A. Lopes
dsDiskOverhead :: String
1681 5a7fab74 Jose A. Lopes
dsDiskOverhead = "disk_overhead"
1682 5a7fab74 Jose A. Lopes
1683 5a7fab74 Jose A. Lopes
dsDiskReserved :: String
1684 5a7fab74 Jose A. Lopes
dsDiskReserved = "disk_reserved"
1685 5a7fab74 Jose A. Lopes
1686 5a7fab74 Jose A. Lopes
dsDiskTotal :: String
1687 5a7fab74 Jose A. Lopes
dsDiskTotal = "disk_total"
1688 5a7fab74 Jose A. Lopes
1689 5a7fab74 Jose A. Lopes
dsDefaults :: Map String Int
1690 5a7fab74 Jose A. Lopes
dsDefaults =
1691 5a7fab74 Jose A. Lopes
  Map.fromList
1692 5a7fab74 Jose A. Lopes
  [(dsDiskTotal, 0),
1693 5a7fab74 Jose A. Lopes
   (dsDiskReserved, 0),
1694 5a7fab74 Jose A. Lopes
   (dsDiskOverhead, 0)]
1695 5a7fab74 Jose A. Lopes
1696 5a7fab74 Jose A. Lopes
dssParameterTypes :: Map String VType
1697 5a7fab74 Jose A. Lopes
dssParameterTypes =
1698 5a7fab74 Jose A. Lopes
  Map.fromList [(dsDiskTotal, VTypeInt),
1699 5a7fab74 Jose A. Lopes
                (dsDiskReserved, VTypeInt),
1700 5a7fab74 Jose A. Lopes
                (dsDiskOverhead, VTypeInt)]
1701 5a7fab74 Jose A. Lopes
1702 5a7fab74 Jose A. Lopes
dssParameters :: FrozenSet String
1703 5a7fab74 Jose A. Lopes
dssParameters =
1704 5a7fab74 Jose A. Lopes
  ConstantUtils.mkSet [dsDiskTotal, dsDiskReserved, dsDiskOverhead]
1705 5a7fab74 Jose A. Lopes
1706 5a7fab74 Jose A. Lopes
dsValidTypes :: FrozenSet String
1707 5a7fab74 Jose A. Lopes
dsValidTypes = ConstantUtils.mkSet [Types.diskTemplateToRaw DTPlain]
1708 5a7fab74 Jose A. Lopes
1709 8eb80cb3 Jose A. Lopes
-- Backend parameter names
1710 8eb80cb3 Jose A. Lopes
1711 8eb80cb3 Jose A. Lopes
beAlwaysFailover :: String
1712 8eb80cb3 Jose A. Lopes
beAlwaysFailover = "always_failover"
1713 8eb80cb3 Jose A. Lopes
1714 8eb80cb3 Jose A. Lopes
beAutoBalance :: String
1715 8eb80cb3 Jose A. Lopes
beAutoBalance = "auto_balance"
1716 8eb80cb3 Jose A. Lopes
1717 8eb80cb3 Jose A. Lopes
beMaxmem :: String
1718 8eb80cb3 Jose A. Lopes
beMaxmem = "maxmem"
1719 8eb80cb3 Jose A. Lopes
1720 8eb80cb3 Jose A. Lopes
-- | Deprecated and replaced by max and min mem
1721 8eb80cb3 Jose A. Lopes
beMemory :: String
1722 8eb80cb3 Jose A. Lopes
beMemory = "memory"
1723 8eb80cb3 Jose A. Lopes
1724 8eb80cb3 Jose A. Lopes
beMinmem :: String
1725 8eb80cb3 Jose A. Lopes
beMinmem = "minmem"
1726 8eb80cb3 Jose A. Lopes
1727 8eb80cb3 Jose A. Lopes
beSpindleUse :: String
1728 8eb80cb3 Jose A. Lopes
beSpindleUse = "spindle_use"
1729 8eb80cb3 Jose A. Lopes
1730 8eb80cb3 Jose A. Lopes
beVcpus :: String
1731 8eb80cb3 Jose A. Lopes
beVcpus = "vcpus"
1732 8eb80cb3 Jose A. Lopes
1733 8eb80cb3 Jose A. Lopes
besParameterTypes :: Map String VType
1734 8eb80cb3 Jose A. Lopes
besParameterTypes =
1735 8eb80cb3 Jose A. Lopes
  Map.fromList [(beAlwaysFailover, VTypeBool),
1736 8eb80cb3 Jose A. Lopes
                (beAutoBalance, VTypeBool),
1737 8eb80cb3 Jose A. Lopes
                (beMaxmem, VTypeSize),
1738 8eb80cb3 Jose A. Lopes
                (beMinmem, VTypeSize),
1739 8eb80cb3 Jose A. Lopes
                (beSpindleUse, VTypeInt),
1740 8eb80cb3 Jose A. Lopes
                (beVcpus, VTypeInt)]
1741 8eb80cb3 Jose A. Lopes
1742 8eb80cb3 Jose A. Lopes
besParameterTitles :: Map String String
1743 8eb80cb3 Jose A. Lopes
besParameterTitles =
1744 8eb80cb3 Jose A. Lopes
  Map.fromList [(beAutoBalance, "Auto_balance"),
1745 8eb80cb3 Jose A. Lopes
                (beMinmem, "ConfigMinMem"),
1746 8eb80cb3 Jose A. Lopes
                (beVcpus, "ConfigVCPUs"),
1747 8eb80cb3 Jose A. Lopes
                (beMaxmem, "ConfigMaxMem")]
1748 8eb80cb3 Jose A. Lopes
1749 8eb80cb3 Jose A. Lopes
besParameterCompat :: Map String VType
1750 8eb80cb3 Jose A. Lopes
besParameterCompat = Map.insert beMemory VTypeSize besParameterTypes
1751 8eb80cb3 Jose A. Lopes
1752 8eb80cb3 Jose A. Lopes
besParameters :: FrozenSet String
1753 8eb80cb3 Jose A. Lopes
besParameters =
1754 8eb80cb3 Jose A. Lopes
  ConstantUtils.mkSet [beAlwaysFailover,
1755 8eb80cb3 Jose A. Lopes
                       beAutoBalance,
1756 8eb80cb3 Jose A. Lopes
                       beMaxmem,
1757 8eb80cb3 Jose A. Lopes
                       beMinmem,
1758 8eb80cb3 Jose A. Lopes
                       beSpindleUse,
1759 8eb80cb3 Jose A. Lopes
                       beVcpus]
1760 8eb80cb3 Jose A. Lopes
1761 8397ffde Jose A. Lopes
-- | Instance specs
1762 8397ffde Jose A. Lopes
--
1763 8397ffde Jose A. Lopes
-- FIXME: these should be associated with 'Ganeti.HTools.Types.ISpec'
1764 8397ffde Jose A. Lopes
1765 8397ffde Jose A. Lopes
ispecMemSize :: String
1766 8397ffde Jose A. Lopes
ispecMemSize = ConstantUtils.ispecMemSize
1767 8397ffde Jose A. Lopes
1768 8397ffde Jose A. Lopes
ispecCpuCount :: String
1769 8397ffde Jose A. Lopes
ispecCpuCount = ConstantUtils.ispecCpuCount
1770 8397ffde Jose A. Lopes
1771 8397ffde Jose A. Lopes
ispecDiskCount :: String
1772 8397ffde Jose A. Lopes
ispecDiskCount = ConstantUtils.ispecDiskCount
1773 8397ffde Jose A. Lopes
1774 8397ffde Jose A. Lopes
ispecDiskSize :: String
1775 8397ffde Jose A. Lopes
ispecDiskSize = ConstantUtils.ispecDiskSize
1776 8397ffde Jose A. Lopes
1777 8397ffde Jose A. Lopes
ispecNicCount :: String
1778 8397ffde Jose A. Lopes
ispecNicCount = ConstantUtils.ispecNicCount
1779 8397ffde Jose A. Lopes
1780 8397ffde Jose A. Lopes
ispecSpindleUse :: String
1781 8397ffde Jose A. Lopes
ispecSpindleUse = ConstantUtils.ispecSpindleUse
1782 8397ffde Jose A. Lopes
1783 8397ffde Jose A. Lopes
ispecsParameterTypes :: Map String VType
1784 8397ffde Jose A. Lopes
ispecsParameterTypes =
1785 8397ffde Jose A. Lopes
  Map.fromList
1786 8397ffde Jose A. Lopes
  [(ConstantUtils.ispecDiskSize, VTypeInt),
1787 8397ffde Jose A. Lopes
   (ConstantUtils.ispecCpuCount, VTypeInt),
1788 8397ffde Jose A. Lopes
   (ConstantUtils.ispecSpindleUse, VTypeInt),
1789 8397ffde Jose A. Lopes
   (ConstantUtils.ispecMemSize, VTypeInt),
1790 8397ffde Jose A. Lopes
   (ConstantUtils.ispecNicCount, VTypeInt),
1791 8397ffde Jose A. Lopes
   (ConstantUtils.ispecDiskCount, VTypeInt)]
1792 8397ffde Jose A. Lopes
1793 8397ffde Jose A. Lopes
ispecsParameters :: FrozenSet String
1794 8397ffde Jose A. Lopes
ispecsParameters =
1795 8397ffde Jose A. Lopes
  ConstantUtils.mkSet [ConstantUtils.ispecCpuCount,
1796 8397ffde Jose A. Lopes
                       ConstantUtils.ispecDiskCount,
1797 8397ffde Jose A. Lopes
                       ConstantUtils.ispecDiskSize,
1798 8397ffde Jose A. Lopes
                       ConstantUtils.ispecMemSize,
1799 8397ffde Jose A. Lopes
                       ConstantUtils.ispecNicCount,
1800 8397ffde Jose A. Lopes
                       ConstantUtils.ispecSpindleUse]
1801 8397ffde Jose A. Lopes
1802 8397ffde Jose A. Lopes
ispecsMinmax :: String
1803 8397ffde Jose A. Lopes
ispecsMinmax = ConstantUtils.ispecsMinmax
1804 8397ffde Jose A. Lopes
1805 8397ffde Jose A. Lopes
ispecsMax :: String
1806 8397ffde Jose A. Lopes
ispecsMax = "max"
1807 8397ffde Jose A. Lopes
1808 8397ffde Jose A. Lopes
ispecsMin :: String
1809 8397ffde Jose A. Lopes
ispecsMin = "min"
1810 8397ffde Jose A. Lopes
1811 8397ffde Jose A. Lopes
ispecsStd :: String
1812 8397ffde Jose A. Lopes
ispecsStd = ConstantUtils.ispecsStd
1813 8397ffde Jose A. Lopes
1814 8397ffde Jose A. Lopes
ipolicyDts :: String
1815 8397ffde Jose A. Lopes
ipolicyDts = ConstantUtils.ipolicyDts
1816 8397ffde Jose A. Lopes
1817 8397ffde Jose A. Lopes
ipolicyVcpuRatio :: String
1818 8397ffde Jose A. Lopes
ipolicyVcpuRatio = ConstantUtils.ipolicyVcpuRatio
1819 8397ffde Jose A. Lopes
1820 8397ffde Jose A. Lopes
ipolicySpindleRatio :: String
1821 8397ffde Jose A. Lopes
ipolicySpindleRatio = ConstantUtils.ipolicySpindleRatio
1822 8397ffde Jose A. Lopes
1823 8397ffde Jose A. Lopes
ispecsMinmaxKeys :: FrozenSet String
1824 8397ffde Jose A. Lopes
ispecsMinmaxKeys = ConstantUtils.mkSet [ispecsMax, ispecsMin]
1825 8397ffde Jose A. Lopes
1826 8397ffde Jose A. Lopes
ipolicyParameters :: FrozenSet String
1827 8397ffde Jose A. Lopes
ipolicyParameters =
1828 8397ffde Jose A. Lopes
  ConstantUtils.mkSet [ConstantUtils.ipolicyVcpuRatio,
1829 8397ffde Jose A. Lopes
                       ConstantUtils.ipolicySpindleRatio]
1830 8397ffde Jose A. Lopes
1831 8397ffde Jose A. Lopes
ipolicyAllKeys :: FrozenSet String
1832 8397ffde Jose A. Lopes
ipolicyAllKeys =
1833 8397ffde Jose A. Lopes
  ConstantUtils.union ipolicyParameters $
1834 8397ffde Jose A. Lopes
  ConstantUtils.mkSet [ConstantUtils.ipolicyDts,
1835 8397ffde Jose A. Lopes
                       ConstantUtils.ispecsMinmax,
1836 8397ffde Jose A. Lopes
                       ispecsStd]
1837 8397ffde Jose A. Lopes
1838 ecf43dcb Jose A. Lopes
-- | Node parameter names
1839 ecf43dcb Jose A. Lopes
1840 ecf43dcb Jose A. Lopes
ndExclusiveStorage :: String
1841 ecf43dcb Jose A. Lopes
ndExclusiveStorage = "exclusive_storage"
1842 ecf43dcb Jose A. Lopes
1843 ecf43dcb Jose A. Lopes
ndOobProgram :: String
1844 ecf43dcb Jose A. Lopes
ndOobProgram = "oob_program"
1845 ecf43dcb Jose A. Lopes
1846 ecf43dcb Jose A. Lopes
ndSpindleCount :: String
1847 ecf43dcb Jose A. Lopes
ndSpindleCount = "spindle_count"
1848 ecf43dcb Jose A. Lopes
1849 ecf43dcb Jose A. Lopes
ndOvs :: String
1850 ecf43dcb Jose A. Lopes
ndOvs = "ovs"
1851 ecf43dcb Jose A. Lopes
1852 ecf43dcb Jose A. Lopes
ndOvsLink :: String
1853 ecf43dcb Jose A. Lopes
ndOvsLink = "ovs_link"
1854 ecf43dcb Jose A. Lopes
1855 ecf43dcb Jose A. Lopes
ndOvsName :: String
1856 ecf43dcb Jose A. Lopes
ndOvsName = "ovs_name"
1857 ecf43dcb Jose A. Lopes
1858 ecf43dcb Jose A. Lopes
ndsParameterTypes :: Map String VType
1859 ecf43dcb Jose A. Lopes
ndsParameterTypes =
1860 ecf43dcb Jose A. Lopes
  Map.fromList
1861 ecf43dcb Jose A. Lopes
  [(ndExclusiveStorage, VTypeBool),
1862 ecf43dcb Jose A. Lopes
   (ndOobProgram, VTypeString),
1863 ecf43dcb Jose A. Lopes
   (ndOvs, VTypeBool),
1864 ecf43dcb Jose A. Lopes
   (ndOvsLink, VTypeMaybeString),
1865 ecf43dcb Jose A. Lopes
   (ndOvsName, VTypeMaybeString),
1866 ecf43dcb Jose A. Lopes
   (ndSpindleCount, VTypeInt)]
1867 ecf43dcb Jose A. Lopes
1868 ecf43dcb Jose A. Lopes
ndsParameters :: FrozenSet String
1869 ecf43dcb Jose A. Lopes
ndsParameters = ConstantUtils.mkSet (Map.keys ndsParameterTypes)
1870 ecf43dcb Jose A. Lopes
1871 ecf43dcb Jose A. Lopes
ndsParameterTitles :: Map String String
1872 ecf43dcb Jose A. Lopes
ndsParameterTitles =
1873 ecf43dcb Jose A. Lopes
  Map.fromList
1874 ecf43dcb Jose A. Lopes
  [(ndExclusiveStorage, "ExclusiveStorage"),
1875 ecf43dcb Jose A. Lopes
   (ndOobProgram, "OutOfBandProgram"),
1876 ecf43dcb Jose A. Lopes
   (ndOvs, "OpenvSwitch"),
1877 ecf43dcb Jose A. Lopes
   (ndOvsLink, "OpenvSwitchLink"),
1878 ecf43dcb Jose A. Lopes
   (ndOvsName, "OpenvSwitchName"),
1879 ecf43dcb Jose A. Lopes
   (ndSpindleCount, "SpindleCount")]
1880 ecf43dcb Jose A. Lopes
1881 8eb80cb3 Jose A. Lopes
-- * Logical Disks parameters
1882 8eb80cb3 Jose A. Lopes
1883 8eb80cb3 Jose A. Lopes
ldpAccess :: String
1884 8eb80cb3 Jose A. Lopes
ldpAccess = "access"
1885 8eb80cb3 Jose A. Lopes
1886 8eb80cb3 Jose A. Lopes
ldpBarriers :: String
1887 8eb80cb3 Jose A. Lopes
ldpBarriers = "disabled-barriers"
1888 8eb80cb3 Jose A. Lopes
1889 8eb80cb3 Jose A. Lopes
ldpDefaultMetavg :: String
1890 8eb80cb3 Jose A. Lopes
ldpDefaultMetavg = "default-metavg"
1891 8eb80cb3 Jose A. Lopes
1892 8eb80cb3 Jose A. Lopes
ldpDelayTarget :: String
1893 8eb80cb3 Jose A. Lopes
ldpDelayTarget = "c-delay-target"
1894 8eb80cb3 Jose A. Lopes
1895 8eb80cb3 Jose A. Lopes
ldpDiskCustom :: String
1896 8eb80cb3 Jose A. Lopes
ldpDiskCustom = "disk-custom"
1897 8eb80cb3 Jose A. Lopes
1898 8eb80cb3 Jose A. Lopes
ldpDynamicResync :: String
1899 8eb80cb3 Jose A. Lopes
ldpDynamicResync = "dynamic-resync"
1900 3b170ad4 Jose A. Lopes
1901 8eb80cb3 Jose A. Lopes
ldpFillTarget :: String
1902 8eb80cb3 Jose A. Lopes
ldpFillTarget = "c-fill-target"
1903 85c48fbb Jose A. Lopes
1904 8eb80cb3 Jose A. Lopes
ldpMaxRate :: String
1905 8eb80cb3 Jose A. Lopes
ldpMaxRate = "c-max-rate"
1906 85c48fbb Jose A. Lopes
1907 8eb80cb3 Jose A. Lopes
ldpMinRate :: String
1908 8eb80cb3 Jose A. Lopes
ldpMinRate = "c-min-rate"
1909 85c48fbb Jose A. Lopes
1910 8eb80cb3 Jose A. Lopes
ldpNetCustom :: String
1911 8eb80cb3 Jose A. Lopes
ldpNetCustom = "net-custom"
1912 85c48fbb Jose A. Lopes
1913 8eb80cb3 Jose A. Lopes
ldpNoMetaFlush :: String
1914 8eb80cb3 Jose A. Lopes
ldpNoMetaFlush = "disable-meta-flush"
1915 8eb80cb3 Jose A. Lopes
1916 8eb80cb3 Jose A. Lopes
ldpPlanAhead :: String
1917 8eb80cb3 Jose A. Lopes
ldpPlanAhead = "c-plan-ahead"
1918 8eb80cb3 Jose A. Lopes
1919 8eb80cb3 Jose A. Lopes
ldpPool :: String
1920 8eb80cb3 Jose A. Lopes
ldpPool = "pool"
1921 8eb80cb3 Jose A. Lopes
1922 8eb80cb3 Jose A. Lopes
ldpProtocol :: String
1923 8eb80cb3 Jose A. Lopes
ldpProtocol = "protocol"
1924 8eb80cb3 Jose A. Lopes
1925 8eb80cb3 Jose A. Lopes
ldpResyncRate :: String
1926 8eb80cb3 Jose A. Lopes
ldpResyncRate = "resync-rate"
1927 8eb80cb3 Jose A. Lopes
1928 8eb80cb3 Jose A. Lopes
ldpStripes :: String
1929 8eb80cb3 Jose A. Lopes
ldpStripes = "stripes"
1930 8eb80cb3 Jose A. Lopes
1931 8eb80cb3 Jose A. Lopes
diskLdTypes :: Map String VType
1932 8eb80cb3 Jose A. Lopes
diskLdTypes =
1933 8eb80cb3 Jose A. Lopes
  Map.fromList
1934 8eb80cb3 Jose A. Lopes
  [(ldpAccess, VTypeString),
1935 8eb80cb3 Jose A. Lopes
   (ldpResyncRate, VTypeInt),
1936 8eb80cb3 Jose A. Lopes
   (ldpStripes, VTypeInt),
1937 8eb80cb3 Jose A. Lopes
   (ldpBarriers, VTypeString),
1938 8eb80cb3 Jose A. Lopes
   (ldpNoMetaFlush, VTypeBool),
1939 8eb80cb3 Jose A. Lopes
   (ldpDefaultMetavg, VTypeString),
1940 8eb80cb3 Jose A. Lopes
   (ldpDiskCustom, VTypeString),
1941 8eb80cb3 Jose A. Lopes
   (ldpNetCustom, VTypeString),
1942 8eb80cb3 Jose A. Lopes
   (ldpProtocol, VTypeString),
1943 8eb80cb3 Jose A. Lopes
   (ldpDynamicResync, VTypeBool),
1944 8eb80cb3 Jose A. Lopes
   (ldpPlanAhead, VTypeInt),
1945 8eb80cb3 Jose A. Lopes
   (ldpFillTarget, VTypeInt),
1946 8eb80cb3 Jose A. Lopes
   (ldpDelayTarget, VTypeInt),
1947 8eb80cb3 Jose A. Lopes
   (ldpMaxRate, VTypeInt),
1948 8eb80cb3 Jose A. Lopes
   (ldpMinRate, VTypeInt),
1949 8eb80cb3 Jose A. Lopes
   (ldpPool, VTypeString)]
1950 8eb80cb3 Jose A. Lopes
1951 8eb80cb3 Jose A. Lopes
diskLdParameters :: FrozenSet String
1952 8eb80cb3 Jose A. Lopes
diskLdParameters = ConstantUtils.mkSet (Map.keys diskLdTypes)
1953 85c48fbb Jose A. Lopes
1954 ec321549 Jose A. Lopes
-- * Disk template parameters
1955 ec321549 Jose A. Lopes
--
1956 ec321549 Jose A. Lopes
-- Disk template parameters can be set/changed by the user via
1957 ec321549 Jose A. Lopes
-- gnt-cluster and gnt-group)
1958 ec321549 Jose A. Lopes
1959 ec321549 Jose A. Lopes
drbdResyncRate :: String
1960 ec321549 Jose A. Lopes
drbdResyncRate = "resync-rate"
1961 ec321549 Jose A. Lopes
1962 ec321549 Jose A. Lopes
drbdDataStripes :: String
1963 ec321549 Jose A. Lopes
drbdDataStripes = "data-stripes"
1964 ec321549 Jose A. Lopes
1965 ec321549 Jose A. Lopes
drbdMetaStripes :: String
1966 ec321549 Jose A. Lopes
drbdMetaStripes = "meta-stripes"
1967 ec321549 Jose A. Lopes
1968 ec321549 Jose A. Lopes
drbdDiskBarriers :: String
1969 ec321549 Jose A. Lopes
drbdDiskBarriers = "disk-barriers"
1970 ec321549 Jose A. Lopes
1971 ec321549 Jose A. Lopes
drbdMetaBarriers :: String
1972 ec321549 Jose A. Lopes
drbdMetaBarriers = "meta-barriers"
1973 ec321549 Jose A. Lopes
1974 ec321549 Jose A. Lopes
drbdDefaultMetavg :: String
1975 ec321549 Jose A. Lopes
drbdDefaultMetavg = "metavg"
1976 ec321549 Jose A. Lopes
1977 ec321549 Jose A. Lopes
drbdDiskCustom :: String
1978 ec321549 Jose A. Lopes
drbdDiskCustom = "disk-custom"
1979 ec321549 Jose A. Lopes
1980 ec321549 Jose A. Lopes
drbdNetCustom :: String
1981 ec321549 Jose A. Lopes
drbdNetCustom = "net-custom"
1982 ec321549 Jose A. Lopes
1983 ec321549 Jose A. Lopes
drbdProtocol :: String
1984 ec321549 Jose A. Lopes
drbdProtocol = "protocol"
1985 ec321549 Jose A. Lopes
1986 ec321549 Jose A. Lopes
drbdDynamicResync :: String
1987 ec321549 Jose A. Lopes
drbdDynamicResync = "dynamic-resync"
1988 ec321549 Jose A. Lopes
1989 ec321549 Jose A. Lopes
drbdPlanAhead :: String
1990 ec321549 Jose A. Lopes
drbdPlanAhead = "c-plan-ahead"
1991 ec321549 Jose A. Lopes
1992 ec321549 Jose A. Lopes
drbdFillTarget :: String
1993 ec321549 Jose A. Lopes
drbdFillTarget = "c-fill-target"
1994 ec321549 Jose A. Lopes
1995 ec321549 Jose A. Lopes
drbdDelayTarget :: String
1996 ec321549 Jose A. Lopes
drbdDelayTarget = "c-delay-target"
1997 ec321549 Jose A. Lopes
1998 ec321549 Jose A. Lopes
drbdMaxRate :: String
1999 ec321549 Jose A. Lopes
drbdMaxRate = "c-max-rate"
2000 ec321549 Jose A. Lopes
2001 ec321549 Jose A. Lopes
drbdMinRate :: String
2002 ec321549 Jose A. Lopes
drbdMinRate = "c-min-rate"
2003 ec321549 Jose A. Lopes
2004 ec321549 Jose A. Lopes
lvStripes :: String
2005 ec321549 Jose A. Lopes
lvStripes = "stripes"
2006 ec321549 Jose A. Lopes
2007 ec321549 Jose A. Lopes
rbdAccess :: String
2008 ec321549 Jose A. Lopes
rbdAccess = "access"
2009 ec321549 Jose A. Lopes
2010 ec321549 Jose A. Lopes
rbdPool :: String
2011 ec321549 Jose A. Lopes
rbdPool = "pool"
2012 ec321549 Jose A. Lopes
2013 ec321549 Jose A. Lopes
diskDtTypes :: Map String VType
2014 ec321549 Jose A. Lopes
diskDtTypes =
2015 ec321549 Jose A. Lopes
  Map.fromList [(drbdResyncRate, VTypeInt),
2016 ec321549 Jose A. Lopes
                (drbdDataStripes, VTypeInt),
2017 ec321549 Jose A. Lopes
                (drbdMetaStripes, VTypeInt),
2018 ec321549 Jose A. Lopes
                (drbdDiskBarriers, VTypeString),
2019 ec321549 Jose A. Lopes
                (drbdMetaBarriers, VTypeBool),
2020 ec321549 Jose A. Lopes
                (drbdDefaultMetavg, VTypeString),
2021 ec321549 Jose A. Lopes
                (drbdDiskCustom, VTypeString),
2022 ec321549 Jose A. Lopes
                (drbdNetCustom, VTypeString),
2023 ec321549 Jose A. Lopes
                (drbdProtocol, VTypeString),
2024 ec321549 Jose A. Lopes
                (drbdDynamicResync, VTypeBool),
2025 ec321549 Jose A. Lopes
                (drbdPlanAhead, VTypeInt),
2026 ec321549 Jose A. Lopes
                (drbdFillTarget, VTypeInt),
2027 ec321549 Jose A. Lopes
                (drbdDelayTarget, VTypeInt),
2028 ec321549 Jose A. Lopes
                (drbdMaxRate, VTypeInt),
2029 ec321549 Jose A. Lopes
                (drbdMinRate, VTypeInt),
2030 ec321549 Jose A. Lopes
                (lvStripes, VTypeInt),
2031 ec321549 Jose A. Lopes
                (rbdAccess, VTypeString),
2032 ec321549 Jose A. Lopes
                (rbdPool, VTypeString)]
2033 ec321549 Jose A. Lopes
2034 ec321549 Jose A. Lopes
diskDtParameters :: FrozenSet String
2035 ec321549 Jose A. Lopes
diskDtParameters = ConstantUtils.mkSet (Map.keys diskDtTypes)
2036 ec321549 Jose A. Lopes
2037 ec321549 Jose A. Lopes
-- * Dynamic disk parameters
2038 ec321549 Jose A. Lopes
2039 ec321549 Jose A. Lopes
ddpLocalIp :: String
2040 ec321549 Jose A. Lopes
ddpLocalIp = "local-ip"
2041 ec321549 Jose A. Lopes
2042 ec321549 Jose A. Lopes
ddpRemoteIp :: String
2043 ec321549 Jose A. Lopes
ddpRemoteIp = "remote-ip"
2044 ec321549 Jose A. Lopes
2045 ec321549 Jose A. Lopes
ddpPort :: String
2046 ec321549 Jose A. Lopes
ddpPort = "port"
2047 ec321549 Jose A. Lopes
2048 ec321549 Jose A. Lopes
ddpLocalMinor :: String
2049 ec321549 Jose A. Lopes
ddpLocalMinor = "local-minor"
2050 ec321549 Jose A. Lopes
2051 ec321549 Jose A. Lopes
ddpRemoteMinor :: String
2052 ec321549 Jose A. Lopes
ddpRemoteMinor = "remote-minor"
2053 ec321549 Jose A. Lopes
2054 c890f66a Jose A. Lopes
-- * OOB supported commands
2055 85c48fbb Jose A. Lopes
2056 c890f66a Jose A. Lopes
oobPowerOn :: String
2057 c890f66a Jose A. Lopes
oobPowerOn = Types.oobCommandToRaw OobPowerOn
2058 85c48fbb Jose A. Lopes
2059 c890f66a Jose A. Lopes
oobPowerOff :: String
2060 c890f66a Jose A. Lopes
oobPowerOff = Types.oobCommandToRaw OobPowerOff
2061 85c48fbb Jose A. Lopes
2062 c890f66a Jose A. Lopes
oobPowerCycle :: String
2063 c890f66a Jose A. Lopes
oobPowerCycle = Types.oobCommandToRaw OobPowerCycle
2064 85c48fbb Jose A. Lopes
2065 c890f66a Jose A. Lopes
oobPowerStatus :: String
2066 c890f66a Jose A. Lopes
oobPowerStatus = Types.oobCommandToRaw OobPowerStatus
2067 85c48fbb Jose A. Lopes
2068 c890f66a Jose A. Lopes
oobHealth :: String
2069 c890f66a Jose A. Lopes
oobHealth = Types.oobCommandToRaw OobHealth
2070 85c48fbb Jose A. Lopes
2071 c890f66a Jose A. Lopes
oobCommands :: FrozenSet String
2072 c890f66a Jose A. Lopes
oobCommands = ConstantUtils.mkSet $ map Types.oobCommandToRaw [minBound..]
2073 85c48fbb Jose A. Lopes
2074 c890f66a Jose A. Lopes
oobPowerStatusPowered :: String
2075 c890f66a Jose A. Lopes
oobPowerStatusPowered = "powered"
2076 85c48fbb Jose A. Lopes
2077 c890f66a Jose A. Lopes
-- | 60 seconds
2078 c890f66a Jose A. Lopes
oobTimeout :: Int
2079 c890f66a Jose A. Lopes
oobTimeout = 60
2080 85c48fbb Jose A. Lopes
2081 c890f66a Jose A. Lopes
-- | 2 seconds
2082 c890f66a Jose A. Lopes
oobPowerDelay :: Double
2083 c890f66a Jose A. Lopes
oobPowerDelay = 2.0
2084 85c48fbb Jose A. Lopes
2085 c890f66a Jose A. Lopes
oobStatusCritical :: String
2086 c890f66a Jose A. Lopes
oobStatusCritical = Types.oobStatusToRaw OobStatusCritical
2087 85c48fbb Jose A. Lopes
2088 c890f66a Jose A. Lopes
oobStatusOk :: String
2089 c890f66a Jose A. Lopes
oobStatusOk = Types.oobStatusToRaw OobStatusOk
2090 85c48fbb Jose A. Lopes
2091 c890f66a Jose A. Lopes
oobStatusUnknown :: String
2092 c890f66a Jose A. Lopes
oobStatusUnknown = Types.oobStatusToRaw OobStatusUnknown
2093 85c48fbb Jose A. Lopes
2094 c890f66a Jose A. Lopes
oobStatusWarning :: String
2095 c890f66a Jose A. Lopes
oobStatusWarning = Types.oobStatusToRaw OobStatusWarning
2096 85c48fbb Jose A. Lopes
2097 c890f66a Jose A. Lopes
oobStatuses :: FrozenSet String
2098 c890f66a Jose A. Lopes
oobStatuses = ConstantUtils.mkSet $ map Types.oobStatusToRaw [minBound..]
2099 85c48fbb Jose A. Lopes
2100 649f774a Jose A. Lopes
-- | Instance Parameters Profile
2101 649f774a Jose A. Lopes
ppDefault :: String
2102 649f774a Jose A. Lopes
ppDefault = "default"
2103 649f774a Jose A. Lopes
2104 d4bc2eec Jose A. Lopes
-- * nic* constants are used inside the ganeti config
2105 85c48fbb Jose A. Lopes
2106 c890f66a Jose A. Lopes
nicLink :: String
2107 c890f66a Jose A. Lopes
nicLink = "link"
2108 85c48fbb Jose A. Lopes
2109 c890f66a Jose A. Lopes
nicMode :: String
2110 c890f66a Jose A. Lopes
nicMode = "mode"
2111 85c48fbb Jose A. Lopes
2112 c890f66a Jose A. Lopes
nicVlan :: String
2113 c890f66a Jose A. Lopes
nicVlan = "vlan"
2114 85c48fbb Jose A. Lopes
2115 d4bc2eec Jose A. Lopes
nicsParameterTypes :: Map String VType
2116 d4bc2eec Jose A. Lopes
nicsParameterTypes =
2117 d4bc2eec Jose A. Lopes
  Map.fromList [(nicMode, vtypeString),
2118 d4bc2eec Jose A. Lopes
                (nicLink, vtypeString),
2119 d4bc2eec Jose A. Lopes
                (nicVlan, vtypeMaybeString)]
2120 d4bc2eec Jose A. Lopes
2121 d4bc2eec Jose A. Lopes
nicsParameters :: FrozenSet String
2122 d4bc2eec Jose A. Lopes
nicsParameters = ConstantUtils.mkSet (Map.keys nicsParameterTypes)
2123 d4bc2eec Jose A. Lopes
2124 c890f66a Jose A. Lopes
nicModeBridged :: String
2125 c890f66a Jose A. Lopes
nicModeBridged = Types.nICModeToRaw NMBridged
2126 85c48fbb Jose A. Lopes
2127 c890f66a Jose A. Lopes
nicModeRouted :: String
2128 c890f66a Jose A. Lopes
nicModeRouted = Types.nICModeToRaw NMRouted
2129 85c48fbb Jose A. Lopes
2130 c890f66a Jose A. Lopes
nicModeOvs :: String
2131 c890f66a Jose A. Lopes
nicModeOvs = Types.nICModeToRaw NMOvs
2132 85c48fbb Jose A. Lopes
2133 c890f66a Jose A. Lopes
nicIpPool :: String
2134 c890f66a Jose A. Lopes
nicIpPool = Types.nICModeToRaw NMPool
2135 85c48fbb Jose A. Lopes
2136 c890f66a Jose A. Lopes
nicValidModes :: FrozenSet String
2137 c890f66a Jose A. Lopes
nicValidModes = ConstantUtils.mkSet $ map Types.nICModeToRaw [minBound..]
2138 85c48fbb Jose A. Lopes
2139 649f774a Jose A. Lopes
releaseAction :: String
2140 649f774a Jose A. Lopes
releaseAction = "release"
2141 649f774a Jose A. Lopes
2142 649f774a Jose A. Lopes
reserveAction :: String
2143 649f774a Jose A. Lopes
reserveAction = "reserve"
2144 649f774a Jose A. Lopes
2145 649f774a Jose A. Lopes
-- * idisk* constants are used in opcodes, to create/change disks
2146 649f774a Jose A. Lopes
2147 649f774a Jose A. Lopes
idiskAdopt :: String
2148 649f774a Jose A. Lopes
idiskAdopt = "adopt"
2149 649f774a Jose A. Lopes
2150 649f774a Jose A. Lopes
idiskMetavg :: String
2151 649f774a Jose A. Lopes
idiskMetavg = "metavg"
2152 649f774a Jose A. Lopes
2153 649f774a Jose A. Lopes
idiskMode :: String
2154 649f774a Jose A. Lopes
idiskMode = "mode"
2155 649f774a Jose A. Lopes
2156 649f774a Jose A. Lopes
idiskName :: String
2157 649f774a Jose A. Lopes
idiskName = "name"
2158 649f774a Jose A. Lopes
2159 649f774a Jose A. Lopes
idiskSize :: String
2160 649f774a Jose A. Lopes
idiskSize = "size"
2161 649f774a Jose A. Lopes
2162 649f774a Jose A. Lopes
idiskSpindles :: String
2163 649f774a Jose A. Lopes
idiskSpindles = "spindles"
2164 649f774a Jose A. Lopes
2165 649f774a Jose A. Lopes
idiskVg :: String
2166 649f774a Jose A. Lopes
idiskVg = "vg"
2167 649f774a Jose A. Lopes
2168 649f774a Jose A. Lopes
idiskProvider :: String
2169 649f774a Jose A. Lopes
idiskProvider = "provider"
2170 649f774a Jose A. Lopes
2171 649f774a Jose A. Lopes
idiskParamsTypes :: Map String VType
2172 649f774a Jose A. Lopes
idiskParamsTypes =
2173 649f774a Jose A. Lopes
  Map.fromList [(idiskSize, VTypeSize),
2174 649f774a Jose A. Lopes
                (idiskSpindles, VTypeInt),
2175 649f774a Jose A. Lopes
                (idiskMode, VTypeString),
2176 649f774a Jose A. Lopes
                (idiskAdopt, VTypeString),
2177 649f774a Jose A. Lopes
                (idiskVg, VTypeString),
2178 649f774a Jose A. Lopes
                (idiskMetavg, VTypeString),
2179 649f774a Jose A. Lopes
                (idiskProvider, VTypeString),
2180 649f774a Jose A. Lopes
                (idiskName, VTypeMaybeString)]
2181 649f774a Jose A. Lopes
2182 649f774a Jose A. Lopes
idiskParams :: FrozenSet String
2183 649f774a Jose A. Lopes
idiskParams = ConstantUtils.mkSet (Map.keys idiskParamsTypes)
2184 649f774a Jose A. Lopes
2185 649f774a Jose A. Lopes
-- * inic* constants are used in opcodes, to create/change nics
2186 649f774a Jose A. Lopes
2187 649f774a Jose A. Lopes
inicBridge :: String
2188 649f774a Jose A. Lopes
inicBridge = "bridge"
2189 649f774a Jose A. Lopes
2190 649f774a Jose A. Lopes
inicIp :: String
2191 649f774a Jose A. Lopes
inicIp = "ip"
2192 649f774a Jose A. Lopes
2193 649f774a Jose A. Lopes
inicLink :: String
2194 649f774a Jose A. Lopes
inicLink = "link"
2195 649f774a Jose A. Lopes
2196 649f774a Jose A. Lopes
inicMac :: String
2197 649f774a Jose A. Lopes
inicMac = "mac"
2198 649f774a Jose A. Lopes
2199 649f774a Jose A. Lopes
inicMode :: String
2200 649f774a Jose A. Lopes
inicMode = "mode"
2201 649f774a Jose A. Lopes
2202 649f774a Jose A. Lopes
inicName :: String
2203 649f774a Jose A. Lopes
inicName = "name"
2204 649f774a Jose A. Lopes
2205 649f774a Jose A. Lopes
inicNetwork :: String
2206 649f774a Jose A. Lopes
inicNetwork = "network"
2207 649f774a Jose A. Lopes
2208 649f774a Jose A. Lopes
inicVlan :: String
2209 649f774a Jose A. Lopes
inicVlan = "vlan"
2210 649f774a Jose A. Lopes
2211 649f774a Jose A. Lopes
inicParamsTypes :: Map String VType
2212 649f774a Jose A. Lopes
inicParamsTypes =
2213 649f774a Jose A. Lopes
  Map.fromList [(inicBridge, VTypeMaybeString),
2214 649f774a Jose A. Lopes
                (inicIp, VTypeMaybeString),
2215 649f774a Jose A. Lopes
                (inicLink, VTypeString),
2216 649f774a Jose A. Lopes
                (inicMac, VTypeString),
2217 649f774a Jose A. Lopes
                (inicMode, VTypeString),
2218 649f774a Jose A. Lopes
                (inicName, VTypeMaybeString),
2219 649f774a Jose A. Lopes
                (inicNetwork, VTypeMaybeString),
2220 649f774a Jose A. Lopes
                (inicVlan, VTypeMaybeString)]
2221 649f774a Jose A. Lopes
2222 649f774a Jose A. Lopes
inicParams :: FrozenSet String
2223 649f774a Jose A. Lopes
inicParams = ConstantUtils.mkSet (Map.keys inicParamsTypes)
2224 649f774a Jose A. Lopes
2225 c890f66a Jose A. Lopes
-- * Hypervisor constants
2226 85c48fbb Jose A. Lopes
2227 c890f66a Jose A. Lopes
htXenPvm :: String
2228 c890f66a Jose A. Lopes
htXenPvm = Types.hypervisorToRaw XenPvm
2229 85c48fbb Jose A. Lopes
2230 c890f66a Jose A. Lopes
htFake :: String
2231 c890f66a Jose A. Lopes
htFake = Types.hypervisorToRaw Fake
2232 85c48fbb Jose A. Lopes
2233 c890f66a Jose A. Lopes
htXenHvm :: String
2234 c890f66a Jose A. Lopes
htXenHvm = Types.hypervisorToRaw XenHvm
2235 85c48fbb Jose A. Lopes
2236 c890f66a Jose A. Lopes
htKvm :: String
2237 c890f66a Jose A. Lopes
htKvm = Types.hypervisorToRaw Kvm
2238 85c48fbb Jose A. Lopes
2239 c890f66a Jose A. Lopes
htChroot :: String
2240 c890f66a Jose A. Lopes
htChroot = Types.hypervisorToRaw Chroot
2241 85c48fbb Jose A. Lopes
2242 c890f66a Jose A. Lopes
htLxc :: String
2243 c890f66a Jose A. Lopes
htLxc = Types.hypervisorToRaw Lxc
2244 85c48fbb Jose A. Lopes
2245 c890f66a Jose A. Lopes
hyperTypes :: FrozenSet String
2246 c890f66a Jose A. Lopes
hyperTypes = ConstantUtils.mkSet $ map Types.hypervisorToRaw [minBound..]
2247 85c48fbb Jose A. Lopes
2248 c890f66a Jose A. Lopes
htsReqPort :: FrozenSet String
2249 c890f66a Jose A. Lopes
htsReqPort = ConstantUtils.mkSet [htXenHvm, htKvm]
2250 85c48fbb Jose A. Lopes
2251 cf1f4273 Jose A. Lopes
vncBasePort :: Int
2252 cf1f4273 Jose A. Lopes
vncBasePort = 5900
2253 cf1f4273 Jose A. Lopes
2254 cf1f4273 Jose A. Lopes
vncDefaultBindAddress :: String
2255 cf1f4273 Jose A. Lopes
vncDefaultBindAddress = ip4AddressAny
2256 cf1f4273 Jose A. Lopes
2257 b8576ea1 Jose A. Lopes
-- * NIC types
2258 b8576ea1 Jose A. Lopes
2259 b8576ea1 Jose A. Lopes
htNicE1000 :: String
2260 b8576ea1 Jose A. Lopes
htNicE1000 = "e1000"
2261 b8576ea1 Jose A. Lopes
2262 b8576ea1 Jose A. Lopes
htNicI82551 :: String
2263 b8576ea1 Jose A. Lopes
htNicI82551 = "i82551"
2264 b8576ea1 Jose A. Lopes
2265 b8576ea1 Jose A. Lopes
htNicI8259er :: String
2266 b8576ea1 Jose A. Lopes
htNicI8259er = "i82559er"
2267 b8576ea1 Jose A. Lopes
2268 b8576ea1 Jose A. Lopes
htNicI85557b :: String
2269 b8576ea1 Jose A. Lopes
htNicI85557b = "i82557b"
2270 b8576ea1 Jose A. Lopes
2271 b8576ea1 Jose A. Lopes
htNicNe2kIsa :: String
2272 b8576ea1 Jose A. Lopes
htNicNe2kIsa = "ne2k_isa"
2273 b8576ea1 Jose A. Lopes
2274 b8576ea1 Jose A. Lopes
htNicNe2kPci :: String
2275 b8576ea1 Jose A. Lopes
htNicNe2kPci = "ne2k_pci"
2276 b8576ea1 Jose A. Lopes
2277 b8576ea1 Jose A. Lopes
htNicParavirtual :: String
2278 b8576ea1 Jose A. Lopes
htNicParavirtual = "paravirtual"
2279 b8576ea1 Jose A. Lopes
2280 b8576ea1 Jose A. Lopes
htNicPcnet :: String
2281 b8576ea1 Jose A. Lopes
htNicPcnet = "pcnet"
2282 b8576ea1 Jose A. Lopes
2283 b8576ea1 Jose A. Lopes
htNicRtl8139 :: String
2284 b8576ea1 Jose A. Lopes
htNicRtl8139 = "rtl8139"
2285 b8576ea1 Jose A. Lopes
2286 b8576ea1 Jose A. Lopes
htHvmValidNicTypes :: FrozenSet String
2287 b8576ea1 Jose A. Lopes
htHvmValidNicTypes =
2288 b8576ea1 Jose A. Lopes
  ConstantUtils.mkSet [htNicE1000,
2289 b8576ea1 Jose A. Lopes
                       htNicNe2kIsa,
2290 b8576ea1 Jose A. Lopes
                       htNicNe2kPci,
2291 b8576ea1 Jose A. Lopes
                       htNicParavirtual,
2292 b8576ea1 Jose A. Lopes
                       htNicRtl8139]
2293 b8576ea1 Jose A. Lopes
2294 b8576ea1 Jose A. Lopes
htKvmValidNicTypes :: FrozenSet String
2295 b8576ea1 Jose A. Lopes
htKvmValidNicTypes =
2296 b8576ea1 Jose A. Lopes
  ConstantUtils.mkSet [htNicE1000,
2297 b8576ea1 Jose A. Lopes
                       htNicI82551,
2298 b8576ea1 Jose A. Lopes
                       htNicI8259er,
2299 b8576ea1 Jose A. Lopes
                       htNicI85557b,
2300 b8576ea1 Jose A. Lopes
                       htNicNe2kIsa,
2301 b8576ea1 Jose A. Lopes
                       htNicNe2kPci,
2302 b8576ea1 Jose A. Lopes
                       htNicParavirtual,
2303 b8576ea1 Jose A. Lopes
                       htNicPcnet,
2304 b8576ea1 Jose A. Lopes
                       htNicRtl8139]
2305 b8576ea1 Jose A. Lopes
2306 b8576ea1 Jose A. Lopes
-- * Vif types
2307 b8576ea1 Jose A. Lopes
2308 b8576ea1 Jose A. Lopes
-- | Default vif type in xen-hvm
2309 b8576ea1 Jose A. Lopes
htHvmVifIoemu :: String
2310 b8576ea1 Jose A. Lopes
htHvmVifIoemu = "ioemu"
2311 b8576ea1 Jose A. Lopes
2312 b8576ea1 Jose A. Lopes
htHvmVifVif :: String
2313 b8576ea1 Jose A. Lopes
htHvmVifVif = "vif"
2314 b8576ea1 Jose A. Lopes
2315 b8576ea1 Jose A. Lopes
htHvmValidVifTypes :: FrozenSet String
2316 b8576ea1 Jose A. Lopes
htHvmValidVifTypes = ConstantUtils.mkSet [htHvmVifIoemu, htHvmVifVif]
2317 b8576ea1 Jose A. Lopes
2318 b8576ea1 Jose A. Lopes
-- * Disk types
2319 b8576ea1 Jose A. Lopes
2320 b8576ea1 Jose A. Lopes
htDiskIde :: String
2321 b8576ea1 Jose A. Lopes
htDiskIde = "ide"
2322 b8576ea1 Jose A. Lopes
2323 b8576ea1 Jose A. Lopes
htDiskIoemu :: String
2324 b8576ea1 Jose A. Lopes
htDiskIoemu = "ioemu"
2325 b8576ea1 Jose A. Lopes
2326 b8576ea1 Jose A. Lopes
htDiskMtd :: String
2327 b8576ea1 Jose A. Lopes
htDiskMtd = "mtd"
2328 b8576ea1 Jose A. Lopes
2329 b8576ea1 Jose A. Lopes
htDiskParavirtual :: String
2330 b8576ea1 Jose A. Lopes
htDiskParavirtual = "paravirtual"
2331 b8576ea1 Jose A. Lopes
2332 b8576ea1 Jose A. Lopes
htDiskPflash :: String
2333 b8576ea1 Jose A. Lopes
htDiskPflash = "pflash"
2334 b8576ea1 Jose A. Lopes
2335 b8576ea1 Jose A. Lopes
htDiskScsi :: String
2336 b8576ea1 Jose A. Lopes
htDiskScsi = "scsi"
2337 b8576ea1 Jose A. Lopes
2338 b8576ea1 Jose A. Lopes
htDiskSd :: String
2339 b8576ea1 Jose A. Lopes
htDiskSd = "sd"
2340 b8576ea1 Jose A. Lopes
2341 b8576ea1 Jose A. Lopes
htHvmValidDiskTypes :: FrozenSet String
2342 b8576ea1 Jose A. Lopes
htHvmValidDiskTypes = ConstantUtils.mkSet [htDiskIoemu, htDiskParavirtual]
2343 b8576ea1 Jose A. Lopes
2344 b8576ea1 Jose A. Lopes
htKvmValidDiskTypes :: FrozenSet String
2345 b8576ea1 Jose A. Lopes
htKvmValidDiskTypes =
2346 b8576ea1 Jose A. Lopes
  ConstantUtils.mkSet [htDiskIde,
2347 b8576ea1 Jose A. Lopes
                       htDiskMtd,
2348 b8576ea1 Jose A. Lopes
                       htDiskParavirtual,
2349 b8576ea1 Jose A. Lopes
                       htDiskPflash,
2350 b8576ea1 Jose A. Lopes
                       htDiskScsi,
2351 b8576ea1 Jose A. Lopes
                       htDiskSd]
2352 b8576ea1 Jose A. Lopes
2353 b8576ea1 Jose A. Lopes
htCacheDefault :: String
2354 b8576ea1 Jose A. Lopes
htCacheDefault = "default"
2355 b8576ea1 Jose A. Lopes
2356 b8576ea1 Jose A. Lopes
htCacheNone :: String
2357 b8576ea1 Jose A. Lopes
htCacheNone = "none"
2358 b8576ea1 Jose A. Lopes
2359 b8576ea1 Jose A. Lopes
htCacheWback :: String
2360 b8576ea1 Jose A. Lopes
htCacheWback = "writeback"
2361 b8576ea1 Jose A. Lopes
2362 b8576ea1 Jose A. Lopes
htCacheWthrough :: String
2363 b8576ea1 Jose A. Lopes
htCacheWthrough = "writethrough"
2364 b8576ea1 Jose A. Lopes
2365 b8576ea1 Jose A. Lopes
htValidCacheTypes :: FrozenSet String
2366 b8576ea1 Jose A. Lopes
htValidCacheTypes =
2367 b8576ea1 Jose A. Lopes
  ConstantUtils.mkSet [htCacheDefault,
2368 b8576ea1 Jose A. Lopes
                       htCacheNone,
2369 b8576ea1 Jose A. Lopes
                       htCacheWback,
2370 b8576ea1 Jose A. Lopes
                       htCacheWthrough]
2371 b8576ea1 Jose A. Lopes
2372 b8576ea1 Jose A. Lopes
-- * Mouse types
2373 b8576ea1 Jose A. Lopes
2374 b8576ea1 Jose A. Lopes
htMouseMouse :: String
2375 b8576ea1 Jose A. Lopes
htMouseMouse = "mouse"
2376 b8576ea1 Jose A. Lopes
2377 b8576ea1 Jose A. Lopes
htMouseTablet :: String
2378 b8576ea1 Jose A. Lopes
htMouseTablet = "tablet"
2379 b8576ea1 Jose A. Lopes
2380 b8576ea1 Jose A. Lopes
htKvmValidMouseTypes :: FrozenSet String
2381 b8576ea1 Jose A. Lopes
htKvmValidMouseTypes = ConstantUtils.mkSet [htMouseMouse, htMouseTablet]
2382 b8576ea1 Jose A. Lopes
2383 b8576ea1 Jose A. Lopes
-- * Boot order
2384 b8576ea1 Jose A. Lopes
2385 b8576ea1 Jose A. Lopes
htBoCdrom :: String
2386 b8576ea1 Jose A. Lopes
htBoCdrom = "cdrom"
2387 b8576ea1 Jose A. Lopes
2388 b8576ea1 Jose A. Lopes
htBoDisk :: String
2389 b8576ea1 Jose A. Lopes
htBoDisk = "disk"
2390 b8576ea1 Jose A. Lopes
2391 b8576ea1 Jose A. Lopes
htBoFloppy :: String
2392 b8576ea1 Jose A. Lopes
htBoFloppy = "floppy"
2393 b8576ea1 Jose A. Lopes
2394 b8576ea1 Jose A. Lopes
htBoNetwork :: String
2395 b8576ea1 Jose A. Lopes
htBoNetwork = "network"
2396 b8576ea1 Jose A. Lopes
2397 b8576ea1 Jose A. Lopes
htKvmValidBoTypes :: FrozenSet String
2398 b8576ea1 Jose A. Lopes
htKvmValidBoTypes =
2399 b8576ea1 Jose A. Lopes
  ConstantUtils.mkSet [htBoCdrom, htBoDisk, htBoFloppy, htBoNetwork]
2400 b8576ea1 Jose A. Lopes
2401 b8576ea1 Jose A. Lopes
-- * SPICE lossless image compression options
2402 b8576ea1 Jose A. Lopes
2403 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprAutoGlz :: String
2404 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprAutoGlz = "auto_glz"
2405 b8576ea1 Jose A. Lopes
2406 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprAutoLz :: String
2407 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprAutoLz = "auto_lz"
2408 b8576ea1 Jose A. Lopes
2409 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprGlz :: String
2410 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprGlz = "glz"
2411 b8576ea1 Jose A. Lopes
2412 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprLz :: String
2413 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprLz = "lz"
2414 b8576ea1 Jose A. Lopes
2415 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprOff :: String
2416 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprOff = "off"
2417 b8576ea1 Jose A. Lopes
2418 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprQuic :: String
2419 b8576ea1 Jose A. Lopes
htKvmSpiceLosslessImgComprQuic = "quic"
2420 b8576ea1 Jose A. Lopes
2421 b8576ea1 Jose A. Lopes
htKvmSpiceValidLosslessImgComprOptions :: FrozenSet String
2422 b8576ea1 Jose A. Lopes
htKvmSpiceValidLosslessImgComprOptions =
2423 b8576ea1 Jose A. Lopes
  ConstantUtils.mkSet [htKvmSpiceLosslessImgComprAutoGlz,
2424 b8576ea1 Jose A. Lopes
                       htKvmSpiceLosslessImgComprAutoLz,
2425 b8576ea1 Jose A. Lopes
                       htKvmSpiceLosslessImgComprGlz,
2426 b8576ea1 Jose A. Lopes
                       htKvmSpiceLosslessImgComprLz,
2427 b8576ea1 Jose A. Lopes
                       htKvmSpiceLosslessImgComprOff,
2428 b8576ea1 Jose A. Lopes
                       htKvmSpiceLosslessImgComprQuic]
2429 b8576ea1 Jose A. Lopes
2430 b8576ea1 Jose A. Lopes
htKvmSpiceLossyImgComprAlways :: String
2431 b8576ea1 Jose A. Lopes
htKvmSpiceLossyImgComprAlways = "always"
2432 b8576ea1 Jose A. Lopes
2433 b8576ea1 Jose A. Lopes
htKvmSpiceLossyImgComprAuto :: String
2434 b8576ea1 Jose A. Lopes
htKvmSpiceLossyImgComprAuto = "auto"
2435 b8576ea1 Jose A. Lopes
2436 b8576ea1 Jose A. Lopes
htKvmSpiceLossyImgComprNever :: String
2437 b8576ea1 Jose A. Lopes
htKvmSpiceLossyImgComprNever = "never"
2438 b8576ea1 Jose A. Lopes
2439 b8576ea1 Jose A. Lopes
htKvmSpiceValidLossyImgComprOptions :: FrozenSet String
2440 b8576ea1 Jose A. Lopes
htKvmSpiceValidLossyImgComprOptions =
2441 b8576ea1 Jose A. Lopes
  ConstantUtils.mkSet [htKvmSpiceLossyImgComprAlways,
2442 b8576ea1 Jose A. Lopes
                       htKvmSpiceLossyImgComprAuto,
2443 b8576ea1 Jose A. Lopes
                       htKvmSpiceLossyImgComprNever]
2444 b8576ea1 Jose A. Lopes
2445 b8576ea1 Jose A. Lopes
-- * SPICE video stream detection
2446 b8576ea1 Jose A. Lopes
2447 b8576ea1 Jose A. Lopes
htKvmSpiceVideoStreamDetectionAll :: String
2448 b8576ea1 Jose A. Lopes
htKvmSpiceVideoStreamDetectionAll = "all"
2449 b8576ea1 Jose A. Lopes
2450 b8576ea1 Jose A. Lopes
htKvmSpiceVideoStreamDetectionFilter :: String
2451 b8576ea1 Jose A. Lopes
htKvmSpiceVideoStreamDetectionFilter = "filter"
2452 b8576ea1 Jose A. Lopes
2453 b8576ea1 Jose A. Lopes
htKvmSpiceVideoStreamDetectionOff :: String
2454 b8576ea1 Jose A. Lopes
htKvmSpiceVideoStreamDetectionOff = "off"
2455 b8576ea1 Jose A. Lopes
2456 b8576ea1 Jose A. Lopes
htKvmSpiceValidVideoStreamDetectionOptions :: FrozenSet String
2457 b8576ea1 Jose A. Lopes
htKvmSpiceValidVideoStreamDetectionOptions =
2458 b8576ea1 Jose A. Lopes
  ConstantUtils.mkSet [htKvmSpiceVideoStreamDetectionAll,
2459 b8576ea1 Jose A. Lopes
                       htKvmSpiceVideoStreamDetectionFilter,
2460 b8576ea1 Jose A. Lopes
                       htKvmSpiceVideoStreamDetectionOff]
2461 b8576ea1 Jose A. Lopes
2462 b8576ea1 Jose A. Lopes
-- * Security models
2463 b8576ea1 Jose A. Lopes
2464 b8576ea1 Jose A. Lopes
htSmNone :: String
2465 b8576ea1 Jose A. Lopes
htSmNone = "none"
2466 b8576ea1 Jose A. Lopes
2467 b8576ea1 Jose A. Lopes
htSmPool :: String
2468 b8576ea1 Jose A. Lopes
htSmPool = "pool"
2469 b8576ea1 Jose A. Lopes
2470 b8576ea1 Jose A. Lopes
htSmUser :: String
2471 b8576ea1 Jose A. Lopes
htSmUser = "user"
2472 b8576ea1 Jose A. Lopes
2473 b8576ea1 Jose A. Lopes
htKvmValidSmTypes :: FrozenSet String
2474 b8576ea1 Jose A. Lopes
htKvmValidSmTypes = ConstantUtils.mkSet [htSmNone, htSmPool, htSmUser]
2475 b8576ea1 Jose A. Lopes
2476 b8576ea1 Jose A. Lopes
-- * Kvm flag values
2477 b8576ea1 Jose A. Lopes
2478 b8576ea1 Jose A. Lopes
htKvmDisabled :: String
2479 b8576ea1 Jose A. Lopes
htKvmDisabled = "disabled"
2480 b8576ea1 Jose A. Lopes
2481 b8576ea1 Jose A. Lopes
htKvmEnabled :: String
2482 b8576ea1 Jose A. Lopes
htKvmEnabled = "enabled"
2483 b8576ea1 Jose A. Lopes
2484 b8576ea1 Jose A. Lopes
htKvmFlagValues :: FrozenSet String
2485 b8576ea1 Jose A. Lopes
htKvmFlagValues = ConstantUtils.mkSet [htKvmDisabled, htKvmEnabled]
2486 b8576ea1 Jose A. Lopes
2487 c890f66a Jose A. Lopes
-- * Migration type
2488 26eca119 Jose A. Lopes
2489 c890f66a Jose A. Lopes
htMigrationLive :: String
2490 c890f66a Jose A. Lopes
htMigrationLive = Types.migrationModeToRaw MigrationLive
2491 26eca119 Jose A. Lopes
2492 c890f66a Jose A. Lopes
htMigrationNonlive :: String
2493 c890f66a Jose A. Lopes
htMigrationNonlive = Types.migrationModeToRaw MigrationNonLive
2494 26eca119 Jose A. Lopes
2495 c890f66a Jose A. Lopes
htMigrationModes :: FrozenSet String
2496 c890f66a Jose A. Lopes
htMigrationModes =
2497 c890f66a Jose A. Lopes
  ConstantUtils.mkSet $ map Types.migrationModeToRaw [minBound..]
2498 26eca119 Jose A. Lopes
2499 c890f66a Jose A. Lopes
-- * Cluster verify steps
2500 26eca119 Jose A. Lopes
2501 c890f66a Jose A. Lopes
verifyNplusoneMem :: String
2502 c890f66a Jose A. Lopes
verifyNplusoneMem = Types.verifyOptionalChecksToRaw VerifyNPlusOneMem
2503 26eca119 Jose A. Lopes
2504 c890f66a Jose A. Lopes
verifyOptionalChecks :: FrozenSet String
2505 c890f66a Jose A. Lopes
verifyOptionalChecks =
2506 c890f66a Jose A. Lopes
  ConstantUtils.mkSet $ map Types.verifyOptionalChecksToRaw [minBound..]
2507 26eca119 Jose A. Lopes
2508 c890f66a Jose A. Lopes
-- * Cluster Verify error classes
2509 26eca119 Jose A. Lopes
2510 c890f66a Jose A. Lopes
cvTcluster :: String
2511 c890f66a Jose A. Lopes
cvTcluster = "cluster"
2512 26eca119 Jose A. Lopes
2513 c890f66a Jose A. Lopes
cvTgroup :: String
2514 c890f66a Jose A. Lopes
cvTgroup = "group"
2515 26eca119 Jose A. Lopes
2516 c890f66a Jose A. Lopes
cvTnode :: String
2517 c890f66a Jose A. Lopes
cvTnode = "node"
2518 26eca119 Jose A. Lopes
2519 c890f66a Jose A. Lopes
cvTinstance :: String
2520 c890f66a Jose A. Lopes
cvTinstance = "instance"
2521 26eca119 Jose A. Lopes
2522 c890f66a Jose A. Lopes
-- * Cluster Verify error codes and documentation
2523 26eca119 Jose A. Lopes
2524 c890f66a Jose A. Lopes
cvEclustercert :: (String, String, String)
2525 c890f66a Jose A. Lopes
cvEclustercert =
2526 c890f66a Jose A. Lopes
  ("cluster",
2527 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvECLUSTERCERT,
2528 c890f66a Jose A. Lopes
   "Cluster certificate files verification failure")
2529 26eca119 Jose A. Lopes
2530 c890f66a Jose A. Lopes
cvEclustercfg :: (String, String, String)
2531 c890f66a Jose A. Lopes
cvEclustercfg =
2532 c890f66a Jose A. Lopes
  ("cluster",
2533 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvECLUSTERCFG,
2534 c890f66a Jose A. Lopes
   "Cluster configuration verification failure")
2535 26eca119 Jose A. Lopes
2536 c890f66a Jose A. Lopes
cvEclusterdanglinginst :: (String, String, String)
2537 c890f66a Jose A. Lopes
cvEclusterdanglinginst =
2538 c890f66a Jose A. Lopes
  ("node",
2539 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvECLUSTERDANGLINGINST,
2540 c890f66a Jose A. Lopes
   "Some instances have a non-existing primary node")
2541 26eca119 Jose A. Lopes
2542 c890f66a Jose A. Lopes
cvEclusterdanglingnodes :: (String, String, String)
2543 c890f66a Jose A. Lopes
cvEclusterdanglingnodes =
2544 c890f66a Jose A. Lopes
  ("node",
2545 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvECLUSTERDANGLINGNODES,
2546 c890f66a Jose A. Lopes
   "Some nodes belong to non-existing groups")
2547 f361a6ee Jose A. Lopes
2548 c890f66a Jose A. Lopes
cvEclusterfilecheck :: (String, String, String)
2549 c890f66a Jose A. Lopes
cvEclusterfilecheck =
2550 c890f66a Jose A. Lopes
  ("cluster",
2551 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvECLUSTERFILECHECK,
2552 c890f66a Jose A. Lopes
   "Cluster configuration verification failure")
2553 f361a6ee Jose A. Lopes
2554 c890f66a Jose A. Lopes
cvEgroupdifferentpvsize :: (String, String, String)
2555 c890f66a Jose A. Lopes
cvEgroupdifferentpvsize =
2556 c890f66a Jose A. Lopes
  ("group",
2557 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEGROUPDIFFERENTPVSIZE,
2558 c890f66a Jose A. Lopes
   "PVs in the group have different sizes")
2559 f361a6ee Jose A. Lopes
2560 c890f66a Jose A. Lopes
cvEinstancebadnode :: (String, String, String)
2561 c890f66a Jose A. Lopes
cvEinstancebadnode =
2562 c890f66a Jose A. Lopes
  ("instance",
2563 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCEBADNODE,
2564 c890f66a Jose A. Lopes
   "Instance marked as running lives on an offline node")
2565 f361a6ee Jose A. Lopes
2566 c890f66a Jose A. Lopes
cvEinstancedown :: (String, String, String)
2567 c890f66a Jose A. Lopes
cvEinstancedown =
2568 c890f66a Jose A. Lopes
  ("instance",
2569 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCEDOWN,
2570 c890f66a Jose A. Lopes
   "Instance not running on its primary node")
2571 f361a6ee Jose A. Lopes
2572 c890f66a Jose A. Lopes
cvEinstancefaultydisk :: (String, String, String)
2573 c890f66a Jose A. Lopes
cvEinstancefaultydisk =
2574 c890f66a Jose A. Lopes
  ("instance",
2575 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCEFAULTYDISK,
2576 c890f66a Jose A. Lopes
   "Impossible to retrieve status for a disk")
2577 f361a6ee Jose A. Lopes
2578 c890f66a Jose A. Lopes
cvEinstancelayout :: (String, String, String)
2579 c890f66a Jose A. Lopes
cvEinstancelayout =
2580 c890f66a Jose A. Lopes
  ("instance",
2581 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCELAYOUT,
2582 c890f66a Jose A. Lopes
   "Instance has multiple secondary nodes")
2583 f361a6ee Jose A. Lopes
2584 c890f66a Jose A. Lopes
cvEinstancemissingcfgparameter :: (String, String, String)
2585 c890f66a Jose A. Lopes
cvEinstancemissingcfgparameter =
2586 c890f66a Jose A. Lopes
  ("instance",
2587 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCEMISSINGCFGPARAMETER,
2588 c890f66a Jose A. Lopes
   "A configuration parameter for an instance is missing")
2589 f361a6ee Jose A. Lopes
2590 c890f66a Jose A. Lopes
cvEinstancemissingdisk :: (String, String, String)
2591 c890f66a Jose A. Lopes
cvEinstancemissingdisk =
2592 c890f66a Jose A. Lopes
  ("instance",
2593 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCEMISSINGDISK,
2594 c890f66a Jose A. Lopes
   "Missing volume on an instance")
2595 f361a6ee Jose A. Lopes
2596 c890f66a Jose A. Lopes
cvEinstancepolicy :: (String, String, String)
2597 c890f66a Jose A. Lopes
cvEinstancepolicy =
2598 c890f66a Jose A. Lopes
  ("instance",
2599 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCEPOLICY,
2600 c890f66a Jose A. Lopes
   "Instance does not meet policy")
2601 f361a6ee Jose A. Lopes
2602 c890f66a Jose A. Lopes
cvEinstancesplitgroups :: (String, String, String)
2603 c890f66a Jose A. Lopes
cvEinstancesplitgroups =
2604 c890f66a Jose A. Lopes
  ("instance",
2605 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCESPLITGROUPS,
2606 c890f66a Jose A. Lopes
   "Instance with primary and secondary nodes in different groups")
2607 f361a6ee Jose A. Lopes
2608 c890f66a Jose A. Lopes
cvEinstanceunsuitablenode :: (String, String, String)
2609 c890f66a Jose A. Lopes
cvEinstanceunsuitablenode =
2610 c890f66a Jose A. Lopes
  ("instance",
2611 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCEUNSUITABLENODE,
2612 c890f66a Jose A. Lopes
   "Instance running on nodes that are not suitable for it")
2613 f361a6ee Jose A. Lopes
2614 c890f66a Jose A. Lopes
cvEinstancewrongnode :: (String, String, String)
2615 c890f66a Jose A. Lopes
cvEinstancewrongnode =
2616 c890f66a Jose A. Lopes
  ("instance",
2617 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvEINSTANCEWRONGNODE,
2618 c890f66a Jose A. Lopes
   "Instance running on the wrong node")
2619 6dc0cb59 Jose A. Lopes
2620 c890f66a Jose A. Lopes
cvEnodedrbd :: (String, String, String)
2621 c890f66a Jose A. Lopes
cvEnodedrbd =
2622 c890f66a Jose A. Lopes
  ("node",
2623 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEDRBD,
2624 c890f66a Jose A. Lopes
   "Error parsing the DRBD status file")
2625 6dc0cb59 Jose A. Lopes
2626 c890f66a Jose A. Lopes
cvEnodedrbdhelper :: (String, String, String)
2627 c890f66a Jose A. Lopes
cvEnodedrbdhelper =
2628 c890f66a Jose A. Lopes
  ("node",
2629 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEDRBDHELPER,
2630 c890f66a Jose A. Lopes
   "Error caused by the DRBD helper")
2631 6dc0cb59 Jose A. Lopes
2632 c890f66a Jose A. Lopes
cvEnodedrbdversion :: (String, String, String)
2633 c890f66a Jose A. Lopes
cvEnodedrbdversion =
2634 c890f66a Jose A. Lopes
  ("node",
2635 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEDRBDVERSION,
2636 c890f66a Jose A. Lopes
   "DRBD version mismatch within a node group")
2637 6dc0cb59 Jose A. Lopes
2638 c890f66a Jose A. Lopes
cvEnodefilecheck :: (String, String, String)
2639 c890f66a Jose A. Lopes
cvEnodefilecheck =
2640 c890f66a Jose A. Lopes
  ("node",
2641 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEFILECHECK,
2642 c890f66a Jose A. Lopes
   "Error retrieving the checksum of the node files")
2643 6dc0cb59 Jose A. Lopes
2644 c890f66a Jose A. Lopes
cvEnodefilestoragepaths :: (String, String, String)
2645 c890f66a Jose A. Lopes
cvEnodefilestoragepaths =
2646 c890f66a Jose A. Lopes
  ("node",
2647 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEFILESTORAGEPATHS,
2648 c890f66a Jose A. Lopes
   "Detected bad file storage paths")
2649 856eb53c Jose A. Lopes
2650 c890f66a Jose A. Lopes
cvEnodefilestoragepathunusable :: (String, String, String)
2651 c890f66a Jose A. Lopes
cvEnodefilestoragepathunusable =
2652 c890f66a Jose A. Lopes
  ("node",
2653 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEFILESTORAGEPATHUNUSABLE,
2654 c890f66a Jose A. Lopes
   "File storage path unusable")
2655 1c31b263 Jose A. Lopes
2656 c890f66a Jose A. Lopes
cvEnodehooks :: (String, String, String)
2657 c890f66a Jose A. Lopes
cvEnodehooks =
2658 c890f66a Jose A. Lopes
  ("node",
2659 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEHOOKS,
2660 c890f66a Jose A. Lopes
   "Communication failure in hooks execution")
2661 1c31b263 Jose A. Lopes
2662 c890f66a Jose A. Lopes
cvEnodehv :: (String, String, String)
2663 c890f66a Jose A. Lopes
cvEnodehv =
2664 c890f66a Jose A. Lopes
  ("node",
2665 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEHV,
2666 c890f66a Jose A. Lopes
   "Hypervisor parameters verification failure")
2667 df726590 Jose A. Lopes
2668 c890f66a Jose A. Lopes
cvEnodelvm :: (String, String, String)
2669 c890f66a Jose A. Lopes
cvEnodelvm =
2670 c890f66a Jose A. Lopes
  ("node",
2671 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODELVM,
2672 c890f66a Jose A. Lopes
   "LVM-related node error")
2673 df726590 Jose A. Lopes
2674 c890f66a Jose A. Lopes
cvEnoden1 :: (String, String, String)
2675 c890f66a Jose A. Lopes
cvEnoden1 =
2676 c890f66a Jose A. Lopes
  ("node",
2677 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEN1,
2678 c890f66a Jose A. Lopes
   "Not enough memory to accommodate instance failovers")
2679 df726590 Jose A. Lopes
2680 c890f66a Jose A. Lopes
cvEnodenet :: (String, String, String)
2681 c890f66a Jose A. Lopes
cvEnodenet =
2682 c890f66a Jose A. Lopes
  ("node",
2683 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODENET,
2684 c890f66a Jose A. Lopes
   "Network-related node error")
2685 df726590 Jose A. Lopes
2686 c890f66a Jose A. Lopes
cvEnodeoobpath :: (String, String, String)
2687 c890f66a Jose A. Lopes
cvEnodeoobpath =
2688 c890f66a Jose A. Lopes
  ("node",
2689 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEOOBPATH,
2690 c890f66a Jose A. Lopes
   "Invalid Out Of Band path")
2691 df726590 Jose A. Lopes
2692 c890f66a Jose A. Lopes
cvEnodeorphaninstance :: (String, String, String)
2693 c890f66a Jose A. Lopes
cvEnodeorphaninstance =
2694 c890f66a Jose A. Lopes
  ("node",
2695 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEORPHANINSTANCE,
2696 c890f66a Jose A. Lopes
   "Unknown intance running on a node")
2697 df726590 Jose A. Lopes
2698 c890f66a Jose A. Lopes
cvEnodeorphanlv :: (String, String, String)
2699 c890f66a Jose A. Lopes
cvEnodeorphanlv =
2700 c890f66a Jose A. Lopes
  ("node",
2701 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEORPHANLV,
2702 c890f66a Jose A. Lopes
   "Unknown LVM logical volume")
2703 df726590 Jose A. Lopes
2704 c890f66a Jose A. Lopes
cvEnodeos :: (String, String, String)
2705 c890f66a Jose A. Lopes
cvEnodeos =
2706 c890f66a Jose A. Lopes
  ("node",
2707 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEOS,
2708 c890f66a Jose A. Lopes
   "OS-related node error")
2709 7236533e Jose A. Lopes
2710 c890f66a Jose A. Lopes
cvEnoderpc :: (String, String, String)
2711 c890f66a Jose A. Lopes
cvEnoderpc =
2712 c890f66a Jose A. Lopes
  ("node",
2713 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODERPC,
2714 c890f66a Jose A. Lopes
   "Error during connection to the primary node of an instance")
2715 7236533e Jose A. Lopes
2716 c890f66a Jose A. Lopes
cvEnodesetup :: (String, String, String)
2717 c890f66a Jose A. Lopes
cvEnodesetup =
2718 c890f66a Jose A. Lopes
  ("node",
2719 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODESETUP,
2720 c890f66a Jose A. Lopes
   "Node setup error")
2721 7236533e Jose A. Lopes
2722 c890f66a Jose A. Lopes
cvEnodesharedfilestoragepathunusable :: (String, String, String)
2723 c890f66a Jose A. Lopes
cvEnodesharedfilestoragepathunusable =
2724 c890f66a Jose A. Lopes
  ("node",
2725 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODESHAREDFILESTORAGEPATHUNUSABLE,
2726 c890f66a Jose A. Lopes
   "Shared file storage path unusable")
2727 7236533e Jose A. Lopes
2728 c890f66a Jose A. Lopes
cvEnodessh :: (String, String, String)
2729 c890f66a Jose A. Lopes
cvEnodessh =
2730 c890f66a Jose A. Lopes
  ("node",
2731 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODESSH,
2732 c890f66a Jose A. Lopes
   "SSH-related node error")
2733 7236533e Jose A. Lopes
2734 c890f66a Jose A. Lopes
cvEnodetime :: (String, String, String)
2735 c890f66a Jose A. Lopes
cvEnodetime =
2736 c890f66a Jose A. Lopes
  ("node",
2737 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODETIME,
2738 c890f66a Jose A. Lopes
   "Node returned invalid time")
2739 7236533e Jose A. Lopes
2740 c890f66a Jose A. Lopes
cvEnodeuserscripts :: (String, String, String)
2741 c890f66a Jose A. Lopes
cvEnodeuserscripts =
2742 c890f66a Jose A. Lopes
  ("node",
2743 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEUSERSCRIPTS,
2744 c890f66a Jose A. Lopes
   "User scripts not present or not executable")
2745 7236533e Jose A. Lopes
2746 c890f66a Jose A. Lopes
cvEnodeversion :: (String, String, String)
2747 c890f66a Jose A. Lopes
cvEnodeversion =
2748 c890f66a Jose A. Lopes
  ("node",
2749 c890f66a Jose A. Lopes
   Types.cVErrorCodeToRaw CvENODEVERSION,
2750 c890f66a Jose A. Lopes
   "Protocol version mismatch or Ganeti version mismatch")
2751 85c48fbb Jose A. Lopes
2752 c890f66a Jose A. Lopes
cvAllEcodes :: FrozenSet (String, String, String)
2753 c890f66a Jose A. Lopes
cvAllEcodes =
2754 c890f66a Jose A. Lopes
  ConstantUtils.mkSet
2755 c890f66a Jose A. Lopes
  [cvEclustercert,
2756 c890f66a Jose A. Lopes
   cvEclustercfg,
2757 c890f66a Jose A. Lopes
   cvEclusterdanglinginst,
2758 c890f66a Jose A. Lopes
   cvEclusterdanglingnodes,
2759 c890f66a Jose A. Lopes
   cvEclusterfilecheck,
2760 c890f66a Jose A. Lopes
   cvEgroupdifferentpvsize,
2761 c890f66a Jose A. Lopes
   cvEinstancebadnode,
2762 c890f66a Jose A. Lopes
   cvEinstancedown,
2763 c890f66a Jose A. Lopes
   cvEinstancefaultydisk,
2764 c890f66a Jose A. Lopes
   cvEinstancelayout,
2765 c890f66a Jose A. Lopes
   cvEinstancemissingcfgparameter,
2766 c890f66a Jose A. Lopes
   cvEinstancemissingdisk,
2767 c890f66a Jose A. Lopes
   cvEinstancepolicy,
2768 c890f66a Jose A. Lopes
   cvEinstancesplitgroups,
2769 c890f66a Jose A. Lopes
   cvEinstanceunsuitablenode,
2770 c890f66a Jose A. Lopes
   cvEinstancewrongnode,
2771 c890f66a Jose A. Lopes
   cvEnodedrbd,
2772 c890f66a Jose A. Lopes
   cvEnodedrbdhelper,
2773 c890f66a Jose A. Lopes
   cvEnodedrbdversion,
2774 c890f66a Jose A. Lopes
   cvEnodefilecheck,
2775 c890f66a Jose A. Lopes
   cvEnodefilestoragepaths,
2776 c890f66a Jose A. Lopes
   cvEnodefilestoragepathunusable,
2777 c890f66a Jose A. Lopes
   cvEnodehooks,
2778 c890f66a Jose A. Lopes
   cvEnodehv,
2779 c890f66a Jose A. Lopes
   cvEnodelvm,
2780 c890f66a Jose A. Lopes
   cvEnoden1,
2781 c890f66a Jose A. Lopes
   cvEnodenet,
2782 c890f66a Jose A. Lopes
   cvEnodeoobpath,
2783 c890f66a Jose A. Lopes
   cvEnodeorphaninstance,
2784 c890f66a Jose A. Lopes
   cvEnodeorphanlv,
2785 c890f66a Jose A. Lopes
   cvEnodeos,
2786 c890f66a Jose A. Lopes
   cvEnoderpc,
2787 c890f66a Jose A. Lopes
   cvEnodesetup,
2788 c890f66a Jose A. Lopes
   cvEnodesharedfilestoragepathunusable,
2789 c890f66a Jose A. Lopes
   cvEnodessh,
2790 c890f66a Jose A. Lopes
   cvEnodetime,
2791 c890f66a Jose A. Lopes
   cvEnodeuserscripts,
2792 c890f66a Jose A. Lopes
   cvEnodeversion]
2793 85c48fbb Jose A. Lopes
2794 c890f66a Jose A. Lopes
cvAllEcodesStrings :: FrozenSet String
2795 c890f66a Jose A. Lopes
cvAllEcodesStrings =
2796 c890f66a Jose A. Lopes
  ConstantUtils.mkSet $ map Types.cVErrorCodeToRaw [minBound..]
2797 85c48fbb Jose A. Lopes
2798 75463b9a Jose A. Lopes
-- * Node verify constants
2799 75463b9a Jose A. Lopes
2800 75463b9a Jose A. Lopes
nvBridges :: String
2801 75463b9a Jose A. Lopes
nvBridges = "bridges"
2802 75463b9a Jose A. Lopes
2803 75463b9a Jose A. Lopes
nvDrbdhelper :: String
2804 75463b9a Jose A. Lopes
nvDrbdhelper = "drbd-helper"
2805 75463b9a Jose A. Lopes
2806 75463b9a Jose A. Lopes
nvDrbdversion :: String
2807 75463b9a Jose A. Lopes
nvDrbdversion = "drbd-version"
2808 75463b9a Jose A. Lopes
2809 75463b9a Jose A. Lopes
nvDrbdlist :: String
2810 75463b9a Jose A. Lopes
nvDrbdlist = "drbd-list"
2811 75463b9a Jose A. Lopes
2812 75463b9a Jose A. Lopes
nvExclusivepvs :: String
2813 75463b9a Jose A. Lopes
nvExclusivepvs = "exclusive-pvs"
2814 75463b9a Jose A. Lopes
2815 75463b9a Jose A. Lopes
nvFilelist :: String
2816 75463b9a Jose A. Lopes
nvFilelist = "filelist"
2817 75463b9a Jose A. Lopes
2818 75463b9a Jose A. Lopes
nvAcceptedStoragePaths :: String
2819 75463b9a Jose A. Lopes
nvAcceptedStoragePaths = "allowed-file-storage-paths"
2820 75463b9a Jose A. Lopes
2821 75463b9a Jose A. Lopes
nvFileStoragePath :: String
2822 75463b9a Jose A. Lopes
nvFileStoragePath = "file-storage-path"
2823 75463b9a Jose A. Lopes
2824 75463b9a Jose A. Lopes
nvSharedFileStoragePath :: String
2825 75463b9a Jose A. Lopes
nvSharedFileStoragePath = "shared-file-storage-path"
2826 75463b9a Jose A. Lopes
2827 75463b9a Jose A. Lopes
nvHvinfo :: String
2828 75463b9a Jose A. Lopes
nvHvinfo = "hvinfo"
2829 75463b9a Jose A. Lopes
2830 75463b9a Jose A. Lopes
nvHvparams :: String
2831 75463b9a Jose A. Lopes
nvHvparams = "hvparms"
2832 75463b9a Jose A. Lopes
2833 75463b9a Jose A. Lopes
nvHypervisor :: String
2834 75463b9a Jose A. Lopes
nvHypervisor = "hypervisor"
2835 75463b9a Jose A. Lopes
2836 75463b9a Jose A. Lopes
nvInstancelist :: String
2837 75463b9a Jose A. Lopes
nvInstancelist = "instancelist"
2838 75463b9a Jose A. Lopes
2839 75463b9a Jose A. Lopes
nvLvlist :: String
2840 75463b9a Jose A. Lopes
nvLvlist = "lvlist"
2841 75463b9a Jose A. Lopes
2842 75463b9a Jose A. Lopes
nvMasterip :: String
2843 75463b9a Jose A. Lopes
nvMasterip = "master-ip"
2844 75463b9a Jose A. Lopes
2845 75463b9a Jose A. Lopes
nvNodelist :: String
2846 75463b9a Jose A. Lopes
nvNodelist = "nodelist"
2847 75463b9a Jose A. Lopes
2848 75463b9a Jose A. Lopes
nvNodenettest :: String
2849 75463b9a Jose A. Lopes
nvNodenettest = "node-net-test"
2850 75463b9a Jose A. Lopes
2851 75463b9a Jose A. Lopes
nvNodesetup :: String
2852 75463b9a Jose A. Lopes
nvNodesetup = "nodesetup"
2853 75463b9a Jose A. Lopes
2854 75463b9a Jose A. Lopes
nvOobPaths :: String
2855 75463b9a Jose A. Lopes
nvOobPaths = "oob-paths"
2856 75463b9a Jose A. Lopes
2857 75463b9a Jose A. Lopes
nvOslist :: String
2858 75463b9a Jose A. Lopes
nvOslist = "oslist"
2859 75463b9a Jose A. Lopes
2860 75463b9a Jose A. Lopes
nvPvlist :: String
2861 75463b9a Jose A. Lopes
nvPvlist = "pvlist"
2862 75463b9a Jose A. Lopes
2863 75463b9a Jose A. Lopes
nvTime :: String
2864 75463b9a Jose A. Lopes
nvTime = "time"
2865 75463b9a Jose A. Lopes
2866 75463b9a Jose A. Lopes
nvUserscripts :: String
2867 75463b9a Jose A. Lopes
nvUserscripts = "user-scripts"
2868 75463b9a Jose A. Lopes
2869 75463b9a Jose A. Lopes
nvVersion :: String
2870 75463b9a Jose A. Lopes
nvVersion = "version"
2871 75463b9a Jose A. Lopes
2872 75463b9a Jose A. Lopes
nvVglist :: String
2873 75463b9a Jose A. Lopes
nvVglist = "vglist"
2874 75463b9a Jose A. Lopes
2875 75463b9a Jose A. Lopes
nvVmnodes :: String
2876 75463b9a Jose A. Lopes
nvVmnodes = "vmnodes"
2877 75463b9a Jose A. Lopes
2878 c890f66a Jose A. Lopes
-- * Instance status
2879 85c48fbb Jose A. Lopes
2880 c890f66a Jose A. Lopes
inststAdmindown :: String
2881 c890f66a Jose A. Lopes
inststAdmindown = Types.instanceStatusToRaw StatusDown
2882 85c48fbb Jose A. Lopes
2883 c890f66a Jose A. Lopes
inststAdminoffline :: String
2884 c890f66a Jose A. Lopes
inststAdminoffline = Types.instanceStatusToRaw StatusOffline
2885 85c48fbb Jose A. Lopes
2886 c890f66a Jose A. Lopes
inststErrordown :: String
2887 c890f66a Jose A. Lopes
inststErrordown = Types.instanceStatusToRaw ErrorDown
2888 85c48fbb Jose A. Lopes
2889 c890f66a Jose A. Lopes
inststErrorup :: String
2890 c890f66a Jose A. Lopes
inststErrorup = Types.instanceStatusToRaw ErrorUp
2891 85c48fbb Jose A. Lopes
2892 c890f66a Jose A. Lopes
inststNodedown :: String
2893 c890f66a Jose A. Lopes
inststNodedown = Types.instanceStatusToRaw NodeDown
2894 85c48fbb Jose A. Lopes
2895 c890f66a Jose A. Lopes
inststNodeoffline :: String
2896 c890f66a Jose A. Lopes
inststNodeoffline = Types.instanceStatusToRaw NodeOffline
2897 37248170 Jose A. Lopes
2898 c890f66a Jose A. Lopes
inststRunning :: String
2899 c890f66a Jose A. Lopes
inststRunning = Types.instanceStatusToRaw Running
2900 37248170 Jose A. Lopes
2901 c890f66a Jose A. Lopes
inststWrongnode :: String
2902 c890f66a Jose A. Lopes
inststWrongnode = Types.instanceStatusToRaw WrongNode
2903 37248170 Jose A. Lopes
2904 c890f66a Jose A. Lopes
inststAll :: FrozenSet String
2905 c890f66a Jose A. Lopes
inststAll = ConstantUtils.mkSet $ map Types.instanceStatusToRaw [minBound..]
2906 37248170 Jose A. Lopes
2907 c890f66a Jose A. Lopes
-- * Admin states
2908 37248170 Jose A. Lopes
2909 c890f66a Jose A. Lopes
adminstDown :: String
2910 c890f66a Jose A. Lopes
adminstDown = Types.adminStateToRaw AdminDown
2911 37248170 Jose A. Lopes
2912 c890f66a Jose A. Lopes
adminstOffline :: String
2913 c890f66a Jose A. Lopes
adminstOffline = Types.adminStateToRaw AdminOffline
2914 37248170 Jose A. Lopes
2915 c890f66a Jose A. Lopes
adminstUp :: String
2916 c890f66a Jose A. Lopes
adminstUp = Types.adminStateToRaw AdminUp
2917 37248170 Jose A. Lopes
2918 c890f66a Jose A. Lopes
adminstAll :: FrozenSet String
2919 c890f66a Jose A. Lopes
adminstAll = ConstantUtils.mkSet $ map Types.adminStateToRaw [minBound..]
2920 37248170 Jose A. Lopes
2921 c890f66a Jose A. Lopes
-- * Node roles
2922 85c48fbb Jose A. Lopes
2923 c890f66a Jose A. Lopes
nrDrained :: String
2924 c890f66a Jose A. Lopes
nrDrained = Types.nodeRoleToRaw NRDrained
2925 85c48fbb Jose A. Lopes
2926 c890f66a Jose A. Lopes
nrMaster :: String
2927 c890f66a Jose A. Lopes
nrMaster = Types.nodeRoleToRaw NRMaster
2928 85c48fbb Jose A. Lopes
2929 c890f66a Jose A. Lopes
nrMcandidate :: String
2930 c890f66a Jose A. Lopes
nrMcandidate = Types.nodeRoleToRaw NRCandidate
2931 85c48fbb Jose A. Lopes
2932 c890f66a Jose A. Lopes
nrOffline :: String
2933 c890f66a Jose A. Lopes
nrOffline = Types.nodeRoleToRaw NROffline
2934 85c48fbb Jose A. Lopes
2935 c890f66a Jose A. Lopes
nrRegular :: String
2936 c890f66a Jose A. Lopes
nrRegular = Types.nodeRoleToRaw NRRegular
2937 85c48fbb Jose A. Lopes
2938 c890f66a Jose A. Lopes
nrAll :: FrozenSet String
2939 c890f66a Jose A. Lopes
nrAll = ConstantUtils.mkSet $ map Types.nodeRoleToRaw [minBound..]
2940 85c48fbb Jose A. Lopes
2941 b964f067 Jose A. Lopes
-- * SSL certificate check constants (in days)
2942 b964f067 Jose A. Lopes
2943 b964f067 Jose A. Lopes
sslCertExpirationError :: Int
2944 b964f067 Jose A. Lopes
sslCertExpirationError = 7
2945 b964f067 Jose A. Lopes
2946 b964f067 Jose A. Lopes
sslCertExpirationWarn :: Int
2947 b964f067 Jose A. Lopes
sslCertExpirationWarn = 30
2948 b964f067 Jose A. Lopes
2949 c890f66a Jose A. Lopes
-- * Allocator framework constants
2950 85c48fbb Jose A. Lopes
2951 c890f66a Jose A. Lopes
iallocatorVersion :: Int
2952 c890f66a Jose A. Lopes
iallocatorVersion = 2
2953 85c48fbb Jose A. Lopes
2954 c890f66a Jose A. Lopes
iallocatorDirIn :: String
2955 c890f66a Jose A. Lopes
iallocatorDirIn = Types.iAllocatorTestDirToRaw IAllocatorDirIn
2956 85c48fbb Jose A. Lopes
2957 c890f66a Jose A. Lopes
iallocatorDirOut :: String
2958 c890f66a Jose A. Lopes
iallocatorDirOut = Types.iAllocatorTestDirToRaw IAllocatorDirOut
2959 85c48fbb Jose A. Lopes
2960 c890f66a Jose A. Lopes
validIallocatorDirections :: FrozenSet String
2961 c890f66a Jose A. Lopes
validIallocatorDirections =
2962 c890f66a Jose A. Lopes
  ConstantUtils.mkSet $ map Types.iAllocatorTestDirToRaw [minBound..]
2963 85c48fbb Jose A. Lopes
2964 c890f66a Jose A. Lopes
iallocatorModeAlloc :: String
2965 c890f66a Jose A. Lopes
iallocatorModeAlloc = Types.iAllocatorModeToRaw IAllocatorAlloc
2966 85c48fbb Jose A. Lopes
2967 c890f66a Jose A. Lopes
iallocatorModeChgGroup :: String
2968 c890f66a Jose A. Lopes
iallocatorModeChgGroup = Types.iAllocatorModeToRaw IAllocatorChangeGroup
2969 85c48fbb Jose A. Lopes
2970 c890f66a Jose A. Lopes
iallocatorModeMultiAlloc :: String
2971 c890f66a Jose A. Lopes
iallocatorModeMultiAlloc = Types.iAllocatorModeToRaw IAllocatorMultiAlloc
2972 85c48fbb Jose A. Lopes
2973 c890f66a Jose A. Lopes
iallocatorModeNodeEvac :: String
2974 c890f66a Jose A. Lopes
iallocatorModeNodeEvac = Types.iAllocatorModeToRaw IAllocatorNodeEvac
2975 5867e439 Jose A. Lopes
2976 c890f66a Jose A. Lopes
iallocatorModeReloc :: String
2977 c890f66a Jose A. Lopes
iallocatorModeReloc = Types.iAllocatorModeToRaw IAllocatorReloc
2978 5867e439 Jose A. Lopes
2979 c890f66a Jose A. Lopes
validIallocatorModes :: FrozenSet String
2980 c890f66a Jose A. Lopes
validIallocatorModes =
2981 c890f66a Jose A. Lopes
  ConstantUtils.mkSet $ map Types.iAllocatorModeToRaw [minBound..]
2982 5867e439 Jose A. Lopes
2983 c890f66a Jose A. Lopes
iallocatorSearchPath :: [String]
2984 c890f66a Jose A. Lopes
iallocatorSearchPath = AutoConf.iallocatorSearchPath
2985 5867e439 Jose A. Lopes
2986 c890f66a Jose A. Lopes
defaultIallocatorShortcut :: String
2987 c890f66a Jose A. Lopes
defaultIallocatorShortcut = "."
2988 85c48fbb Jose A. Lopes
2989 c890f66a Jose A. Lopes
-- * Node evacuation
2990 85c48fbb Jose A. Lopes
2991 c890f66a Jose A. Lopes
nodeEvacPri :: String
2992 d067f40b Jose A. Lopes
nodeEvacPri = Types.evacModeToRaw ChangePrimary
2993 85c48fbb Jose A. Lopes
2994 c890f66a Jose A. Lopes
nodeEvacSec :: String
2995 d067f40b Jose A. Lopes
nodeEvacSec = Types.evacModeToRaw ChangeSecondary
2996 85c48fbb Jose A. Lopes
2997 c890f66a Jose A. Lopes
nodeEvacAll :: String
2998 d067f40b Jose A. Lopes
nodeEvacAll = Types.evacModeToRaw ChangeAll
2999 85c48fbb Jose A. Lopes
3000 c890f66a Jose A. Lopes
nodeEvacModes :: FrozenSet String
3001 d067f40b Jose A. Lopes
nodeEvacModes = ConstantUtils.mkSet $ map Types.evacModeToRaw [minBound..]
3002 85c48fbb Jose A. Lopes
3003 b964f067 Jose A. Lopes
-- * Job queue
3004 b964f067 Jose A. Lopes
3005 b964f067 Jose A. Lopes
jobQueueVersion :: Int
3006 b964f067 Jose A. Lopes
jobQueueVersion = 1
3007 b964f067 Jose A. Lopes
3008 b964f067 Jose A. Lopes
jobQueueSizeHardLimit :: Int
3009 b964f067 Jose A. Lopes
jobQueueSizeHardLimit = 5000
3010 b964f067 Jose A. Lopes
3011 b964f067 Jose A. Lopes
jobQueueFilesPerms :: Int
3012 b964f067 Jose A. Lopes
jobQueueFilesPerms = 0o640
3013 b964f067 Jose A. Lopes
3014 b964f067 Jose A. Lopes
-- * Unchanged job return
3015 b964f067 Jose A. Lopes
3016 b964f067 Jose A. Lopes
jobNotchanged :: String
3017 b964f067 Jose A. Lopes
jobNotchanged = "nochange"
3018 b964f067 Jose A. Lopes
3019 c890f66a Jose A. Lopes
-- * Job status
3020 85c48fbb Jose A. Lopes
3021 c890f66a Jose A. Lopes
jobStatusQueued :: String
3022 c890f66a Jose A. Lopes
jobStatusQueued = Types.jobStatusToRaw JOB_STATUS_QUEUED
3023 85c48fbb Jose A. Lopes
3024 c890f66a Jose A. Lopes
jobStatusWaiting :: String
3025 c890f66a Jose A. Lopes
jobStatusWaiting = Types.jobStatusToRaw JOB_STATUS_WAITING
3026 85c48fbb Jose A. Lopes
3027 c890f66a Jose A. Lopes
jobStatusCanceling :: String
3028 c890f66a Jose A. Lopes
jobStatusCanceling = Types.jobStatusToRaw JOB_STATUS_CANCELING
3029 85c48fbb Jose A. Lopes
3030 c890f66a Jose A. Lopes
jobStatusRunning :: String
3031 c890f66a Jose A. Lopes
jobStatusRunning = Types.jobStatusToRaw JOB_STATUS_RUNNING
3032 85c48fbb Jose A. Lopes
3033 c890f66a Jose A. Lopes
jobStatusCanceled :: String
3034 c890f66a Jose A. Lopes
jobStatusCanceled = Types.jobStatusToRaw JOB_STATUS_CANCELED
3035 43a9e860 Jose A. Lopes
3036 c890f66a Jose A. Lopes
jobStatusSuccess :: String
3037 c890f66a Jose A. Lopes
jobStatusSuccess = Types.jobStatusToRaw JOB_STATUS_SUCCESS
3038 43a9e860 Jose A. Lopes
3039 c890f66a Jose A. Lopes
jobStatusError :: String
3040 c890f66a Jose A. Lopes
jobStatusError = Types.jobStatusToRaw JOB_STATUS_ERROR
3041 43a9e860 Jose A. Lopes
3042 c890f66a Jose A. Lopes
jobsPending :: FrozenSet String
3043 c890f66a Jose A. Lopes
jobsPending =
3044 c890f66a Jose A. Lopes
  ConstantUtils.mkSet [jobStatusQueued, jobStatusWaiting, jobStatusCanceling]
3045 43a9e860 Jose A. Lopes
3046 c890f66a Jose A. Lopes
jobsFinalized :: FrozenSet String
3047 c890f66a Jose A. Lopes
jobsFinalized =
3048 c890f66a Jose A. Lopes
  ConstantUtils.mkSet $ map Types.finalizedJobStatusToRaw [minBound..]
3049 43a9e860 Jose A. Lopes
3050 c890f66a Jose A. Lopes
jobStatusAll :: FrozenSet String
3051 c890f66a Jose A. Lopes
jobStatusAll = ConstantUtils.mkSet $ map Types.jobStatusToRaw [minBound..]
3052 43a9e860 Jose A. Lopes
3053 c890f66a Jose A. Lopes
-- * OpCode status
3054 43a9e860 Jose A. Lopes
3055 c890f66a Jose A. Lopes
-- ** Not yet finalized opcodes
3056 43a9e860 Jose A. Lopes
3057 c890f66a Jose A. Lopes
opStatusCanceling :: String
3058 c890f66a Jose A. Lopes
opStatusCanceling = "canceling"
3059 85c48fbb Jose A. Lopes
3060 c890f66a Jose A. Lopes
opStatusQueued :: String
3061 c890f66a Jose A. Lopes
opStatusQueued = "queued"
3062 85c48fbb Jose A. Lopes
3063 c890f66a Jose A. Lopes
opStatusRunning :: String
3064 c890f66a Jose A. Lopes
opStatusRunning = "running"
3065 85c48fbb Jose A. Lopes
3066 c890f66a Jose A. Lopes
opStatusWaiting :: String
3067 c890f66a Jose A. Lopes
opStatusWaiting = "waiting"
3068 85c48fbb Jose A. Lopes
3069 c890f66a Jose A. Lopes
-- ** Finalized opcodes
3070 85c48fbb Jose A. Lopes
3071 c890f66a Jose A. Lopes
opStatusCanceled :: String
3072 c890f66a Jose A. Lopes
opStatusCanceled = "canceled"
3073 85c48fbb Jose A. Lopes
3074 c890f66a Jose A. Lopes
opStatusError :: String
3075 c890f66a Jose A. Lopes
opStatusError = "error"
3076 85c48fbb Jose A. Lopes
3077 c890f66a Jose A. Lopes
opStatusSuccess :: String
3078 c890f66a Jose A. Lopes
opStatusSuccess = "success"
3079 85c48fbb Jose A. Lopes
3080 c890f66a Jose A. Lopes
opsFinalized :: FrozenSet String
3081 c890f66a Jose A. Lopes
opsFinalized =
3082 c890f66a Jose A. Lopes
  ConstantUtils.mkSet [opStatusCanceled, opStatusError, opStatusSuccess]
3083 85c48fbb Jose A. Lopes
3084 c890f66a Jose A. Lopes
-- * OpCode priority
3085 85c48fbb Jose A. Lopes
3086 c890f66a Jose A. Lopes
opPrioLowest :: Int
3087 c890f66a Jose A. Lopes
opPrioLowest = 19
3088 85c48fbb Jose A. Lopes
3089 c890f66a Jose A. Lopes
opPrioHighest :: Int
3090 c890f66a Jose A. Lopes
opPrioHighest = -20
3091 85c48fbb Jose A. Lopes
3092 c890f66a Jose A. Lopes
opPrioLow :: Int
3093 c890f66a Jose A. Lopes
opPrioLow = Types.opSubmitPriorityToRaw OpPrioLow
3094 85c48fbb Jose A. Lopes
3095 c890f66a Jose A. Lopes
opPrioNormal :: Int
3096 c890f66a Jose A. Lopes
opPrioNormal = Types.opSubmitPriorityToRaw OpPrioNormal
3097 85c48fbb Jose A. Lopes
3098 c890f66a Jose A. Lopes
opPrioHigh :: Int
3099 c890f66a Jose A. Lopes
opPrioHigh = Types.opSubmitPriorityToRaw OpPrioHigh
3100 5867e439 Jose A. Lopes
3101 c890f66a Jose A. Lopes
opPrioSubmitValid :: FrozenSet Int
3102 c890f66a Jose A. Lopes
opPrioSubmitValid = ConstantUtils.mkSet [opPrioLow, opPrioNormal, opPrioHigh]
3103 5867e439 Jose A. Lopes
3104 c890f66a Jose A. Lopes
opPrioDefault :: Int
3105 c890f66a Jose A. Lopes
opPrioDefault = opPrioNormal
3106 5867e439 Jose A. Lopes
3107 b964f067 Jose A. Lopes
-- * Lock recalculate mode
3108 b964f067 Jose A. Lopes
3109 b964f067 Jose A. Lopes
locksAppend :: String
3110 b964f067 Jose A. Lopes
locksAppend = "append"
3111 b964f067 Jose A. Lopes
3112 b964f067 Jose A. Lopes
locksReplace :: String
3113 b964f067 Jose A. Lopes
locksReplace = "replace"
3114 b964f067 Jose A. Lopes
3115 b964f067 Jose A. Lopes
-- * Lock timeout
3116 b964f067 Jose A. Lopes
--
3117 b964f067 Jose A. Lopes
-- The lock timeout (sum) before we transition into blocking acquire
3118 b964f067 Jose A. Lopes
-- (this can still be reset by priority change).  Computed as max time
3119 b964f067 Jose A. Lopes
-- (10 hours) before we should actually go into blocking acquire,
3120 b964f067 Jose A. Lopes
-- given that we start from the default priority level.
3121 b964f067 Jose A. Lopes
3122 b964f067 Jose A. Lopes
lockAttemptsMaxwait :: Double
3123 b964f067 Jose A. Lopes
lockAttemptsMaxwait = 15.0
3124 b964f067 Jose A. Lopes
3125 b964f067 Jose A. Lopes
lockAttemptsMinwait :: Double
3126 b964f067 Jose A. Lopes
lockAttemptsMinwait = 1.0
3127 b964f067 Jose A. Lopes
3128 b964f067 Jose A. Lopes
lockAttemptsTimeout :: Int
3129 b964f067 Jose A. Lopes
lockAttemptsTimeout = (10 * 3600) `div` (opPrioDefault - opPrioHighest)
3130 b964f067 Jose A. Lopes
3131 c890f66a Jose A. Lopes
-- * Execution log types
3132 5867e439 Jose A. Lopes
3133 c890f66a Jose A. Lopes
elogMessage :: String
3134 c890f66a Jose A. Lopes
elogMessage = Types.eLogTypeToRaw ELogMessage
3135 5867e439 Jose A. Lopes
3136 c890f66a Jose A. Lopes
elogRemoteImport :: String
3137 c890f66a Jose A. Lopes
elogRemoteImport = Types.eLogTypeToRaw ELogRemoteImport
3138 5867e439 Jose A. Lopes
3139 c890f66a Jose A. Lopes
elogJqueueTest :: String
3140 c890f66a Jose A. Lopes
elogJqueueTest = Types.eLogTypeToRaw ELogJqueueTest
3141 5867e439 Jose A. Lopes
3142 385b2959 Jose A. Lopes
-- * /etc/hosts modification
3143 385b2959 Jose A. Lopes
3144 385b2959 Jose A. Lopes
etcHostsAdd :: String
3145 385b2959 Jose A. Lopes
etcHostsAdd = "add"
3146 385b2959 Jose A. Lopes
3147 385b2959 Jose A. Lopes
etcHostsRemove :: String
3148 385b2959 Jose A. Lopes
etcHostsRemove = "remove"
3149 385b2959 Jose A. Lopes
3150 385b2959 Jose A. Lopes
-- * Job queue test
3151 385b2959 Jose A. Lopes
3152 385b2959 Jose A. Lopes
jqtMsgprefix :: String
3153 385b2959 Jose A. Lopes
jqtMsgprefix = "TESTMSG="
3154 385b2959 Jose A. Lopes
3155 385b2959 Jose A. Lopes
jqtExec :: String
3156 385b2959 Jose A. Lopes
jqtExec = "exec"
3157 385b2959 Jose A. Lopes
3158 385b2959 Jose A. Lopes
jqtExpandnames :: String
3159 385b2959 Jose A. Lopes
jqtExpandnames = "expandnames"
3160 385b2959 Jose A. Lopes
3161 385b2959 Jose A. Lopes
jqtLogmsg :: String
3162 385b2959 Jose A. Lopes
jqtLogmsg = "logmsg"
3163 385b2959 Jose A. Lopes
3164 385b2959 Jose A. Lopes
jqtStartmsg :: String
3165 385b2959 Jose A. Lopes
jqtStartmsg = "startmsg"
3166 385b2959 Jose A. Lopes
3167 385b2959 Jose A. Lopes
jqtAll :: FrozenSet String
3168 385b2959 Jose A. Lopes
jqtAll = ConstantUtils.mkSet [jqtExec, jqtExpandnames, jqtLogmsg, jqtStartmsg]
3169 385b2959 Jose A. Lopes
3170 8799fb9d Jose A. Lopes
-- * Query resources
3171 8799fb9d Jose A. Lopes
3172 8799fb9d Jose A. Lopes
qrCluster :: String
3173 8799fb9d Jose A. Lopes
qrCluster = "cluster"
3174 8799fb9d Jose A. Lopes
3175 8799fb9d Jose A. Lopes
qrExport :: String
3176 8799fb9d Jose A. Lopes
qrExport = "export"
3177 8799fb9d Jose A. Lopes
3178 8799fb9d Jose A. Lopes
qrExtstorage :: String
3179 8799fb9d Jose A. Lopes
qrExtstorage = "extstorage"
3180 8799fb9d Jose A. Lopes
3181 8799fb9d Jose A. Lopes
qrGroup :: String
3182 8799fb9d Jose A. Lopes
qrGroup = "group"
3183 8799fb9d Jose A. Lopes
3184 8799fb9d Jose A. Lopes
qrInstance :: String
3185 8799fb9d Jose A. Lopes
qrInstance = "instance"
3186 8799fb9d Jose A. Lopes
3187 8799fb9d Jose A. Lopes
qrJob :: String
3188 8799fb9d Jose A. Lopes
qrJob = "job"
3189 8799fb9d Jose A. Lopes
3190 8799fb9d Jose A. Lopes
qrLock :: String
3191 8799fb9d Jose A. Lopes
qrLock = "lock"
3192 8799fb9d Jose A. Lopes
3193 8799fb9d Jose A. Lopes
qrNetwork :: String
3194 8799fb9d Jose A. Lopes
qrNetwork = "network"
3195 8799fb9d Jose A. Lopes
3196 8799fb9d Jose A. Lopes
qrNode :: String
3197 8799fb9d Jose A. Lopes
qrNode = "node"
3198 8799fb9d Jose A. Lopes
3199 8799fb9d Jose A. Lopes
qrOs :: String
3200 8799fb9d Jose A. Lopes
qrOs = "os"
3201 8799fb9d Jose A. Lopes
3202 8799fb9d Jose A. Lopes
-- | List of resources which can be queried using 'Ganeti.OpCodes.OpQuery'
3203 8799fb9d Jose A. Lopes
qrViaOp :: FrozenSet String
3204 8799fb9d Jose A. Lopes
qrViaOp =
3205 8799fb9d Jose A. Lopes
  ConstantUtils.mkSet [qrCluster,
3206 8799fb9d Jose A. Lopes
                       qrInstance,
3207 8799fb9d Jose A. Lopes
                       qrNode,
3208 8799fb9d Jose A. Lopes
                       qrGroup,
3209 8799fb9d Jose A. Lopes
                       qrOs,
3210 8799fb9d Jose A. Lopes
                       qrExport,
3211 8799fb9d Jose A. Lopes
                       qrNetwork,
3212 8799fb9d Jose A. Lopes
                       qrExtstorage]
3213 8799fb9d Jose A. Lopes
3214 8799fb9d Jose A. Lopes
-- | List of resources which can be queried using Local UniX Interface
3215 8799fb9d Jose A. Lopes
qrViaLuxi :: FrozenSet String
3216 8799fb9d Jose A. Lopes
qrViaLuxi = ConstantUtils.mkSet [qrLock, qrJob]
3217 8799fb9d Jose A. Lopes
3218 8799fb9d Jose A. Lopes
-- | List of resources which can be queried using RAPI
3219 8799fb9d Jose A. Lopes
qrViaRapi :: FrozenSet String
3220 8799fb9d Jose A. Lopes
qrViaRapi = qrViaLuxi
3221 8799fb9d Jose A. Lopes
3222 8799fb9d Jose A. Lopes
-- * Query field types
3223 8799fb9d Jose A. Lopes
3224 8799fb9d Jose A. Lopes
qftBool :: String
3225 8799fb9d Jose A. Lopes
qftBool = "bool"
3226 8799fb9d Jose A. Lopes
3227 8799fb9d Jose A. Lopes
qftNumber :: String
3228 8799fb9d Jose A. Lopes
qftNumber = "number"
3229 8799fb9d Jose A. Lopes
3230 8799fb9d Jose A. Lopes
qftOther :: String
3231 8799fb9d Jose A. Lopes
qftOther = "other"
3232 8799fb9d Jose A. Lopes
3233 8799fb9d Jose A. Lopes
qftText :: String
3234 8799fb9d Jose A. Lopes
qftText = "text"
3235 8799fb9d Jose A. Lopes
3236 8799fb9d Jose A. Lopes
qftTimestamp :: String
3237 8799fb9d Jose A. Lopes
qftTimestamp = "timestamp"
3238 8799fb9d Jose A. Lopes
3239 8799fb9d Jose A. Lopes
qftUnit :: String
3240 8799fb9d Jose A. Lopes
qftUnit = "unit"
3241 8799fb9d Jose A. Lopes
3242 8799fb9d Jose A. Lopes
qftUnknown :: String
3243 8799fb9d Jose A. Lopes
qftUnknown = "unknown"
3244 8799fb9d Jose A. Lopes
3245 8799fb9d Jose A. Lopes
qftAll :: FrozenSet String
3246 8799fb9d Jose A. Lopes
qftAll =
3247 8799fb9d Jose A. Lopes
  ConstantUtils.mkSet [qftBool,
3248 8799fb9d Jose A. Lopes
                       qftNumber,
3249 8799fb9d Jose A. Lopes
                       qftOther,
3250 8799fb9d Jose A. Lopes
                       qftText,
3251 8799fb9d Jose A. Lopes
                       qftTimestamp,
3252 8799fb9d Jose A. Lopes
                       qftUnit,
3253 8799fb9d Jose A. Lopes
                       qftUnknown]
3254 8799fb9d Jose A. Lopes
3255 8799fb9d Jose A. Lopes
-- * Query result field status
3256 8799fb9d Jose A. Lopes
--
3257 8799fb9d Jose A. Lopes
-- Don't change or reuse values as they're used by clients.
3258 8799fb9d Jose A. Lopes
--
3259 8799fb9d Jose A. Lopes
-- FIXME: link with 'Ganeti.Query.Language.ResultStatus'
3260 8799fb9d Jose A. Lopes
3261 8799fb9d Jose A. Lopes
-- | No data (e.g. RPC error), can be used instead of 'rsOffline'
3262 8799fb9d Jose A. Lopes
rsNodata :: Int
3263 8799fb9d Jose A. Lopes
rsNodata = 2
3264 8799fb9d Jose A. Lopes
3265 8799fb9d Jose A. Lopes
rsNormal :: Int
3266 8799fb9d Jose A. Lopes
rsNormal = 0
3267 8799fb9d Jose A. Lopes
3268 8799fb9d Jose A. Lopes
-- | Resource marked offline
3269 8799fb9d Jose A. Lopes
rsOffline :: Int
3270 8799fb9d Jose A. Lopes
rsOffline = 4
3271 8799fb9d Jose A. Lopes
3272 8799fb9d Jose A. Lopes
-- | Value unavailable/unsupported for item; if this field is
3273 8799fb9d Jose A. Lopes
-- supported but we cannot get the data for the moment, 'rsNodata' or
3274 8799fb9d Jose A. Lopes
-- 'rsOffline' should be used
3275 8799fb9d Jose A. Lopes
rsUnavail :: Int
3276 8799fb9d Jose A. Lopes
rsUnavail = 3
3277 8799fb9d Jose A. Lopes
3278 8799fb9d Jose A. Lopes
rsUnknown :: Int
3279 8799fb9d Jose A. Lopes
rsUnknown = 1
3280 8799fb9d Jose A. Lopes
3281 8799fb9d Jose A. Lopes
rsAll :: FrozenSet Int
3282 8799fb9d Jose A. Lopes
rsAll =
3283 8799fb9d Jose A. Lopes
  ConstantUtils.mkSet [rsNodata,
3284 8799fb9d Jose A. Lopes
                       rsNormal,
3285 8799fb9d Jose A. Lopes
                       rsOffline,
3286 8799fb9d Jose A. Lopes
                       rsUnavail,
3287 8799fb9d Jose A. Lopes
                       rsUnknown]
3288 8799fb9d Jose A. Lopes
3289 8799fb9d Jose A. Lopes
-- | Special field cases and their verbose/terse formatting
3290 8799fb9d Jose A. Lopes
rssDescription :: Map Int (String, String)
3291 8799fb9d Jose A. Lopes
rssDescription =
3292 8799fb9d Jose A. Lopes
  Map.fromList [(rsUnknown, ("(unknown)", "??")),
3293 8799fb9d Jose A. Lopes
                (rsNodata, ("(nodata)", "?")),
3294 8799fb9d Jose A. Lopes
                (rsOffline, ("(offline)", "*")),
3295 8799fb9d Jose A. Lopes
                (rsUnavail, ("(unavail)", "-"))]
3296 8799fb9d Jose A. Lopes
3297 6e6a6f84 Jose A. Lopes
-- * Max dynamic devices
3298 6e6a6f84 Jose A. Lopes
3299 6e6a6f84 Jose A. Lopes
maxDisks :: Int
3300 6e6a6f84 Jose A. Lopes
maxDisks = Types.maxDisks
3301 6e6a6f84 Jose A. Lopes
3302 6e6a6f84 Jose A. Lopes
maxNics :: Int
3303 6e6a6f84 Jose A. Lopes
maxNics = Types.maxNics
3304 6e6a6f84 Jose A. Lopes
3305 d84ddec2 Jose A. Lopes
-- | SSCONF file prefix
3306 d84ddec2 Jose A. Lopes
ssconfFileprefix :: String
3307 d84ddec2 Jose A. Lopes
ssconfFileprefix = "ssconf_"
3308 d84ddec2 Jose A. Lopes
3309 d84ddec2 Jose A. Lopes
-- * SSCONF keys
3310 d84ddec2 Jose A. Lopes
3311 d84ddec2 Jose A. Lopes
ssClusterName :: String
3312 d84ddec2 Jose A. Lopes
ssClusterName = "cluster_name"
3313 d84ddec2 Jose A. Lopes
3314 d84ddec2 Jose A. Lopes
ssClusterTags :: String
3315 d84ddec2 Jose A. Lopes
ssClusterTags = "cluster_tags"
3316 d84ddec2 Jose A. Lopes
3317 d84ddec2 Jose A. Lopes
ssFileStorageDir :: String
3318 d84ddec2 Jose A. Lopes
ssFileStorageDir = "file_storage_dir"
3319 d84ddec2 Jose A. Lopes
3320 d84ddec2 Jose A. Lopes
ssSharedFileStorageDir :: String
3321 d84ddec2 Jose A. Lopes
ssSharedFileStorageDir = "shared_file_storage_dir"
3322 d84ddec2 Jose A. Lopes
3323 d84ddec2 Jose A. Lopes
ssMasterCandidates :: String
3324 d84ddec2 Jose A. Lopes
ssMasterCandidates = "master_candidates"
3325 d84ddec2 Jose A. Lopes
3326 d84ddec2 Jose A. Lopes
ssMasterCandidatesIps :: String
3327 d84ddec2 Jose A. Lopes
ssMasterCandidatesIps = "master_candidates_ips"
3328 d84ddec2 Jose A. Lopes
3329 d84ddec2 Jose A. Lopes
ssMasterIp :: String
3330 d84ddec2 Jose A. Lopes
ssMasterIp = "master_ip"
3331 d84ddec2 Jose A. Lopes
3332 d84ddec2 Jose A. Lopes
ssMasterNetdev :: String
3333 d84ddec2 Jose A. Lopes
ssMasterNetdev = "master_netdev"
3334 d84ddec2 Jose A. Lopes
3335 d84ddec2 Jose A. Lopes
ssMasterNetmask :: String
3336 d84ddec2 Jose A. Lopes
ssMasterNetmask = "master_netmask"
3337 d84ddec2 Jose A. Lopes
3338 d84ddec2 Jose A. Lopes
ssMasterNode :: String
3339 d84ddec2 Jose A. Lopes
ssMasterNode = "master_node"
3340 d84ddec2 Jose A. Lopes
3341 d84ddec2 Jose A. Lopes
ssNodeList :: String
3342 d84ddec2 Jose A. Lopes
ssNodeList = "node_list"
3343 d84ddec2 Jose A. Lopes
3344 d84ddec2 Jose A. Lopes
ssNodePrimaryIps :: String
3345 d84ddec2 Jose A. Lopes
ssNodePrimaryIps = "node_primary_ips"
3346 d84ddec2 Jose A. Lopes
3347 d84ddec2 Jose A. Lopes
ssNodeSecondaryIps :: String
3348 d84ddec2 Jose A. Lopes
ssNodeSecondaryIps = "node_secondary_ips"
3349 d84ddec2 Jose A. Lopes
3350 d84ddec2 Jose A. Lopes
ssOfflineNodes :: String
3351 d84ddec2 Jose A. Lopes
ssOfflineNodes = "offline_nodes"
3352 d84ddec2 Jose A. Lopes
3353 d84ddec2 Jose A. Lopes
ssOnlineNodes :: String
3354 d84ddec2 Jose A. Lopes
ssOnlineNodes = "online_nodes"
3355 d84ddec2 Jose A. Lopes
3356 d84ddec2 Jose A. Lopes
ssPrimaryIpFamily :: String
3357 d84ddec2 Jose A. Lopes
ssPrimaryIpFamily = "primary_ip_family"
3358 d84ddec2 Jose A. Lopes
3359 d84ddec2 Jose A. Lopes
ssInstanceList :: String
3360 d84ddec2 Jose A. Lopes
ssInstanceList = "instance_list"
3361 d84ddec2 Jose A. Lopes
3362 d84ddec2 Jose A. Lopes
ssReleaseVersion :: String
3363 d84ddec2 Jose A. Lopes
ssReleaseVersion = "release_version"
3364 d84ddec2 Jose A. Lopes
3365 d84ddec2 Jose A. Lopes
ssHypervisorList :: String
3366 d84ddec2 Jose A. Lopes
ssHypervisorList = "hypervisor_list"
3367 d84ddec2 Jose A. Lopes
3368 d84ddec2 Jose A. Lopes
ssMaintainNodeHealth :: String
3369 d84ddec2 Jose A. Lopes
ssMaintainNodeHealth = "maintain_node_health"
3370 d84ddec2 Jose A. Lopes
3371 d84ddec2 Jose A. Lopes
ssUidPool :: String
3372 d84ddec2 Jose A. Lopes
ssUidPool = "uid_pool"
3373 d84ddec2 Jose A. Lopes
3374 d84ddec2 Jose A. Lopes
ssNodegroups :: String
3375 d84ddec2 Jose A. Lopes
ssNodegroups = "nodegroups"
3376 d84ddec2 Jose A. Lopes
3377 d84ddec2 Jose A. Lopes
ssNetworks :: String
3378 d84ddec2 Jose A. Lopes
ssNetworks = "networks"
3379 d84ddec2 Jose A. Lopes
3380 d84ddec2 Jose A. Lopes
-- | This is not a complete SSCONF key, but the prefix for the
3381 d84ddec2 Jose A. Lopes
-- hypervisor keys
3382 d84ddec2 Jose A. Lopes
ssHvparamsPref :: String
3383 d84ddec2 Jose A. Lopes
ssHvparamsPref = "hvparams_"
3384 d84ddec2 Jose A. Lopes
3385 d84ddec2 Jose A. Lopes
-- * Hvparams keys
3386 d84ddec2 Jose A. Lopes
3387 d84ddec2 Jose A. Lopes
ssHvparamsXenChroot :: String
3388 d84ddec2 Jose A. Lopes
ssHvparamsXenChroot = ssHvparamsPref ++ htChroot
3389 d84ddec2 Jose A. Lopes
3390 d84ddec2 Jose A. Lopes
ssHvparamsXenFake :: String
3391 d84ddec2 Jose A. Lopes
ssHvparamsXenFake = ssHvparamsPref ++ htFake
3392 d84ddec2 Jose A. Lopes
3393 d84ddec2 Jose A. Lopes
ssHvparamsXenHvm :: String
3394 d84ddec2 Jose A. Lopes
ssHvparamsXenHvm = ssHvparamsPref ++ htXenHvm
3395 d84ddec2 Jose A. Lopes
3396 d84ddec2 Jose A. Lopes
ssHvparamsXenKvm :: String
3397 d84ddec2 Jose A. Lopes
ssHvparamsXenKvm = ssHvparamsPref ++ htKvm
3398 d84ddec2 Jose A. Lopes
3399 d84ddec2 Jose A. Lopes
ssHvparamsXenLxc :: String
3400 d84ddec2 Jose A. Lopes
ssHvparamsXenLxc = ssHvparamsPref ++ htLxc
3401 d84ddec2 Jose A. Lopes
3402 d84ddec2 Jose A. Lopes
ssHvparamsXenPvm :: String
3403 d84ddec2 Jose A. Lopes
ssHvparamsXenPvm = ssHvparamsPref ++ htXenPvm
3404 d84ddec2 Jose A. Lopes
3405 d84ddec2 Jose A. Lopes
validSsHvparamsKeys :: FrozenSet String
3406 d84ddec2 Jose A. Lopes
validSsHvparamsKeys =
3407 d84ddec2 Jose A. Lopes
  ConstantUtils.mkSet [ssHvparamsXenChroot,
3408 d84ddec2 Jose A. Lopes
                       ssHvparamsXenLxc,
3409 d84ddec2 Jose A. Lopes
                       ssHvparamsXenFake,
3410 d84ddec2 Jose A. Lopes
                       ssHvparamsXenHvm,
3411 d84ddec2 Jose A. Lopes
                       ssHvparamsXenKvm,
3412 d84ddec2 Jose A. Lopes
                       ssHvparamsXenPvm]
3413 d84ddec2 Jose A. Lopes
3414 d84ddec2 Jose A. Lopes
ssFilePerms :: Int
3415 d84ddec2 Jose A. Lopes
ssFilePerms = 0o444
3416 d84ddec2 Jose A. Lopes
3417 d99012a6 Jose A. Lopes
-- | Cluster wide default parameters
3418 d99012a6 Jose A. Lopes
defaultEnabledHypervisor :: String
3419 d99012a6 Jose A. Lopes
defaultEnabledHypervisor = htXenPvm
3420 d99012a6 Jose A. Lopes
3421 53a5f21b Jose A. Lopes
hvcGlobals :: FrozenSet String
3422 53a5f21b Jose A. Lopes
hvcGlobals =
3423 53a5f21b Jose A. Lopes
  ConstantUtils.mkSet [hvMigrationBandwidth,
3424 53a5f21b Jose A. Lopes
                       hvMigrationMode,
3425 53a5f21b Jose A. Lopes
                       hvMigrationPort,
3426 53a5f21b Jose A. Lopes
                       hvXenCmd]
3427 53a5f21b Jose A. Lopes
3428 53a5f21b Jose A. Lopes
ndcGlobals :: FrozenSet String
3429 53a5f21b Jose A. Lopes
ndcGlobals = ConstantUtils.mkSet [ndExclusiveStorage]
3430 53a5f21b Jose A. Lopes
3431 54e8f65d Jose A. Lopes
-- | All of the following values are quite arbitrary - there are no
3432 54e8f65d Jose A. Lopes
-- "good" defaults, these must be customised per-site
3433 54e8f65d Jose A. Lopes
ispecsMinmaxDefaults :: Map String (Map String Int)
3434 54e8f65d Jose A. Lopes
ispecsMinmaxDefaults =
3435 54e8f65d Jose A. Lopes
  Map.fromList
3436 54e8f65d Jose A. Lopes
  [(ispecsMin,
3437 54e8f65d Jose A. Lopes
    Map.fromList
3438 54e8f65d Jose A. Lopes
    [(ConstantUtils.ispecMemSize, Types.iSpecMemorySize Types.defMinISpec),
3439 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecCpuCount, Types.iSpecCpuCount Types.defMinISpec),
3440 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecDiskCount, Types.iSpecDiskCount Types.defMinISpec),
3441 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecDiskSize, Types.iSpecDiskSize Types.defMinISpec),
3442 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecNicCount, Types.iSpecNicCount Types.defMinISpec),
3443 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecSpindleUse, Types.iSpecSpindleUse Types.defMinISpec)]),
3444 54e8f65d Jose A. Lopes
   (ispecsMax,
3445 54e8f65d Jose A. Lopes
    Map.fromList
3446 54e8f65d Jose A. Lopes
    [(ConstantUtils.ispecMemSize, Types.iSpecMemorySize Types.defMaxISpec),
3447 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecCpuCount, Types.iSpecCpuCount Types.defMaxISpec),
3448 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecDiskCount, Types.iSpecDiskCount Types.defMaxISpec),
3449 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecDiskSize, Types.iSpecDiskSize Types.defMaxISpec),
3450 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecNicCount, Types.iSpecNicCount Types.defMaxISpec),
3451 54e8f65d Jose A. Lopes
     (ConstantUtils.ispecSpindleUse, Types.iSpecSpindleUse Types.defMaxISpec)])]
3452 54e8f65d Jose A. Lopes
3453 d22b306d Jose A. Lopes
masterPoolSizeDefault :: Int
3454 d22b306d Jose A. Lopes
masterPoolSizeDefault = 10
3455 d22b306d Jose A. Lopes
3456 d22b306d Jose A. Lopes
-- * Exclusive storage
3457 d22b306d Jose A. Lopes
3458 d22b306d Jose A. Lopes
-- | Error margin used to compare physical disks
3459 d22b306d Jose A. Lopes
partMargin :: Double
3460 d22b306d Jose A. Lopes
partMargin = 0.01
3461 d22b306d Jose A. Lopes
3462 d22b306d Jose A. Lopes
-- | Space reserved when creating instance disks
3463 d22b306d Jose A. Lopes
partReserved :: Double
3464 d22b306d Jose A. Lopes
partReserved = 0.02
3465 d22b306d Jose A. Lopes
3466 cdac0552 Jose A. Lopes
-- * Confd
3467 cdac0552 Jose A. Lopes
3468 cdac0552 Jose A. Lopes
confdProtocolVersion :: Int
3469 cdac0552 Jose A. Lopes
confdProtocolVersion = ConstantUtils.confdProtocolVersion
3470 cdac0552 Jose A. Lopes
3471 cdac0552 Jose A. Lopes
-- Confd request type
3472 cdac0552 Jose A. Lopes
3473 cdac0552 Jose A. Lopes
confdReqPing :: Int
3474 cdac0552 Jose A. Lopes
confdReqPing = Types.confdRequestTypeToRaw ReqPing
3475 cdac0552 Jose A. Lopes
3476 cdac0552 Jose A. Lopes
confdReqNodeRoleByname :: Int
3477 cdac0552 Jose A. Lopes
confdReqNodeRoleByname = Types.confdRequestTypeToRaw ReqNodeRoleByName
3478 cdac0552 Jose A. Lopes
3479 cdac0552 Jose A. Lopes
confdReqNodePipByInstanceIp :: Int
3480 cdac0552 Jose A. Lopes
confdReqNodePipByInstanceIp = Types.confdRequestTypeToRaw ReqNodePipByInstPip
3481 cdac0552 Jose A. Lopes
3482 cdac0552 Jose A. Lopes
confdReqClusterMaster :: Int
3483 cdac0552 Jose A. Lopes
confdReqClusterMaster = Types.confdRequestTypeToRaw ReqClusterMaster
3484 cdac0552 Jose A. Lopes
3485 cdac0552 Jose A. Lopes
confdReqNodePipList :: Int
3486 cdac0552 Jose A. Lopes
confdReqNodePipList = Types.confdRequestTypeToRaw ReqNodePipList
3487 cdac0552 Jose A. Lopes
3488 cdac0552 Jose A. Lopes
confdReqMcPipList :: Int
3489 cdac0552 Jose A. Lopes
confdReqMcPipList = Types.confdRequestTypeToRaw ReqMcPipList
3490 cdac0552 Jose A. Lopes
3491 cdac0552 Jose A. Lopes
confdReqInstancesIpsList :: Int
3492 cdac0552 Jose A. Lopes
confdReqInstancesIpsList = Types.confdRequestTypeToRaw ReqInstIpsList
3493 cdac0552 Jose A. Lopes
3494 cdac0552 Jose A. Lopes
confdReqNodeDrbd :: Int
3495 cdac0552 Jose A. Lopes
confdReqNodeDrbd = Types.confdRequestTypeToRaw ReqNodeDrbd
3496 cdac0552 Jose A. Lopes
3497 cdac0552 Jose A. Lopes
confdReqNodeInstances :: Int
3498 cdac0552 Jose A. Lopes
confdReqNodeInstances = Types.confdRequestTypeToRaw ReqNodeInstances
3499 cdac0552 Jose A. Lopes
3500 cdac0552 Jose A. Lopes
confdReqs :: FrozenSet Int
3501 cdac0552 Jose A. Lopes
confdReqs =
3502 cdac0552 Jose A. Lopes
  ConstantUtils.mkSet .
3503 cdac0552 Jose A. Lopes
  map Types.confdRequestTypeToRaw $
3504 cdac0552 Jose A. Lopes
  [minBound..] \\ [ReqNodeInstances]
3505 cdac0552 Jose A. Lopes
3506 cdac0552 Jose A. Lopes
-- * Confd request type
3507 cdac0552 Jose A. Lopes
3508 cdac0552 Jose A. Lopes
confdReqfieldName :: Int
3509 cdac0552 Jose A. Lopes
confdReqfieldName = Types.confdReqFieldToRaw ReqFieldName
3510 cdac0552 Jose A. Lopes
3511 cdac0552 Jose A. Lopes
confdReqfieldIp :: Int
3512 cdac0552 Jose A. Lopes
confdReqfieldIp = Types.confdReqFieldToRaw ReqFieldIp
3513 cdac0552 Jose A. Lopes
3514 cdac0552 Jose A. Lopes
confdReqfieldMnodePip :: Int
3515 cdac0552 Jose A. Lopes
confdReqfieldMnodePip = Types.confdReqFieldToRaw ReqFieldMNodePip
3516 cdac0552 Jose A. Lopes
3517 cdac0552 Jose A. Lopes
-- * Confd repl status
3518 cdac0552 Jose A. Lopes
3519 cdac0552 Jose A. Lopes
confdReplStatusOk :: Int
3520 cdac0552 Jose A. Lopes
confdReplStatusOk = Types.confdReplyStatusToRaw ReplyStatusOk
3521 cdac0552 Jose A. Lopes
3522 cdac0552 Jose A. Lopes
confdReplStatusError :: Int
3523 cdac0552 Jose A. Lopes
confdReplStatusError = Types.confdReplyStatusToRaw ReplyStatusError
3524 cdac0552 Jose A. Lopes
3525 cdac0552 Jose A. Lopes
confdReplStatusNotimplemented :: Int
3526 cdac0552 Jose A. Lopes
confdReplStatusNotimplemented = Types.confdReplyStatusToRaw ReplyStatusNotImpl
3527 cdac0552 Jose A. Lopes
3528 cdac0552 Jose A. Lopes
confdReplStatuses :: FrozenSet Int
3529 cdac0552 Jose A. Lopes
confdReplStatuses =
3530 cdac0552 Jose A. Lopes
  ConstantUtils.mkSet $ map Types.confdReplyStatusToRaw [minBound..]
3531 cdac0552 Jose A. Lopes
3532 cdac0552 Jose A. Lopes
-- * Confd node role
3533 cdac0552 Jose A. Lopes
3534 cdac0552 Jose A. Lopes
confdNodeRoleMaster :: Int
3535 cdac0552 Jose A. Lopes
confdNodeRoleMaster = Types.confdNodeRoleToRaw NodeRoleMaster
3536 cdac0552 Jose A. Lopes
3537 cdac0552 Jose A. Lopes
confdNodeRoleCandidate :: Int
3538 cdac0552 Jose A. Lopes
confdNodeRoleCandidate = Types.confdNodeRoleToRaw NodeRoleCandidate
3539 cdac0552 Jose A. Lopes
3540 cdac0552 Jose A. Lopes
confdNodeRoleOffline :: Int
3541 cdac0552 Jose A. Lopes
confdNodeRoleOffline = Types.confdNodeRoleToRaw NodeRoleOffline
3542 cdac0552 Jose A. Lopes
3543 cdac0552 Jose A. Lopes
confdNodeRoleDrained :: Int
3544 cdac0552 Jose A. Lopes
confdNodeRoleDrained = Types.confdNodeRoleToRaw NodeRoleDrained
3545 cdac0552 Jose A. Lopes
3546 cdac0552 Jose A. Lopes
confdNodeRoleRegular :: Int
3547 cdac0552 Jose A. Lopes
confdNodeRoleRegular = Types.confdNodeRoleToRaw NodeRoleRegular
3548 cdac0552 Jose A. Lopes
3549 61e32567 Jose A. Lopes
-- * A few common errors for confd
3550 61e32567 Jose A. Lopes
3551 cdac0552 Jose A. Lopes
confdErrorUnknownEntry :: Int
3552 cdac0552 Jose A. Lopes
confdErrorUnknownEntry = Types.confdErrorTypeToRaw ConfdErrorUnknownEntry
3553 61e32567 Jose A. Lopes
3554 61e32567 Jose A. Lopes
confdErrorInternal :: Int
3555 cdac0552 Jose A. Lopes
confdErrorInternal = Types.confdErrorTypeToRaw ConfdErrorInternal
3556 61e32567 Jose A. Lopes
3557 cdac0552 Jose A. Lopes
confdErrorArgument :: Int
3558 cdac0552 Jose A. Lopes
confdErrorArgument = Types.confdErrorTypeToRaw ConfdErrorArgument
3559 61e32567 Jose A. Lopes
3560 cdac0552 Jose A. Lopes
-- * Confd request query fields
3561 dd95d461 Jose A. Lopes
3562 dd95d461 Jose A. Lopes
confdReqqLink :: String
3563 dd95d461 Jose A. Lopes
confdReqqLink = ConstantUtils.confdReqqLink
3564 dd95d461 Jose A. Lopes
3565 dd95d461 Jose A. Lopes
confdReqqIp :: String
3566 dd95d461 Jose A. Lopes
confdReqqIp = ConstantUtils.confdReqqIp
3567 dd95d461 Jose A. Lopes
3568 dd95d461 Jose A. Lopes
confdReqqIplist :: String
3569 dd95d461 Jose A. Lopes
confdReqqIplist = ConstantUtils.confdReqqIplist
3570 dd95d461 Jose A. Lopes
3571 dd95d461 Jose A. Lopes
confdReqqFields :: String
3572 dd95d461 Jose A. Lopes
confdReqqFields = ConstantUtils.confdReqqFields
3573 dd95d461 Jose A. Lopes
3574 61e32567 Jose A. Lopes
-- | Each request is "salted" by the current timestamp.
3575 61e32567 Jose A. Lopes
--
3576 61e32567 Jose A. Lopes
-- This constant decides how many seconds of skew to accept.
3577 61e32567 Jose A. Lopes
--
3578 61e32567 Jose A. Lopes
-- TODO: make this a default and allow the value to be more
3579 61e32567 Jose A. Lopes
-- configurable
3580 61e32567 Jose A. Lopes
confdMaxClockSkew :: Int
3581 61e32567 Jose A. Lopes
confdMaxClockSkew = 2 * nodeMaxClockSkew
3582 61e32567 Jose A. Lopes
3583 61e32567 Jose A. Lopes
-- | When we haven't reloaded the config for more than this amount of
3584 61e32567 Jose A. Lopes
-- seconds, we force a test to see if inotify is betraying us. Using a
3585 61e32567 Jose A. Lopes
-- prime number to ensure we get less chance of 'same wakeup' with
3586 61e32567 Jose A. Lopes
-- other processes.
3587 61e32567 Jose A. Lopes
confdConfigReloadTimeout :: Int
3588 61e32567 Jose A. Lopes
confdConfigReloadTimeout = 17
3589 61e32567 Jose A. Lopes
3590 61e32567 Jose A. Lopes
-- | If we receive more than one update in this amount of
3591 61e32567 Jose A. Lopes
-- microseconds, we move to polling every RATELIMIT seconds, rather
3592 61e32567 Jose A. Lopes
-- than relying on inotify, to be able to serve more requests.
3593 61e32567 Jose A. Lopes
confdConfigReloadRatelimit :: Int
3594 61e32567 Jose A. Lopes
confdConfigReloadRatelimit = 250000
3595 61e32567 Jose A. Lopes
3596 61e32567 Jose A. Lopes
-- | Magic number prepended to all confd queries.
3597 61e32567 Jose A. Lopes
--
3598 61e32567 Jose A. Lopes
-- This allows us to distinguish different types of confd protocols
3599 61e32567 Jose A. Lopes
-- and handle them. For example by changing this we can move the whole
3600 61e32567 Jose A. Lopes
-- payload to be compressed, or move away from json.
3601 61e32567 Jose A. Lopes
confdMagicFourcc :: String
3602 61e32567 Jose A. Lopes
confdMagicFourcc = "plj0"
3603 61e32567 Jose A. Lopes
3604 61e32567 Jose A. Lopes
-- | By default a confd request is sent to the minimum between this
3605 61e32567 Jose A. Lopes
-- number and all MCs. 6 was chosen because even in the case of a
3606 61e32567 Jose A. Lopes
-- disastrous 50% response rate, we should have enough answers to be
3607 61e32567 Jose A. Lopes
-- able to compare more than one.
3608 61e32567 Jose A. Lopes
confdDefaultReqCoverage :: Int
3609 61e32567 Jose A. Lopes
confdDefaultReqCoverage = 6
3610 61e32567 Jose A. Lopes
3611 61e32567 Jose A. Lopes
-- | Timeout in seconds to expire pending query request in the confd
3612 61e32567 Jose A. Lopes
-- client library. We don't actually expect any answer more than 10
3613 61e32567 Jose A. Lopes
-- seconds after we sent a request.
3614 61e32567 Jose A. Lopes
confdClientExpireTimeout :: Int
3615 61e32567 Jose A. Lopes
confdClientExpireTimeout = 10
3616 61e32567 Jose A. Lopes
3617 2f314077 Jose A. Lopes
-- | Maximum UDP datagram size.
3618 2f314077 Jose A. Lopes
--
3619 2f314077 Jose A. Lopes
-- On IPv4: 64K - 20 (ip header size) - 8 (udp header size) = 65507
3620 2f314077 Jose A. Lopes
-- On IPv6: 64K - 40 (ip6 header size) - 8 (udp header size) = 65487
3621 2f314077 Jose A. Lopes
--   (assuming we can't use jumbo frames)
3622 2f314077 Jose A. Lopes
-- We just set this to 60K, which should be enough
3623 2f314077 Jose A. Lopes
maxUdpDataSize :: Int
3624 2f314077 Jose A. Lopes
maxUdpDataSize = 61440
3625 2f314077 Jose A. Lopes
3626 6b0d45b7 Jose A. Lopes
-- * User-id pool minimum/maximum acceptable user-ids
3627 6b0d45b7 Jose A. Lopes
3628 6b0d45b7 Jose A. Lopes
uidpoolUidMin :: Int
3629 6b0d45b7 Jose A. Lopes
uidpoolUidMin = 0
3630 6b0d45b7 Jose A. Lopes
3631 6b0d45b7 Jose A. Lopes
-- | Assuming 32 bit user-ids
3632 6b0d45b7 Jose A. Lopes
uidpoolUidMax :: Integer
3633 6b0d45b7 Jose A. Lopes
uidpoolUidMax = 2 ^ 32 - 1
3634 6b0d45b7 Jose A. Lopes
3635 b9b5acc3 Jose A. Lopes
-- | Name or path of the pgrep command
3636 b9b5acc3 Jose A. Lopes
pgrep :: String
3637 b9b5acc3 Jose A. Lopes
pgrep = "pgrep"
3638 b9b5acc3 Jose A. Lopes
3639 b9b5acc3 Jose A. Lopes
-- | Name of the node group that gets created at cluster init or
3640 b9b5acc3 Jose A. Lopes
-- upgrade
3641 b9b5acc3 Jose A. Lopes
initialNodeGroupName :: String
3642 b9b5acc3 Jose A. Lopes
initialNodeGroupName = "default"
3643 b9b5acc3 Jose A. Lopes
3644 f361a6ee Jose A. Lopes
-- * Possible values for NodeGroup.alloc_policy
3645 f361a6ee Jose A. Lopes
3646 f361a6ee Jose A. Lopes
allocPolicyLastResort :: String
3647 58c09b0e Jose A. Lopes
allocPolicyLastResort = Types.allocPolicyToRaw AllocLastResort
3648 f361a6ee Jose A. Lopes
3649 f361a6ee Jose A. Lopes
allocPolicyPreferred :: String
3650 58c09b0e Jose A. Lopes
allocPolicyPreferred = Types.allocPolicyToRaw AllocPreferred
3651 f361a6ee Jose A. Lopes
3652 f361a6ee Jose A. Lopes
allocPolicyUnallocable :: String
3653 58c09b0e Jose A. Lopes
allocPolicyUnallocable = Types.allocPolicyToRaw AllocUnallocable
3654 f361a6ee Jose A. Lopes
3655 f361a6ee Jose A. Lopes
validAllocPolicies :: [String]
3656 58c09b0e Jose A. Lopes
validAllocPolicies = map Types.allocPolicyToRaw [minBound..]
3657 f361a6ee Jose A. Lopes
3658 f361a6ee Jose A. Lopes
-- | Temporary external/shared storage parameters
3659 f361a6ee Jose A. Lopes
blockdevDriverManual :: String
3660 5867e439 Jose A. Lopes
blockdevDriverManual = Types.blockDriverToRaw BlockDrvManual
3661 f361a6ee Jose A. Lopes
3662 3b170ad4 Jose A. Lopes
-- | 'qemu-img' path, required for 'ovfconverter'
3663 3b170ad4 Jose A. Lopes
qemuimgPath :: String
3664 3b170ad4 Jose A. Lopes
qemuimgPath = AutoConf.qemuimgPath
3665 3b170ad4 Jose A. Lopes
3666 3b170ad4 Jose A. Lopes
-- | Whether htools was enabled at compilation time
3667 3b170ad4 Jose A. Lopes
--
3668 3b170ad4 Jose A. Lopes
-- FIXME: this should be moved next to the other enable constants,
3669 3b170ad4 Jose A. Lopes
-- such as, 'enableConfd', and renamed to 'enableHtools'.
3670 3b170ad4 Jose A. Lopes
htools :: Bool
3671 3b170ad4 Jose A. Lopes
htools = AutoConf.htools
3672 3b170ad4 Jose A. Lopes
3673 33ee4861 Jose A. Lopes
-- | The hail iallocator
3674 33ee4861 Jose A. Lopes
iallocHail :: String
3675 33ee4861 Jose A. Lopes
iallocHail = "hail"
3676 33ee4861 Jose A. Lopes
3677 33ee4861 Jose A. Lopes
-- * Fake opcodes for functions that have hooks attached to them via
3678 33ee4861 Jose A. Lopes
-- backend.RunLocalHooks
3679 33ee4861 Jose A. Lopes
3680 33ee4861 Jose A. Lopes
fakeOpMasterTurndown :: String
3681 33ee4861 Jose A. Lopes
fakeOpMasterTurndown = "OP_CLUSTER_IP_TURNDOWN"
3682 33ee4861 Jose A. Lopes
3683 33ee4861 Jose A. Lopes
fakeOpMasterTurnup :: String
3684 33ee4861 Jose A. Lopes
fakeOpMasterTurnup = "OP_CLUSTER_IP_TURNUP"
3685 33ee4861 Jose A. Lopes
3686 33ee4861 Jose A. Lopes
-- * SSH key types
3687 33ee4861 Jose A. Lopes
3688 33ee4861 Jose A. Lopes
sshkDsa :: String
3689 33ee4861 Jose A. Lopes
sshkDsa = "dsa"
3690 33ee4861 Jose A. Lopes
3691 33ee4861 Jose A. Lopes
sshkRsa :: String
3692 33ee4861 Jose A. Lopes
sshkRsa = "rsa"
3693 33ee4861 Jose A. Lopes
3694 33ee4861 Jose A. Lopes
sshkAll :: FrozenSet String
3695 33ee4861 Jose A. Lopes
sshkAll = ConstantUtils.mkSet [sshkRsa, sshkDsa]
3696 33ee4861 Jose A. Lopes
3697 33ee4861 Jose A. Lopes
-- * SSH authorized key types
3698 33ee4861 Jose A. Lopes
3699 33ee4861 Jose A. Lopes
sshakDss :: String
3700 33ee4861 Jose A. Lopes
sshakDss = "ssh-dss"
3701 33ee4861 Jose A. Lopes
3702 33ee4861 Jose A. Lopes
sshakRsa :: String
3703 33ee4861 Jose A. Lopes
sshakRsa = "ssh-rsa"
3704 33ee4861 Jose A. Lopes
3705 33ee4861 Jose A. Lopes
sshakAll :: FrozenSet String
3706 33ee4861 Jose A. Lopes
sshakAll = ConstantUtils.mkSet [sshakDss, sshakRsa]
3707 33ee4861 Jose A. Lopes
3708 33ee4861 Jose A. Lopes
-- * SSH setup
3709 33ee4861 Jose A. Lopes
3710 33ee4861 Jose A. Lopes
sshsClusterName :: String
3711 33ee4861 Jose A. Lopes
sshsClusterName = "cluster_name"
3712 33ee4861 Jose A. Lopes
3713 33ee4861 Jose A. Lopes
sshsSshHostKey :: String
3714 33ee4861 Jose A. Lopes
sshsSshHostKey = "ssh_host_key"
3715 33ee4861 Jose A. Lopes
3716 33ee4861 Jose A. Lopes
sshsSshRootKey :: String
3717 33ee4861 Jose A. Lopes
sshsSshRootKey = "ssh_root_key"
3718 33ee4861 Jose A. Lopes
3719 33ee4861 Jose A. Lopes
sshsNodeDaemonCertificate :: String
3720 33ee4861 Jose A. Lopes
sshsNodeDaemonCertificate = "node_daemon_certificate"
3721 33ee4861 Jose A. Lopes
3722 84ad6b78 Jose A. Lopes
-- * Key files for SSH daemon
3723 84ad6b78 Jose A. Lopes
3724 84ad6b78 Jose A. Lopes
sshHostDsaPriv :: String
3725 84ad6b78 Jose A. Lopes
sshHostDsaPriv = sshConfigDir ++ "/ssh_host_dsa_key"
3726 84ad6b78 Jose A. Lopes
3727 84ad6b78 Jose A. Lopes
sshHostDsaPub :: String
3728 84ad6b78 Jose A. Lopes
sshHostDsaPub = sshHostDsaPriv ++ ".pub"
3729 84ad6b78 Jose A. Lopes
3730 84ad6b78 Jose A. Lopes
sshHostRsaPriv :: String
3731 84ad6b78 Jose A. Lopes
sshHostRsaPriv = sshConfigDir ++ "/ssh_host_rsa_key"
3732 84ad6b78 Jose A. Lopes
3733 84ad6b78 Jose A. Lopes
sshHostRsaPub :: String
3734 84ad6b78 Jose A. Lopes
sshHostRsaPub = sshHostRsaPriv ++ ".pub"
3735 84ad6b78 Jose A. Lopes
3736 b6e2ff42 Jose A. Lopes
-- * Node daemon setup
3737 b6e2ff42 Jose A. Lopes
3738 b6e2ff42 Jose A. Lopes
ndsClusterName :: String
3739 b6e2ff42 Jose A. Lopes
ndsClusterName = "cluster_name"
3740 b6e2ff42 Jose A. Lopes
3741 b6e2ff42 Jose A. Lopes
ndsNodeDaemonCertificate :: String
3742 b6e2ff42 Jose A. Lopes
ndsNodeDaemonCertificate = "node_daemon_certificate"
3743 b6e2ff42 Jose A. Lopes
3744 b6e2ff42 Jose A. Lopes
ndsSsconf :: String
3745 b6e2ff42 Jose A. Lopes
ndsSsconf = "ssconf"
3746 b6e2ff42 Jose A. Lopes
3747 b6e2ff42 Jose A. Lopes
ndsStartNodeDaemon :: String
3748 b6e2ff42 Jose A. Lopes
ndsStartNodeDaemon = "start_node_daemon"
3749 b6e2ff42 Jose A. Lopes
3750 81ae485c Jose A. Lopes
-- * The source reasons for the execution of an OpCode
3751 81ae485c Jose A. Lopes
3752 81ae485c Jose A. Lopes
opcodeReasonSrcClient :: String
3753 81ae485c Jose A. Lopes
opcodeReasonSrcClient = "gnt:client"
3754 81ae485c Jose A. Lopes
3755 81ae485c Jose A. Lopes
opcodeReasonSrcNoded :: String
3756 81ae485c Jose A. Lopes
opcodeReasonSrcNoded = "gnt:daemon:noded"
3757 81ae485c Jose A. Lopes
3758 81ae485c Jose A. Lopes
opcodeReasonSrcOpcode :: String
3759 81ae485c Jose A. Lopes
opcodeReasonSrcOpcode = "gnt:opcode"
3760 81ae485c Jose A. Lopes
3761 81ae485c Jose A. Lopes
opcodeReasonSrcRlib2 :: String
3762 81ae485c Jose A. Lopes
opcodeReasonSrcRlib2 = "gnt:library:rlib2"
3763 81ae485c Jose A. Lopes
3764 81ae485c Jose A. Lopes
opcodeReasonSrcUser :: String
3765 81ae485c Jose A. Lopes
opcodeReasonSrcUser = "gnt:user"
3766 81ae485c Jose A. Lopes
3767 81ae485c Jose A. Lopes
opcodeReasonSources :: FrozenSet String
3768 81ae485c Jose A. Lopes
opcodeReasonSources =
3769 81ae485c Jose A. Lopes
  ConstantUtils.mkSet [opcodeReasonSrcClient,
3770 81ae485c Jose A. Lopes
                       opcodeReasonSrcNoded,
3771 81ae485c Jose A. Lopes
                       opcodeReasonSrcOpcode,
3772 81ae485c Jose A. Lopes
                       opcodeReasonSrcRlib2,
3773 81ae485c Jose A. Lopes
                       opcodeReasonSrcUser]
3774 81ae485c Jose A. Lopes
3775 06fd57e5 Jose A. Lopes
-- | Path generating random UUID
3776 06fd57e5 Jose A. Lopes
randomUuidFile :: String
3777 06fd57e5 Jose A. Lopes
randomUuidFile = ConstantUtils.randomUuidFile
3778 06fd57e5 Jose A. Lopes
3779 f361a6ee Jose A. Lopes
-- * Auto-repair tag prefixes
3780 f361a6ee Jose A. Lopes
3781 f361a6ee Jose A. Lopes
autoRepairTagPrefix :: String
3782 f361a6ee Jose A. Lopes
autoRepairTagPrefix = "ganeti:watcher:autorepair:"
3783 f361a6ee Jose A. Lopes
3784 f361a6ee Jose A. Lopes
autoRepairTagEnabled :: String
3785 f361a6ee Jose A. Lopes
autoRepairTagEnabled = autoRepairTagPrefix
3786 f361a6ee Jose A. Lopes
3787 f361a6ee Jose A. Lopes
autoRepairTagPending :: String
3788 f361a6ee Jose A. Lopes
autoRepairTagPending = autoRepairTagPrefix ++ "pending:"
3789 f361a6ee Jose A. Lopes
3790 f361a6ee Jose A. Lopes
autoRepairTagResult :: String
3791 f361a6ee Jose A. Lopes
autoRepairTagResult = autoRepairTagPrefix ++ "result:"
3792 f361a6ee Jose A. Lopes
3793 f361a6ee Jose A. Lopes
autoRepairTagSuspended :: String
3794 f361a6ee Jose A. Lopes
autoRepairTagSuspended = autoRepairTagPrefix ++ "suspend:"
3795 f361a6ee Jose A. Lopes
3796 f361a6ee Jose A. Lopes
-- * Auto-repair levels
3797 f361a6ee Jose A. Lopes
3798 f361a6ee Jose A. Lopes
autoRepairFailover :: String
3799 becfd918 Jose A. Lopes
autoRepairFailover = Types.autoRepairTypeToRaw ArFailover
3800 f361a6ee Jose A. Lopes
3801 f361a6ee Jose A. Lopes
autoRepairFixStorage :: String
3802 becfd918 Jose A. Lopes
autoRepairFixStorage = Types.autoRepairTypeToRaw ArFixStorage
3803 f361a6ee Jose A. Lopes
3804 f361a6ee Jose A. Lopes
autoRepairMigrate :: String
3805 becfd918 Jose A. Lopes
autoRepairMigrate = Types.autoRepairTypeToRaw ArMigrate
3806 f361a6ee Jose A. Lopes
3807 f361a6ee Jose A. Lopes
autoRepairReinstall :: String
3808 becfd918 Jose A. Lopes
autoRepairReinstall = Types.autoRepairTypeToRaw ArReinstall
3809 f361a6ee Jose A. Lopes
3810 f361a6ee Jose A. Lopes
autoRepairAllTypes :: FrozenSet String
3811 f361a6ee Jose A. Lopes
autoRepairAllTypes =
3812 43a9e860 Jose A. Lopes
  ConstantUtils.mkSet [autoRepairFailover,
3813 43a9e860 Jose A. Lopes
                       autoRepairFixStorage,
3814 43a9e860 Jose A. Lopes
                       autoRepairMigrate,
3815 43a9e860 Jose A. Lopes
                       autoRepairReinstall]
3816 f361a6ee Jose A. Lopes
3817 f361a6ee Jose A. Lopes
-- * Auto-repair results
3818 f361a6ee Jose A. Lopes
3819 f361a6ee Jose A. Lopes
autoRepairEnoperm :: String
3820 becfd918 Jose A. Lopes
autoRepairEnoperm = Types.autoRepairResultToRaw ArEnoperm
3821 f361a6ee Jose A. Lopes
3822 f361a6ee Jose A. Lopes
autoRepairFailure :: String
3823 becfd918 Jose A. Lopes
autoRepairFailure = Types.autoRepairResultToRaw ArFailure
3824 f361a6ee Jose A. Lopes
3825 f361a6ee Jose A. Lopes
autoRepairSuccess :: String
3826 becfd918 Jose A. Lopes
autoRepairSuccess = Types.autoRepairResultToRaw ArSuccess
3827 f361a6ee Jose A. Lopes
3828 f361a6ee Jose A. Lopes
autoRepairAllResults :: FrozenSet String
3829 f361a6ee Jose A. Lopes
autoRepairAllResults =
3830 43a9e860 Jose A. Lopes
  ConstantUtils.mkSet [autoRepairEnoperm, autoRepairFailure, autoRepairSuccess]
3831 f361a6ee Jose A. Lopes
3832 f361a6ee Jose A. Lopes
-- | The version identifier for builtin data collectors
3833 f361a6ee Jose A. Lopes
builtinDataCollectorVersion :: String
3834 f361a6ee Jose A. Lopes
builtinDataCollectorVersion = "B"
3835 2924f169 Jose A. Lopes
3836 2924f169 Jose A. Lopes
-- | The reason trail opcode parameter name
3837 2924f169 Jose A. Lopes
opcodeReason :: String
3838 2924f169 Jose A. Lopes
opcodeReason = "reason"
3839 2924f169 Jose A. Lopes
3840 2924f169 Jose A. Lopes
diskstatsFile :: String
3841 2924f169 Jose A. Lopes
diskstatsFile = "/proc/diskstats"
3842 2924f169 Jose A. Lopes
3843 74129b52 Jose A. Lopes
-- *  CPU load collector
3844 74129b52 Jose A. Lopes
3845 2924f169 Jose A. Lopes
statFile :: String
3846 2924f169 Jose A. Lopes
statFile = "/proc/stat"
3847 2924f169 Jose A. Lopes
3848 74129b52 Jose A. Lopes
cpuavgloadBufferSize :: Int
3849 74129b52 Jose A. Lopes
cpuavgloadBufferSize = 150
3850 74129b52 Jose A. Lopes
3851 74129b52 Jose A. Lopes
cpuavgloadWindowSize :: Int
3852 74129b52 Jose A. Lopes
cpuavgloadWindowSize = 600
3853 74129b52 Jose A. Lopes
3854 2924f169 Jose A. Lopes
-- | Mond's variable for periodical data collection
3855 2924f169 Jose A. Lopes
mondTimeInterval :: Int
3856 2924f169 Jose A. Lopes
mondTimeInterval = 5
3857 9b9e088c Raffa Santi
3858 9b9e088c Raffa Santi
-- * Disk access modes
3859 9b9e088c Raffa Santi
3860 9b9e088c Raffa Santi
diskUserspace :: String
3861 9b9e088c Raffa Santi
diskUserspace = Types.diskAccessModeToRaw DiskUserspace
3862 9b9e088c Raffa Santi
3863 9b9e088c Raffa Santi
diskKernelspace :: String
3864 9b9e088c Raffa Santi
diskKernelspace = Types.diskAccessModeToRaw DiskKernelspace
3865 9b9e088c Raffa Santi
3866 9b9e088c Raffa Santi
diskValidAccessModes :: FrozenSet String
3867 9b9e088c Raffa Santi
diskValidAccessModes =
3868 9b9e088c Raffa Santi
  ConstantUtils.mkSet $ map Types.diskAccessModeToRaw [minBound..]
3869 55f0626b Klaus Aehlig
3870 55f0626b Klaus Aehlig
-- | Timeout for queue draining in upgrades
3871 55f0626b Klaus Aehlig
upgradeQueueDrainTimeout :: Int
3872 55f0626b Klaus Aehlig
upgradeQueueDrainTimeout = 36 * 60 * 60 -- 1.5 days
3873 55f0626b Klaus Aehlig
3874 55f0626b Klaus Aehlig
-- | Intervall at which the queue is polled during upgrades
3875 55f0626b Klaus Aehlig
upgradeQueuePollInterval :: Int
3876 55f0626b Klaus Aehlig
upgradeQueuePollInterval  = 10