Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / HsConstants.hs @ e0007cf1

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