Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / Constants.hs @ 08fcaf55

History | View | Annotate | Download (122 kB)

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