root / src / Ganeti / HsConstants.hs @ ae8e7986
History | View | Annotate | Download (57.3 kB)
1 | 1b2adaa6 | Jose A. Lopes | {-| HsConstants contains the Haskell constants |
---|---|---|---|
2 | 1b2adaa6 | Jose A. Lopes | |
3 | 1b2adaa6 | Jose A. Lopes | This is a transitional module complementary to 'Ganeti.Constants'. It |
4 | 1b2adaa6 | Jose A. Lopes | is intended to contain the Haskell constants that are meant to be |
5 | 1b2adaa6 | Jose A. Lopes | generated in Python. |
6 | 1b2adaa6 | Jose A. Lopes | |
7 | c93041a5 | Jose A. Lopes | Do not write any definitions in this file other than constants. Do |
8 | c93041a5 | Jose A. Lopes | not even write helper functions. The definitions in this module are |
9 | c93041a5 | Jose A. Lopes | automatically stripped to build the Makefile.am target |
10 | c93041a5 | Jose A. Lopes | 'ListConstants.hs'. If there are helper functions in this module, |
11 | c93041a5 | Jose A. Lopes | they will also be dragged and it will cause compilation to fail. |
12 | c93041a5 | Jose A. Lopes | Therefore, all helper functions should go to a separate module and |
13 | c93041a5 | Jose A. Lopes | imported. |
14 | c93041a5 | Jose A. Lopes | |
15 | 1b2adaa6 | Jose A. Lopes | -} |
16 | 1b2adaa6 | Jose A. Lopes | |
17 | 1b2adaa6 | Jose A. Lopes | {- |
18 | 1b2adaa6 | Jose A. Lopes | |
19 | 1b2adaa6 | Jose A. Lopes | Copyright (C) 2013 Google Inc. |
20 | 1b2adaa6 | Jose A. Lopes | |
21 | 1b2adaa6 | Jose A. Lopes | This program is free software; you can redistribute it and/or modify |
22 | 1b2adaa6 | Jose A. Lopes | it under the terms of the GNU General Public License as published by |
23 | 1b2adaa6 | Jose A. Lopes | the Free Software Foundation; either version 2 of the License, or |
24 | 1b2adaa6 | Jose A. Lopes | (at your option) any later version. |
25 | 1b2adaa6 | Jose A. Lopes | |
26 | 1b2adaa6 | Jose A. Lopes | This program is distributed in the hope that it will be useful, but |
27 | 1b2adaa6 | Jose A. Lopes | WITHOUT ANY WARRANTY; without even the implied warranty of |
28 | 1b2adaa6 | Jose A. Lopes | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
29 | 1b2adaa6 | Jose A. Lopes | General Public License for more details. |
30 | 1b2adaa6 | Jose A. Lopes | |
31 | 1b2adaa6 | Jose A. Lopes | You should have received a copy of the GNU General Public License |
32 | 1b2adaa6 | Jose A. Lopes | along with this program; if not, write to the Free Software |
33 | 1b2adaa6 | Jose A. Lopes | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
34 | 1b2adaa6 | Jose A. Lopes | 02110-1301, USA. |
35 | 1b2adaa6 | Jose A. Lopes | |
36 | 1b2adaa6 | Jose A. Lopes | -} |
37 | 1b2adaa6 | Jose A. Lopes | module Ganeti.HsConstants where |
38 | 1b2adaa6 | Jose A. Lopes | |
39 | 9be1ff8c | Jose A. Lopes | import Control.Arrow ((***)) |
40 | cdac0552 | Jose A. Lopes | import Data.List ((\\)) |
41 | 6dc0cb59 | Jose A. Lopes | import Data.Map (Map) |
42 | ecf43dcb | Jose A. Lopes | import qualified Data.Map as Map (fromList, keys, insert) |
43 | 6dc0cb59 | Jose A. Lopes | |
44 | 26eca119 | Jose A. Lopes | import AutoConf |
45 | 5d4e1402 | Jose A. Lopes | import Ganeti.ConstantUtils (PythonChar(..), FrozenSet, Protocol(..), |
46 | 5d4e1402 | Jose A. Lopes | buildVersion) |
47 | df726590 | Jose A. Lopes | import qualified Ganeti.ConstantUtils as ConstantUtils |
48 | 1c31b263 | Jose A. Lopes | import Ganeti.Runtime (GanetiDaemon(..), MiscGroup(..), GanetiGroup(..), |
49 | 1c31b263 | Jose A. Lopes | ExtraLogReason(..)) |
50 | 8397ffde | Jose A. Lopes | import Ganeti.HTools.Types (AutoRepairResult(..), AutoRepairType(..)) |
51 | 8397ffde | Jose A. Lopes | import qualified Ganeti.HTools.Types as Types |
52 | df726590 | Jose A. Lopes | import Ganeti.Logging (SyslogUsage(..)) |
53 | df726590 | Jose A. Lopes | import qualified Ganeti.Logging as Logging (syslogUsageToRaw) |
54 | 1c31b263 | Jose A. Lopes | import qualified Ganeti.Runtime as Runtime |
55 | 85c48fbb | Jose A. Lopes | import Ganeti.Types |
56 | 85c48fbb | Jose A. Lopes | import qualified Ganeti.Types as Types |
57 | cdac0552 | Jose A. Lopes | import Ganeti.Confd.Types (ConfdRequestType(..), ConfdReqField(..), |
58 | cdac0552 | Jose A. Lopes | ConfdReplyStatus(..), ConfdNodeRole(..), |
59 | cdac0552 | Jose A. Lopes | ConfdErrorType(..)) |
60 | cdac0552 | Jose A. Lopes | import qualified Ganeti.Confd.Types as Types |
61 | 85c48fbb | Jose A. Lopes | |
62 | c03224f6 | Jose A. Lopes | {-# ANN module "HLint: ignore Use camelCase" #-} |
63 | c03224f6 | Jose A. Lopes | |
64 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('autotools/build-bash-completion') |
65 | 1c9e817d | Jose A. Lopes | |
66 | 1c9e817d | Jose A. Lopes | htoolsProgs :: [String] |
67 | 1c9e817d | Jose A. Lopes | htoolsProgs = AutoConf.htoolsProgs |
68 | 1c9e817d | Jose A. Lopes | |
69 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('lib/constants.py') |
70 | 3b170ad4 | Jose A. Lopes | |
71 | 3b170ad4 | Jose A. Lopes | drbdBarriers :: String |
72 | 3b170ad4 | Jose A. Lopes | drbdBarriers = AutoConf.drbdBarriers |
73 | 3b170ad4 | Jose A. Lopes | |
74 | 3b170ad4 | Jose A. Lopes | drbdNoMetaFlush :: Bool |
75 | 3b170ad4 | Jose A. Lopes | drbdNoMetaFlush = AutoConf.drbdNoMetaFlush |
76 | 3b170ad4 | Jose A. Lopes | |
77 | 3b170ad4 | Jose A. Lopes | lvmStripecount :: Int |
78 | 3b170ad4 | Jose A. Lopes | lvmStripecount = AutoConf.lvmStripecount |
79 | 3b170ad4 | Jose A. Lopes | |
80 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('lib/pathutils.py') |
81 | 1c9e817d | Jose A. Lopes | |
82 | 1c9e817d | Jose A. Lopes | -- ** Build-time constants |
83 | 1c9e817d | Jose A. Lopes | |
84 | 1c9e817d | Jose A. Lopes | exportDir :: String |
85 | 1c9e817d | Jose A. Lopes | exportDir = AutoConf.exportDir |
86 | 1c9e817d | Jose A. Lopes | |
87 | 1c9e817d | Jose A. Lopes | osSearchPath :: [String] |
88 | 1c9e817d | Jose A. Lopes | osSearchPath = AutoConf.osSearchPath |
89 | 1c9e817d | Jose A. Lopes | |
90 | 1c9e817d | Jose A. Lopes | esSearchPath :: [String] |
91 | 1c9e817d | Jose A. Lopes | esSearchPath = AutoConf.esSearchPath |
92 | 1c9e817d | Jose A. Lopes | |
93 | 1c9e817d | Jose A. Lopes | sshConfigDir :: String |
94 | 1c9e817d | Jose A. Lopes | sshConfigDir = AutoConf.sshConfigDir |
95 | 1c9e817d | Jose A. Lopes | |
96 | 1c9e817d | Jose A. Lopes | xenConfigDir :: String |
97 | 1c9e817d | Jose A. Lopes | xenConfigDir = AutoConf.xenConfigDir |
98 | 1c9e817d | Jose A. Lopes | |
99 | 1c9e817d | Jose A. Lopes | sysconfdir :: String |
100 | 1c9e817d | Jose A. Lopes | sysconfdir = AutoConf.sysconfdir |
101 | 1c9e817d | Jose A. Lopes | |
102 | 1c9e817d | Jose A. Lopes | toolsdir :: String |
103 | 1c9e817d | Jose A. Lopes | toolsdir = AutoConf.toolsdir |
104 | 1c9e817d | Jose A. Lopes | |
105 | 1c9e817d | Jose A. Lopes | localstatedir :: String |
106 | 1c9e817d | Jose A. Lopes | localstatedir = AutoConf.localstatedir |
107 | 1c9e817d | Jose A. Lopes | |
108 | 1c9e817d | Jose A. Lopes | -- ** Paths which don't change for a virtual cluster |
109 | 1c9e817d | Jose A. Lopes | |
110 | 1c9e817d | Jose A. Lopes | pkglibdir :: String |
111 | 1c9e817d | Jose A. Lopes | pkglibdir = AutoConf.pkglibdir |
112 | 1c9e817d | Jose A. Lopes | |
113 | 9bfcf2e9 | Klaus Aehlig | sharedir :: String |
114 | 9bfcf2e9 | Klaus Aehlig | sharedir = AutoConf.sharedir |
115 | 9bfcf2e9 | Klaus Aehlig | |
116 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('lib/build/sphinx_ext.py') |
117 | 1c9e817d | Jose A. Lopes | |
118 | 1c9e817d | Jose A. Lopes | manPages :: Map String Int |
119 | 1c9e817d | Jose A. Lopes | manPages = Map.fromList AutoConf.manPages |
120 | 1c9e817d | Jose A. Lopes | |
121 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for QA cluster only ('qa/qa_cluster.py') |
122 | 1c9e817d | Jose A. Lopes | |
123 | 1c9e817d | Jose A. Lopes | versionedsharedir :: String |
124 | 1c9e817d | Jose A. Lopes | versionedsharedir = AutoConf.versionedsharedir |
125 | 1c9e817d | Jose A. Lopes | |
126 | 1c9e817d | Jose A. Lopes | -- * 'autoconf' constants for Python only ('tests/py/docs_unittest.py') |
127 | 1c9e817d | Jose A. Lopes | |
128 | 1c9e817d | Jose A. Lopes | gntScripts :: [String] |
129 | 1c9e817d | Jose A. Lopes | gntScripts = AutoConf.gntScripts |
130 | 1c9e817d | Jose A. Lopes | |
131 | 3b170ad4 | Jose A. Lopes | -- * Various versions |
132 | 3b170ad4 | Jose A. Lopes | |
133 | 3b170ad4 | Jose A. Lopes | releaseVersion :: String |
134 | 3b170ad4 | Jose A. Lopes | releaseVersion = AutoConf.packageVersion |
135 | 3b170ad4 | Jose A. Lopes | |
136 | 8c44d5b3 | Klaus Aehlig | versionMajor :: Int |
137 | 8c44d5b3 | Klaus Aehlig | versionMajor = AutoConf.versionMajor |
138 | 8c44d5b3 | Klaus Aehlig | |
139 | 8c44d5b3 | Klaus Aehlig | versionMinor :: Int |
140 | 8c44d5b3 | Klaus Aehlig | versionMinor = AutoConf.versionMinor |
141 | 8c44d5b3 | Klaus Aehlig | |
142 | 8c44d5b3 | Klaus Aehlig | versionRevision :: Int |
143 | 8c44d5b3 | Klaus Aehlig | versionRevision = AutoConf.versionRevision |
144 | 8c44d5b3 | Klaus Aehlig | |
145 | 9b20010b | Klaus Aehlig | dirVersion :: String |
146 | 9b20010b | Klaus Aehlig | dirVersion = AutoConf.dirVersion |
147 | 9b20010b | Klaus Aehlig | |
148 | c87997d2 | Jose A. Lopes | osApiV10 :: Int |
149 | c87997d2 | Jose A. Lopes | osApiV10 = 10 |
150 | c87997d2 | Jose A. Lopes | |
151 | c87997d2 | Jose A. Lopes | osApiV15 :: Int |
152 | c87997d2 | Jose A. Lopes | osApiV15 = 15 |
153 | c87997d2 | Jose A. Lopes | |
154 | c87997d2 | Jose A. Lopes | osApiV20 :: Int |
155 | c87997d2 | Jose A. Lopes | osApiV20 = 20 |
156 | c87997d2 | Jose A. Lopes | |
157 | c87997d2 | Jose A. Lopes | osApiVersions :: FrozenSet Int |
158 | c87997d2 | Jose A. Lopes | osApiVersions = ConstantUtils.mkSet [osApiV10, osApiV15, osApiV20] |
159 | c87997d2 | Jose A. Lopes | |
160 | 14795b58 | Jose A. Lopes | exportVersion :: Int |
161 | 14795b58 | Jose A. Lopes | exportVersion = 0 |
162 | 14795b58 | Jose A. Lopes | |
163 | 14795b58 | Jose A. Lopes | rapiVersion :: Int |
164 | 14795b58 | Jose A. Lopes | rapiVersion = 2 |
165 | 14795b58 | Jose A. Lopes | |
166 | 3b170ad4 | Jose A. Lopes | configMajor :: Int |
167 | 3b170ad4 | Jose A. Lopes | configMajor = AutoConf.versionMajor |
168 | 3b170ad4 | Jose A. Lopes | |
169 | 3b170ad4 | Jose A. Lopes | configMinor :: Int |
170 | 3b170ad4 | Jose A. Lopes | configMinor = AutoConf.versionMinor |
171 | 3b170ad4 | Jose A. Lopes | |
172 | 3b170ad4 | Jose A. Lopes | -- | The configuration is supposed to remain stable across |
173 | 3b170ad4 | Jose A. Lopes | -- revisions. Therefore, the revision number is cleared to '0'. |
174 | 3b170ad4 | Jose A. Lopes | configRevision :: Int |
175 | 3b170ad4 | Jose A. Lopes | configRevision = 0 |
176 | 3b170ad4 | Jose A. Lopes | |
177 | 3b170ad4 | Jose A. Lopes | configVersion :: Int |
178 | 3b170ad4 | Jose A. Lopes | configVersion = buildVersion configMajor configMinor configRevision |
179 | 3b170ad4 | Jose A. Lopes | |
180 | 3b170ad4 | Jose A. Lopes | -- | Similarly to the configuration (see 'configRevision'), the |
181 | 3b170ad4 | Jose A. Lopes | -- protocols are supposed to remain stable across revisions. |
182 | 3b170ad4 | Jose A. Lopes | protocolVersion :: Int |
183 | 3b170ad4 | Jose A. Lopes | protocolVersion = buildVersion configMajor configMinor configRevision |
184 | 3b170ad4 | Jose A. Lopes | |
185 | c890f66a | Jose A. Lopes | -- * User separation |
186 | cdac0552 | Jose A. Lopes | |
187 | c890f66a | Jose A. Lopes | daemonsGroup :: String |
188 | c890f66a | Jose A. Lopes | daemonsGroup = Runtime.daemonGroup (ExtraGroup DaemonsGroup) |
189 | 85c48fbb | Jose A. Lopes | |
190 | c890f66a | Jose A. Lopes | adminGroup :: String |
191 | c890f66a | Jose A. Lopes | adminGroup = Runtime.daemonGroup (ExtraGroup AdminGroup) |
192 | 85c48fbb | Jose A. Lopes | |
193 | c890f66a | Jose A. Lopes | masterdUser :: String |
194 | c890f66a | Jose A. Lopes | masterdUser = Runtime.daemonUser GanetiMasterd |
195 | 85c48fbb | Jose A. Lopes | |
196 | c890f66a | Jose A. Lopes | masterdGroup :: String |
197 | c890f66a | Jose A. Lopes | masterdGroup = Runtime.daemonGroup (DaemonGroup GanetiMasterd) |
198 | 85c48fbb | Jose A. Lopes | |
199 | c890f66a | Jose A. Lopes | rapiUser :: String |
200 | c890f66a | Jose A. Lopes | rapiUser = Runtime.daemonUser GanetiRapi |
201 | 85c48fbb | Jose A. Lopes | |
202 | c890f66a | Jose A. Lopes | rapiGroup :: String |
203 | c890f66a | Jose A. Lopes | rapiGroup = Runtime.daemonGroup (DaemonGroup GanetiRapi) |
204 | 85c48fbb | Jose A. Lopes | |
205 | c890f66a | Jose A. Lopes | confdUser :: String |
206 | c890f66a | Jose A. Lopes | confdUser = Runtime.daemonUser GanetiConfd |
207 | 85c48fbb | Jose A. Lopes | |
208 | c890f66a | Jose A. Lopes | confdGroup :: String |
209 | c890f66a | Jose A. Lopes | confdGroup = Runtime.daemonGroup (DaemonGroup GanetiConfd) |
210 | 85c48fbb | Jose A. Lopes | |
211 | c890f66a | Jose A. Lopes | luxidUser :: String |
212 | c890f66a | Jose A. Lopes | luxidUser = Runtime.daemonUser GanetiLuxid |
213 | 85c48fbb | Jose A. Lopes | |
214 | c890f66a | Jose A. Lopes | luxidGroup :: String |
215 | c890f66a | Jose A. Lopes | luxidGroup = Runtime.daemonGroup (DaemonGroup GanetiLuxid) |
216 | 85c48fbb | Jose A. Lopes | |
217 | c890f66a | Jose A. Lopes | nodedUser :: String |
218 | c890f66a | Jose A. Lopes | nodedUser = Runtime.daemonUser GanetiNoded |
219 | 85c48fbb | Jose A. Lopes | |
220 | c890f66a | Jose A. Lopes | nodedGroup :: String |
221 | c890f66a | Jose A. Lopes | nodedGroup = Runtime.daemonGroup (DaemonGroup GanetiNoded) |
222 | 85c48fbb | Jose A. Lopes | |
223 | c890f66a | Jose A. Lopes | mondUser :: String |
224 | c890f66a | Jose A. Lopes | mondUser = Runtime.daemonUser GanetiMond |
225 | 85c48fbb | Jose A. Lopes | |
226 | c890f66a | Jose A. Lopes | mondGroup :: String |
227 | c890f66a | Jose A. Lopes | mondGroup = Runtime.daemonGroup (DaemonGroup GanetiMond) |
228 | 85c48fbb | Jose A. Lopes | |
229 | c890f66a | Jose A. Lopes | sshLoginUser :: String |
230 | c890f66a | Jose A. Lopes | sshLoginUser = AutoConf.sshLoginUser |
231 | 85c48fbb | Jose A. Lopes | |
232 | c890f66a | Jose A. Lopes | sshConsoleUser :: String |
233 | c890f66a | Jose A. Lopes | sshConsoleUser = AutoConf.sshConsoleUser |
234 | 85c48fbb | Jose A. Lopes | |
235 | e0cd6f5d | Jose A. Lopes | -- * Cpu pinning separators and constants |
236 | e0cd6f5d | Jose A. Lopes | |
237 | e0cd6f5d | Jose A. Lopes | cpuPinningSep :: String |
238 | e0cd6f5d | Jose A. Lopes | cpuPinningSep = ":" |
239 | e0cd6f5d | Jose A. Lopes | |
240 | e0cd6f5d | Jose A. Lopes | cpuPinningAll :: String |
241 | e0cd6f5d | Jose A. Lopes | cpuPinningAll = "all" |
242 | e0cd6f5d | Jose A. Lopes | |
243 | e0cd6f5d | Jose A. Lopes | -- | Internal representation of "all" |
244 | e0cd6f5d | Jose A. Lopes | cpuPinningAllVal :: Int |
245 | e0cd6f5d | Jose A. Lopes | cpuPinningAllVal = -1 |
246 | e0cd6f5d | Jose A. Lopes | |
247 | e0cd6f5d | Jose A. Lopes | -- | One "all" entry in a CPU list means CPU pinning is off |
248 | e0cd6f5d | Jose A. Lopes | cpuPinningOff :: [Int] |
249 | e0cd6f5d | Jose A. Lopes | cpuPinningOff = [cpuPinningAllVal] |
250 | e0cd6f5d | Jose A. Lopes | |
251 | e0cd6f5d | Jose A. Lopes | -- | A Xen-specific implementation detail is that there is no way to |
252 | e0cd6f5d | Jose A. Lopes | -- actually say "use any cpu for pinning" in a Xen configuration file, |
253 | e0cd6f5d | Jose A. Lopes | -- as opposed to the command line, where you can say |
254 | e0cd6f5d | Jose A. Lopes | -- @ |
255 | e0cd6f5d | Jose A. Lopes | -- xm vcpu-pin <domain> <vcpu> all |
256 | e0cd6f5d | Jose A. Lopes | -- @ |
257 | e0cd6f5d | Jose A. Lopes | -- |
258 | e0cd6f5d | Jose A. Lopes | -- The workaround used in Xen is "0-63" (see source code function |
259 | e0cd6f5d | Jose A. Lopes | -- "xm_vcpu_pin" in @<xen-source>/tools/python/xen/xm/main.py@). |
260 | e0cd6f5d | Jose A. Lopes | -- |
261 | e0cd6f5d | Jose A. Lopes | -- To support future changes, the following constant is treated as a |
262 | e0cd6f5d | Jose A. Lopes | -- blackbox string that simply means "use any cpu for pinning under |
263 | e0cd6f5d | Jose A. Lopes | -- xen". |
264 | e0cd6f5d | Jose A. Lopes | cpuPinningAllXen :: String |
265 | e0cd6f5d | Jose A. Lopes | cpuPinningAllXen = "0-63" |
266 | e0cd6f5d | Jose A. Lopes | |
267 | e0cd6f5d | Jose A. Lopes | -- | A KVM-specific implementation detail - the following value is |
268 | e0cd6f5d | Jose A. Lopes | -- used to set CPU affinity to all processors (--0 through --31), per |
269 | e0cd6f5d | Jose A. Lopes | -- taskset man page. |
270 | e0cd6f5d | Jose A. Lopes | -- |
271 | e0cd6f5d | Jose A. Lopes | -- FIXME: This only works for machines with up to 32 CPU cores |
272 | e0cd6f5d | Jose A. Lopes | cpuPinningAllKvm :: Int |
273 | e0cd6f5d | Jose A. Lopes | cpuPinningAllKvm = 0xFFFFFFFF |
274 | e0cd6f5d | Jose A. Lopes | |
275 | 74129b52 | Jose A. Lopes | -- * Wipe |
276 | 74129b52 | Jose A. Lopes | |
277 | 74129b52 | Jose A. Lopes | ddCmd :: String |
278 | 74129b52 | Jose A. Lopes | ddCmd = "dd" |
279 | 74129b52 | Jose A. Lopes | |
280 | 74129b52 | Jose A. Lopes | -- | 1GB |
281 | 74129b52 | Jose A. Lopes | maxWipeChunk :: Int |
282 | 74129b52 | Jose A. Lopes | maxWipeChunk = 1024 |
283 | 74129b52 | Jose A. Lopes | |
284 | 74129b52 | Jose A. Lopes | minWipeChunkPercent :: Int |
285 | 74129b52 | Jose A. Lopes | minWipeChunkPercent = 10 |
286 | 74129b52 | Jose A. Lopes | |
287 | 74129b52 | Jose A. Lopes | -- * Directories |
288 | 74129b52 | Jose A. Lopes | |
289 | 74129b52 | Jose A. Lopes | runDirsMode :: Int |
290 | 74129b52 | Jose A. Lopes | runDirsMode = 0o775 |
291 | 74129b52 | Jose A. Lopes | |
292 | 74129b52 | Jose A. Lopes | secureDirMode :: Int |
293 | 74129b52 | Jose A. Lopes | secureDirMode = 0o700 |
294 | 74129b52 | Jose A. Lopes | |
295 | 74129b52 | Jose A. Lopes | secureFileMode :: Int |
296 | 74129b52 | Jose A. Lopes | secureFileMode = 0o600 |
297 | 74129b52 | Jose A. Lopes | |
298 | 74129b52 | Jose A. Lopes | adoptableBlockdevRoot :: String |
299 | 74129b52 | Jose A. Lopes | adoptableBlockdevRoot = "/dev/disk/" |
300 | 74129b52 | Jose A. Lopes | |
301 | 3b170ad4 | Jose A. Lopes | -- * 'autoconf' enable/disable |
302 | 3b170ad4 | Jose A. Lopes | |
303 | 3b170ad4 | Jose A. Lopes | enableConfd :: Bool |
304 | 3b170ad4 | Jose A. Lopes | enableConfd = AutoConf.enableConfd |
305 | 3b170ad4 | Jose A. Lopes | |
306 | 3b170ad4 | Jose A. Lopes | enableMond :: Bool |
307 | 3b170ad4 | Jose A. Lopes | enableMond = AutoConf.enableMond |
308 | 3b170ad4 | Jose A. Lopes | |
309 | 3b170ad4 | Jose A. Lopes | enableRestrictedCommands :: Bool |
310 | 3b170ad4 | Jose A. Lopes | enableRestrictedCommands = AutoConf.enableRestrictedCommands |
311 | 3b170ad4 | Jose A. Lopes | |
312 | 3b170ad4 | Jose A. Lopes | enableSplitQuery :: Bool |
313 | 3b170ad4 | Jose A. Lopes | enableSplitQuery = AutoConf.enableSplitQuery |
314 | 3b170ad4 | Jose A. Lopes | |
315 | c890f66a | Jose A. Lopes | -- * SSH constants |
316 | 85c48fbb | Jose A. Lopes | |
317 | c890f66a | Jose A. Lopes | ssh :: String |
318 | c890f66a | Jose A. Lopes | ssh = "ssh" |
319 | 85c48fbb | Jose A. Lopes | |
320 | c890f66a | Jose A. Lopes | scp :: String |
321 | c890f66a | Jose A. Lopes | scp = "scp" |
322 | 85c48fbb | Jose A. Lopes | |
323 | c890f66a | Jose A. Lopes | -- * Daemons |
324 | 85c48fbb | Jose A. Lopes | |
325 | c890f66a | Jose A. Lopes | confd :: String |
326 | c890f66a | Jose A. Lopes | confd = Runtime.daemonName GanetiConfd |
327 | 85c48fbb | Jose A. Lopes | |
328 | c890f66a | Jose A. Lopes | masterd :: String |
329 | c890f66a | Jose A. Lopes | masterd = Runtime.daemonName GanetiMasterd |
330 | 85c48fbb | Jose A. Lopes | |
331 | c890f66a | Jose A. Lopes | mond :: String |
332 | c890f66a | Jose A. Lopes | mond = Runtime.daemonName GanetiMond |
333 | 85c48fbb | Jose A. Lopes | |
334 | c890f66a | Jose A. Lopes | noded :: String |
335 | c890f66a | Jose A. Lopes | noded = Runtime.daemonName GanetiNoded |
336 | 85c48fbb | Jose A. Lopes | |
337 | c890f66a | Jose A. Lopes | luxid :: String |
338 | c890f66a | Jose A. Lopes | luxid = Runtime.daemonName GanetiLuxid |
339 | 85c48fbb | Jose A. Lopes | |
340 | c890f66a | Jose A. Lopes | rapi :: String |
341 | c890f66a | Jose A. Lopes | rapi = Runtime.daemonName GanetiRapi |
342 | 85c48fbb | Jose A. Lopes | |
343 | c890f66a | Jose A. Lopes | daemons :: FrozenSet String |
344 | c890f66a | Jose A. Lopes | daemons = |
345 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet [confd, |
346 | c890f66a | Jose A. Lopes | luxid, |
347 | c890f66a | Jose A. Lopes | masterd, |
348 | c890f66a | Jose A. Lopes | mond, |
349 | c890f66a | Jose A. Lopes | noded, |
350 | c890f66a | Jose A. Lopes | rapi] |
351 | 85c48fbb | Jose A. Lopes | |
352 | c890f66a | Jose A. Lopes | defaultConfdPort :: Int |
353 | c890f66a | Jose A. Lopes | defaultConfdPort = 1814 |
354 | 85c48fbb | Jose A. Lopes | |
355 | c890f66a | Jose A. Lopes | defaultMondPort :: Int |
356 | c890f66a | Jose A. Lopes | defaultMondPort = 1815 |
357 | 85c48fbb | Jose A. Lopes | |
358 | c890f66a | Jose A. Lopes | defaultNodedPort :: Int |
359 | c890f66a | Jose A. Lopes | defaultNodedPort = 1811 |
360 | 85c48fbb | Jose A. Lopes | |
361 | c890f66a | Jose A. Lopes | defaultRapiPort :: Int |
362 | c890f66a | Jose A. Lopes | defaultRapiPort = 5080 |
363 | 85c48fbb | Jose A. Lopes | |
364 | c890f66a | Jose A. Lopes | daemonsPorts :: Map String (Protocol, Int) |
365 | c890f66a | Jose A. Lopes | daemonsPorts = |
366 | c890f66a | Jose A. Lopes | Map.fromList [(confd, (Udp, defaultConfdPort)), |
367 | c890f66a | Jose A. Lopes | (mond, (Tcp, defaultMondPort)), |
368 | c890f66a | Jose A. Lopes | (noded, (Tcp, defaultNodedPort)), |
369 | c890f66a | Jose A. Lopes | (rapi, (Tcp, defaultRapiPort)), |
370 | c890f66a | Jose A. Lopes | (ssh, (Tcp, 22))] |
371 | 85c48fbb | Jose A. Lopes | |
372 | 74129b52 | Jose A. Lopes | firstDrbdPort :: Int |
373 | 74129b52 | Jose A. Lopes | firstDrbdPort = 11000 |
374 | 74129b52 | Jose A. Lopes | |
375 | 74129b52 | Jose A. Lopes | lastDrbdPort :: Int |
376 | 74129b52 | Jose A. Lopes | lastDrbdPort = 14999 |
377 | 74129b52 | Jose A. Lopes | |
378 | c890f66a | Jose A. Lopes | daemonsLogbase :: Map String String |
379 | c890f66a | Jose A. Lopes | daemonsLogbase = |
380 | c890f66a | Jose A. Lopes | Map.fromList |
381 | c890f66a | Jose A. Lopes | [ (Runtime.daemonName d, Runtime.daemonLogBase d) | d <- [minBound..] ] |
382 | 85c48fbb | Jose A. Lopes | |
383 | c890f66a | Jose A. Lopes | extraLogreasonAccess :: String |
384 | c890f66a | Jose A. Lopes | extraLogreasonAccess = Runtime.daemonsExtraLogbase GanetiMond AccessLog |
385 | 85c48fbb | Jose A. Lopes | |
386 | c890f66a | Jose A. Lopes | extraLogreasonError :: String |
387 | c890f66a | Jose A. Lopes | extraLogreasonError = Runtime.daemonsExtraLogbase GanetiMond ErrorLog |
388 | 85c48fbb | Jose A. Lopes | |
389 | c890f66a | Jose A. Lopes | devConsole :: String |
390 | c890f66a | Jose A. Lopes | devConsole = ConstantUtils.devConsole |
391 | 85c48fbb | Jose A. Lopes | |
392 | 0412a686 | Jose A. Lopes | procMounts :: String |
393 | 0412a686 | Jose A. Lopes | procMounts = "/proc/mounts" |
394 | 0412a686 | Jose A. Lopes | |
395 | 5d4e1402 | Jose A. Lopes | -- * Luxi (Local UniX Interface) related constants |
396 | 5d4e1402 | Jose A. Lopes | |
397 | 5d4e1402 | Jose A. Lopes | luxiEom :: PythonChar |
398 | 5d4e1402 | Jose A. Lopes | luxiEom = PythonChar '\x03' |
399 | 5d4e1402 | Jose A. Lopes | |
400 | 5d4e1402 | Jose A. Lopes | -- | Environment variable for the luxi override socket |
401 | 5d4e1402 | Jose A. Lopes | luxiOverride :: String |
402 | 5d4e1402 | Jose A. Lopes | luxiOverride = "FORCE_LUXI_SOCKET" |
403 | 5d4e1402 | Jose A. Lopes | |
404 | 5d4e1402 | Jose A. Lopes | luxiOverrideMaster :: String |
405 | 5d4e1402 | Jose A. Lopes | luxiOverrideMaster = "master" |
406 | 5d4e1402 | Jose A. Lopes | |
407 | 5d4e1402 | Jose A. Lopes | luxiOverrideQuery :: String |
408 | 5d4e1402 | Jose A. Lopes | luxiOverrideQuery = "query" |
409 | 5d4e1402 | Jose A. Lopes | |
410 | 5d4e1402 | Jose A. Lopes | luxiVersion :: Int |
411 | 5d4e1402 | Jose A. Lopes | luxiVersion = configVersion |
412 | 5d4e1402 | Jose A. Lopes | |
413 | c890f66a | Jose A. Lopes | -- * Syslog |
414 | 85c48fbb | Jose A. Lopes | |
415 | c890f66a | Jose A. Lopes | syslogUsage :: String |
416 | c890f66a | Jose A. Lopes | syslogUsage = AutoConf.syslogUsage |
417 | 85c48fbb | Jose A. Lopes | |
418 | c890f66a | Jose A. Lopes | syslogNo :: String |
419 | c890f66a | Jose A. Lopes | syslogNo = Logging.syslogUsageToRaw SyslogNo |
420 | 85c48fbb | Jose A. Lopes | |
421 | c890f66a | Jose A. Lopes | syslogYes :: String |
422 | c890f66a | Jose A. Lopes | syslogYes = Logging.syslogUsageToRaw SyslogYes |
423 | 85c48fbb | Jose A. Lopes | |
424 | c890f66a | Jose A. Lopes | syslogOnly :: String |
425 | c890f66a | Jose A. Lopes | syslogOnly = Logging.syslogUsageToRaw SyslogOnly |
426 | 85c48fbb | Jose A. Lopes | |
427 | c890f66a | Jose A. Lopes | syslogSocket :: String |
428 | c890f66a | Jose A. Lopes | syslogSocket = "/dev/log" |
429 | 85c48fbb | Jose A. Lopes | |
430 | 0412a686 | Jose A. Lopes | exportConfFile :: String |
431 | 0412a686 | Jose A. Lopes | exportConfFile = "config.ini" |
432 | 0412a686 | Jose A. Lopes | |
433 | c890f66a | Jose A. Lopes | -- * Xen |
434 | 85c48fbb | Jose A. Lopes | |
435 | c890f66a | Jose A. Lopes | xenBootloader :: String |
436 | c890f66a | Jose A. Lopes | xenBootloader = AutoConf.xenBootloader |
437 | 85c48fbb | Jose A. Lopes | |
438 | c890f66a | Jose A. Lopes | xenCmdXl :: String |
439 | c890f66a | Jose A. Lopes | xenCmdXl = "xl" |
440 | 85c48fbb | Jose A. Lopes | |
441 | c890f66a | Jose A. Lopes | xenCmdXm :: String |
442 | c890f66a | Jose A. Lopes | xenCmdXm = "xm" |
443 | 85c48fbb | Jose A. Lopes | |
444 | c890f66a | Jose A. Lopes | xenInitrd :: String |
445 | c890f66a | Jose A. Lopes | xenInitrd = AutoConf.xenInitrd |
446 | 85c48fbb | Jose A. Lopes | |
447 | c890f66a | Jose A. Lopes | xenKernel :: String |
448 | c890f66a | Jose A. Lopes | xenKernel = AutoConf.xenKernel |
449 | 85c48fbb | Jose A. Lopes | |
450 | c890f66a | Jose A. Lopes | -- FIXME: perhaps rename to 'validXenCommands' for consistency with |
451 | c890f66a | Jose A. Lopes | -- other constants |
452 | c890f66a | Jose A. Lopes | knownXenCommands :: FrozenSet String |
453 | c890f66a | Jose A. Lopes | knownXenCommands = ConstantUtils.mkSet [xenCmdXl, xenCmdXm] |
454 | 85c48fbb | Jose A. Lopes | |
455 | 3b170ad4 | Jose A. Lopes | -- * KVM and socat |
456 | 3b170ad4 | Jose A. Lopes | |
457 | 3b170ad4 | Jose A. Lopes | kvmPath :: String |
458 | 3b170ad4 | Jose A. Lopes | kvmPath = AutoConf.kvmPath |
459 | 3b170ad4 | Jose A. Lopes | |
460 | 3b170ad4 | Jose A. Lopes | kvmKernel :: String |
461 | 3b170ad4 | Jose A. Lopes | kvmKernel = AutoConf.kvmKernel |
462 | 3b170ad4 | Jose A. Lopes | |
463 | 3b170ad4 | Jose A. Lopes | socatEscapeCode :: String |
464 | 3b170ad4 | Jose A. Lopes | socatEscapeCode = "0x1d" |
465 | 3b170ad4 | Jose A. Lopes | |
466 | 3b170ad4 | Jose A. Lopes | socatPath :: String |
467 | 3b170ad4 | Jose A. Lopes | socatPath = AutoConf.socatPath |
468 | 3b170ad4 | Jose A. Lopes | |
469 | 3b170ad4 | Jose A. Lopes | socatUseCompress :: Bool |
470 | 3b170ad4 | Jose A. Lopes | socatUseCompress = AutoConf.socatUseCompress |
471 | 3b170ad4 | Jose A. Lopes | |
472 | 3b170ad4 | Jose A. Lopes | socatUseEscape :: Bool |
473 | 3b170ad4 | Jose A. Lopes | socatUseEscape = AutoConf.socatUseEscape |
474 | 3b170ad4 | Jose A. Lopes | |
475 | 3f5fd161 | Jose A. Lopes | -- * Console types |
476 | 3f5fd161 | Jose A. Lopes | |
477 | 3f5fd161 | Jose A. Lopes | -- | Display a message for console access |
478 | 3f5fd161 | Jose A. Lopes | consMessage :: String |
479 | 3f5fd161 | Jose A. Lopes | consMessage = "msg" |
480 | 3f5fd161 | Jose A. Lopes | |
481 | 3f5fd161 | Jose A. Lopes | -- | Console as SPICE server |
482 | 3f5fd161 | Jose A. Lopes | consSpice :: String |
483 | 3f5fd161 | Jose A. Lopes | consSpice = "spice" |
484 | 3f5fd161 | Jose A. Lopes | |
485 | 3f5fd161 | Jose A. Lopes | -- | Console as SSH command |
486 | 3f5fd161 | Jose A. Lopes | consSsh :: String |
487 | 3f5fd161 | Jose A. Lopes | consSsh = "ssh" |
488 | 3f5fd161 | Jose A. Lopes | |
489 | 3f5fd161 | Jose A. Lopes | -- | Console as VNC server |
490 | 3f5fd161 | Jose A. Lopes | consVnc :: String |
491 | 3f5fd161 | Jose A. Lopes | consVnc = "vnc" |
492 | 3f5fd161 | Jose A. Lopes | |
493 | 3f5fd161 | Jose A. Lopes | consAll :: FrozenSet String |
494 | 3f5fd161 | Jose A. Lopes | consAll = ConstantUtils.mkSet [consMessage, consSpice, consSsh, consVnc] |
495 | 3f5fd161 | Jose A. Lopes | |
496 | 3f5fd161 | Jose A. Lopes | -- | RSA key bit length |
497 | 3f5fd161 | Jose A. Lopes | -- |
498 | 3f5fd161 | Jose A. Lopes | -- For RSA keys more bits are better, but they also make operations |
499 | 3f5fd161 | Jose A. Lopes | -- more expensive. NIST SP 800-131 recommends a minimum of 2048 bits |
500 | 3f5fd161 | Jose A. Lopes | -- from the year 2010 on. |
501 | 3f5fd161 | Jose A. Lopes | rsaKeyBits :: Int |
502 | 3f5fd161 | Jose A. Lopes | rsaKeyBits = 2048 |
503 | 3f5fd161 | Jose A. Lopes | |
504 | 3f5fd161 | Jose A. Lopes | -- | Ciphers allowed for SSL connections. |
505 | 3f5fd161 | Jose A. Lopes | -- |
506 | 3f5fd161 | Jose A. Lopes | -- For the format, see ciphers(1). A better way to disable ciphers |
507 | 3f5fd161 | Jose A. Lopes | -- would be to use the exclamation mark (!), but socat versions below |
508 | 3f5fd161 | Jose A. Lopes | -- 1.5 can't parse exclamation marks in options properly. When |
509 | 3f5fd161 | Jose A. Lopes | -- modifying the ciphers, ensure not to accidentially add something |
510 | 3f5fd161 | Jose A. Lopes | -- after it's been removed. Use the "openssl" utility to check the |
511 | 3f5fd161 | Jose A. Lopes | -- allowed ciphers, e.g. "openssl ciphers -v HIGH:-DES". |
512 | 3f5fd161 | Jose A. Lopes | opensslCiphers :: String |
513 | 3f5fd161 | Jose A. Lopes | opensslCiphers = "HIGH:-DES:-3DES:-EXPORT:-ADH" |
514 | 3f5fd161 | Jose A. Lopes | |
515 | 3f5fd161 | Jose A. Lopes | -- * X509 |
516 | 3f5fd161 | Jose A. Lopes | |
517 | 3f5fd161 | Jose A. Lopes | -- | commonName (CN) used in certificates |
518 | 3f5fd161 | Jose A. Lopes | x509CertCn :: String |
519 | 3f5fd161 | Jose A. Lopes | x509CertCn = "ganeti.example.com" |
520 | 3f5fd161 | Jose A. Lopes | |
521 | 3f5fd161 | Jose A. Lopes | -- | Default validity of certificates in days |
522 | 3f5fd161 | Jose A. Lopes | x509CertDefaultValidity :: Int |
523 | 3f5fd161 | Jose A. Lopes | x509CertDefaultValidity = 365 * 5 |
524 | 3f5fd161 | Jose A. Lopes | |
525 | 3f5fd161 | Jose A. Lopes | x509CertSignatureHeader :: String |
526 | 3f5fd161 | Jose A. Lopes | x509CertSignatureHeader = "X-Ganeti-Signature" |
527 | 3f5fd161 | Jose A. Lopes | |
528 | 3f5fd161 | Jose A. Lopes | -- | Digest used to sign certificates ("openssl x509" uses SHA1 by default) |
529 | 3f5fd161 | Jose A. Lopes | x509CertSignDigest :: String |
530 | 3f5fd161 | Jose A. Lopes | x509CertSignDigest = "SHA1" |
531 | 3f5fd161 | Jose A. Lopes | |
532 | 3f5fd161 | Jose A. Lopes | -- * Import/export daemon mode |
533 | 3f5fd161 | Jose A. Lopes | |
534 | 3f5fd161 | Jose A. Lopes | iemExport :: String |
535 | 3f5fd161 | Jose A. Lopes | iemExport = "export" |
536 | 3f5fd161 | Jose A. Lopes | |
537 | 3f5fd161 | Jose A. Lopes | iemImport :: String |
538 | 3f5fd161 | Jose A. Lopes | iemImport = "import" |
539 | 3f5fd161 | Jose A. Lopes | |
540 | 3f5fd161 | Jose A. Lopes | -- * Import/export transport compression |
541 | 3f5fd161 | Jose A. Lopes | |
542 | 3f5fd161 | Jose A. Lopes | iecGzip :: String |
543 | 3f5fd161 | Jose A. Lopes | iecGzip = "gzip" |
544 | 3f5fd161 | Jose A. Lopes | |
545 | 3f5fd161 | Jose A. Lopes | iecNone :: String |
546 | 3f5fd161 | Jose A. Lopes | iecNone = "none" |
547 | 3f5fd161 | Jose A. Lopes | |
548 | 3f5fd161 | Jose A. Lopes | iecAll :: [String] |
549 | 3f5fd161 | Jose A. Lopes | iecAll = [iecGzip, iecNone] |
550 | 3f5fd161 | Jose A. Lopes | |
551 | 3f5fd161 | Jose A. Lopes | ieCustomSize :: String |
552 | 3f5fd161 | Jose A. Lopes | ieCustomSize = "fd" |
553 | 3f5fd161 | Jose A. Lopes | |
554 | 3f5fd161 | Jose A. Lopes | -- * Import/export I/O |
555 | 3f5fd161 | Jose A. Lopes | |
556 | 3f5fd161 | Jose A. Lopes | -- | Direct file I/O, equivalent to a shell's I/O redirection using |
557 | 3f5fd161 | Jose A. Lopes | -- '<' or '>' |
558 | 3f5fd161 | Jose A. Lopes | ieioFile :: String |
559 | 3f5fd161 | Jose A. Lopes | ieioFile = "file" |
560 | 3f5fd161 | Jose A. Lopes | |
561 | 3f5fd161 | Jose A. Lopes | -- | Raw block device I/O using "dd" |
562 | 3f5fd161 | Jose A. Lopes | ieioRawDisk :: String |
563 | 3f5fd161 | Jose A. Lopes | ieioRawDisk = "raw" |
564 | 3f5fd161 | Jose A. Lopes | |
565 | 3f5fd161 | Jose A. Lopes | -- | OS definition import/export script |
566 | 3f5fd161 | Jose A. Lopes | ieioScript :: String |
567 | 3f5fd161 | Jose A. Lopes | ieioScript = "script" |
568 | 3f5fd161 | Jose A. Lopes | |
569 | 3f5fd161 | Jose A. Lopes | -- * Hooks |
570 | 3f5fd161 | Jose A. Lopes | |
571 | 3f5fd161 | Jose A. Lopes | hooksNameCfgupdate :: String |
572 | 3f5fd161 | Jose A. Lopes | hooksNameCfgupdate = "config-update" |
573 | 3f5fd161 | Jose A. Lopes | |
574 | 3f5fd161 | Jose A. Lopes | hooksNameWatcher :: String |
575 | 3f5fd161 | Jose A. Lopes | hooksNameWatcher = "watcher" |
576 | 3f5fd161 | Jose A. Lopes | |
577 | 3f5fd161 | Jose A. Lopes | hooksPath :: String |
578 | 3f5fd161 | Jose A. Lopes | hooksPath = "/sbin:/bin:/usr/sbin:/usr/bin" |
579 | 3f5fd161 | Jose A. Lopes | |
580 | 3f5fd161 | Jose A. Lopes | hooksPhasePost :: String |
581 | 3f5fd161 | Jose A. Lopes | hooksPhasePost = "post" |
582 | 3f5fd161 | Jose A. Lopes | |
583 | 3f5fd161 | Jose A. Lopes | hooksPhasePre :: String |
584 | 3f5fd161 | Jose A. Lopes | hooksPhasePre = "pre" |
585 | 3f5fd161 | Jose A. Lopes | |
586 | 3f5fd161 | Jose A. Lopes | hooksVersion :: Int |
587 | 3f5fd161 | Jose A. Lopes | hooksVersion = 2 |
588 | 3f5fd161 | Jose A. Lopes | |
589 | 3f5fd161 | Jose A. Lopes | -- * Hooks subject type (what object type does the LU deal with) |
590 | 3f5fd161 | Jose A. Lopes | |
591 | 3f5fd161 | Jose A. Lopes | htypeCluster :: String |
592 | 3f5fd161 | Jose A. Lopes | htypeCluster = "CLUSTER" |
593 | 3f5fd161 | Jose A. Lopes | |
594 | 3f5fd161 | Jose A. Lopes | htypeGroup :: String |
595 | 3f5fd161 | Jose A. Lopes | htypeGroup = "GROUP" |
596 | 3f5fd161 | Jose A. Lopes | |
597 | 3f5fd161 | Jose A. Lopes | htypeInstance :: String |
598 | 3f5fd161 | Jose A. Lopes | htypeInstance = "INSTANCE" |
599 | 3f5fd161 | Jose A. Lopes | |
600 | 3f5fd161 | Jose A. Lopes | htypeNetwork :: String |
601 | 3f5fd161 | Jose A. Lopes | htypeNetwork = "NETWORK" |
602 | 3f5fd161 | Jose A. Lopes | |
603 | 3f5fd161 | Jose A. Lopes | htypeNode :: String |
604 | 3f5fd161 | Jose A. Lopes | htypeNode = "NODE" |
605 | 3f5fd161 | Jose A. Lopes | |
606 | 3f5fd161 | Jose A. Lopes | -- * Hkr |
607 | 3f5fd161 | Jose A. Lopes | |
608 | 3f5fd161 | Jose A. Lopes | hkrSkip :: Int |
609 | 3f5fd161 | Jose A. Lopes | hkrSkip = 0 |
610 | 3f5fd161 | Jose A. Lopes | |
611 | 3f5fd161 | Jose A. Lopes | hkrFail :: Int |
612 | 3f5fd161 | Jose A. Lopes | hkrFail = 1 |
613 | 3f5fd161 | Jose A. Lopes | |
614 | 3f5fd161 | Jose A. Lopes | hkrSuccess :: Int |
615 | 3f5fd161 | Jose A. Lopes | hkrSuccess = 2 |
616 | 3f5fd161 | Jose A. Lopes | |
617 | c890f66a | Jose A. Lopes | -- * Storage types |
618 | 85c48fbb | Jose A. Lopes | |
619 | c890f66a | Jose A. Lopes | stBlock :: String |
620 | c890f66a | Jose A. Lopes | stBlock = Types.storageTypeToRaw StorageBlock |
621 | 85c48fbb | Jose A. Lopes | |
622 | c890f66a | Jose A. Lopes | stDiskless :: String |
623 | c890f66a | Jose A. Lopes | stDiskless = Types.storageTypeToRaw StorageDiskless |
624 | 85c48fbb | Jose A. Lopes | |
625 | c890f66a | Jose A. Lopes | stExt :: String |
626 | c890f66a | Jose A. Lopes | stExt = Types.storageTypeToRaw StorageExt |
627 | 85c48fbb | Jose A. Lopes | |
628 | c890f66a | Jose A. Lopes | stFile :: String |
629 | c890f66a | Jose A. Lopes | stFile = Types.storageTypeToRaw StorageFile |
630 | 85c48fbb | Jose A. Lopes | |
631 | c890f66a | Jose A. Lopes | stLvmPv :: String |
632 | c890f66a | Jose A. Lopes | stLvmPv = Types.storageTypeToRaw StorageLvmPv |
633 | 85c48fbb | Jose A. Lopes | |
634 | c890f66a | Jose A. Lopes | stLvmVg :: String |
635 | c890f66a | Jose A. Lopes | stLvmVg = Types.storageTypeToRaw StorageLvmVg |
636 | 85c48fbb | Jose A. Lopes | |
637 | c890f66a | Jose A. Lopes | stRados :: String |
638 | c890f66a | Jose A. Lopes | stRados = Types.storageTypeToRaw StorageRados |
639 | 85c48fbb | Jose A. Lopes | |
640 | c890f66a | Jose A. Lopes | storageTypes :: FrozenSet String |
641 | c890f66a | Jose A. Lopes | storageTypes = ConstantUtils.mkSet $ map Types.storageTypeToRaw [minBound..] |
642 | 85c48fbb | Jose A. Lopes | |
643 | 9be1ff8c | Jose A. Lopes | -- | The set of storage types for which storage reporting is available |
644 | 9be1ff8c | Jose A. Lopes | -- |
645 | 9be1ff8c | Jose A. Lopes | -- FIXME: Remove this, once storage reporting is available for all |
646 | 9be1ff8c | Jose A. Lopes | -- types. |
647 | 9be1ff8c | Jose A. Lopes | stsReport :: FrozenSet String |
648 | 9be1ff8c | Jose A. Lopes | stsReport = ConstantUtils.mkSet [stFile, stLvmPv, stLvmVg] |
649 | 9be1ff8c | Jose A. Lopes | |
650 | c890f66a | Jose A. Lopes | -- * Storage fields |
651 | c890f66a | Jose A. Lopes | -- ** First two are valid in LU context only, not passed to backend |
652 | 85c48fbb | Jose A. Lopes | |
653 | c890f66a | Jose A. Lopes | sfNode :: String |
654 | c890f66a | Jose A. Lopes | sfNode = "node" |
655 | 85c48fbb | Jose A. Lopes | |
656 | c890f66a | Jose A. Lopes | sfType :: String |
657 | c890f66a | Jose A. Lopes | sfType = "type" |
658 | 85c48fbb | Jose A. Lopes | |
659 | c890f66a | Jose A. Lopes | -- ** and the rest are valid in backend |
660 | 85c48fbb | Jose A. Lopes | |
661 | c890f66a | Jose A. Lopes | sfAllocatable :: String |
662 | c890f66a | Jose A. Lopes | sfAllocatable = Types.storageFieldToRaw SFAllocatable |
663 | 85c48fbb | Jose A. Lopes | |
664 | c890f66a | Jose A. Lopes | sfFree :: String |
665 | c890f66a | Jose A. Lopes | sfFree = Types.storageFieldToRaw SFFree |
666 | 85c48fbb | Jose A. Lopes | |
667 | c890f66a | Jose A. Lopes | sfName :: String |
668 | c890f66a | Jose A. Lopes | sfName = Types.storageFieldToRaw SFName |
669 | 85c48fbb | Jose A. Lopes | |
670 | c890f66a | Jose A. Lopes | sfSize :: String |
671 | c890f66a | Jose A. Lopes | sfSize = Types.storageFieldToRaw SFSize |
672 | 85c48fbb | Jose A. Lopes | |
673 | c890f66a | Jose A. Lopes | sfUsed :: String |
674 | c890f66a | Jose A. Lopes | sfUsed = Types.storageFieldToRaw SFUsed |
675 | 85c48fbb | Jose A. Lopes | |
676 | 9be1ff8c | Jose A. Lopes | validStorageFields :: FrozenSet String |
677 | 9be1ff8c | Jose A. Lopes | validStorageFields = |
678 | 9be1ff8c | Jose A. Lopes | ConstantUtils.mkSet $ map Types.storageFieldToRaw [minBound..] ++ |
679 | 9be1ff8c | Jose A. Lopes | [sfNode, sfType] |
680 | 9be1ff8c | Jose A. Lopes | |
681 | 9be1ff8c | Jose A. Lopes | modifiableStorageFields :: Map String (FrozenSet String) |
682 | 9be1ff8c | Jose A. Lopes | modifiableStorageFields = |
683 | 9be1ff8c | Jose A. Lopes | Map.fromList [(Types.storageTypeToRaw StorageLvmPv, |
684 | 9be1ff8c | Jose A. Lopes | ConstantUtils.mkSet [sfAllocatable])] |
685 | 9be1ff8c | Jose A. Lopes | |
686 | 9be1ff8c | Jose A. Lopes | -- * Storage operations |
687 | 9be1ff8c | Jose A. Lopes | |
688 | 9be1ff8c | Jose A. Lopes | soFixConsistency :: String |
689 | 9be1ff8c | Jose A. Lopes | soFixConsistency = "fix-consistency" |
690 | 9be1ff8c | Jose A. Lopes | |
691 | 9be1ff8c | Jose A. Lopes | validStorageOperations :: Map String (FrozenSet String) |
692 | 9be1ff8c | Jose A. Lopes | validStorageOperations = |
693 | 9be1ff8c | Jose A. Lopes | Map.fromList [(Types.storageTypeToRaw StorageLvmVg, |
694 | 9be1ff8c | Jose A. Lopes | ConstantUtils.mkSet [soFixConsistency])] |
695 | 9be1ff8c | Jose A. Lopes | |
696 | 9be1ff8c | Jose A. Lopes | -- * Volume fields |
697 | 9be1ff8c | Jose A. Lopes | |
698 | 9be1ff8c | Jose A. Lopes | vfDev :: String |
699 | 9be1ff8c | Jose A. Lopes | vfDev = "dev" |
700 | 9be1ff8c | Jose A. Lopes | |
701 | 9be1ff8c | Jose A. Lopes | vfInstance :: String |
702 | 9be1ff8c | Jose A. Lopes | vfInstance = "instance" |
703 | 9be1ff8c | Jose A. Lopes | |
704 | 9be1ff8c | Jose A. Lopes | vfName :: String |
705 | 9be1ff8c | Jose A. Lopes | vfName = "name" |
706 | 9be1ff8c | Jose A. Lopes | |
707 | 9be1ff8c | Jose A. Lopes | vfNode :: String |
708 | 9be1ff8c | Jose A. Lopes | vfNode = "node" |
709 | 9be1ff8c | Jose A. Lopes | |
710 | 9be1ff8c | Jose A. Lopes | vfPhys :: String |
711 | 9be1ff8c | Jose A. Lopes | vfPhys = "phys" |
712 | 9be1ff8c | Jose A. Lopes | |
713 | 9be1ff8c | Jose A. Lopes | vfSize :: String |
714 | 9be1ff8c | Jose A. Lopes | vfSize = "size" |
715 | 9be1ff8c | Jose A. Lopes | |
716 | 9be1ff8c | Jose A. Lopes | vfVg :: String |
717 | 9be1ff8c | Jose A. Lopes | vfVg = "vg" |
718 | 9be1ff8c | Jose A. Lopes | |
719 | 59bcd180 | Jose A. Lopes | -- * Local disk status |
720 | 59bcd180 | Jose A. Lopes | |
721 | 59bcd180 | Jose A. Lopes | ldsFaulty :: Int |
722 | 59bcd180 | Jose A. Lopes | ldsFaulty = Types.localDiskStatusToRaw DiskStatusFaulty |
723 | 59bcd180 | Jose A. Lopes | |
724 | 59bcd180 | Jose A. Lopes | ldsOkay :: Int |
725 | 59bcd180 | Jose A. Lopes | ldsOkay = Types.localDiskStatusToRaw DiskStatusOk |
726 | 59bcd180 | Jose A. Lopes | |
727 | 59bcd180 | Jose A. Lopes | ldsUnknown :: Int |
728 | 59bcd180 | Jose A. Lopes | ldsUnknown = Types.localDiskStatusToRaw DiskStatusUnknown |
729 | 59bcd180 | Jose A. Lopes | |
730 | 59bcd180 | Jose A. Lopes | ldsNames :: Map Int String |
731 | 59bcd180 | Jose A. Lopes | ldsNames = |
732 | 59bcd180 | Jose A. Lopes | Map.fromList [ (Types.localDiskStatusToRaw ds, |
733 | 59bcd180 | Jose A. Lopes | localDiskStatusName ds) | ds <- [minBound..] ] |
734 | 59bcd180 | Jose A. Lopes | |
735 | c890f66a | Jose A. Lopes | -- * Disk template types |
736 | 85c48fbb | Jose A. Lopes | |
737 | c890f66a | Jose A. Lopes | dtDiskless :: String |
738 | c890f66a | Jose A. Lopes | dtDiskless = Types.diskTemplateToRaw DTDiskless |
739 | 85c48fbb | Jose A. Lopes | |
740 | c890f66a | Jose A. Lopes | dtFile :: String |
741 | c890f66a | Jose A. Lopes | dtFile = Types.diskTemplateToRaw DTFile |
742 | 85c48fbb | Jose A. Lopes | |
743 | c890f66a | Jose A. Lopes | dtSharedFile :: String |
744 | c890f66a | Jose A. Lopes | dtSharedFile = Types.diskTemplateToRaw DTSharedFile |
745 | 85c48fbb | Jose A. Lopes | |
746 | c890f66a | Jose A. Lopes | dtPlain :: String |
747 | c890f66a | Jose A. Lopes | dtPlain = Types.diskTemplateToRaw DTPlain |
748 | 85c48fbb | Jose A. Lopes | |
749 | c890f66a | Jose A. Lopes | dtBlock :: String |
750 | c890f66a | Jose A. Lopes | dtBlock = Types.diskTemplateToRaw DTBlock |
751 | 85c48fbb | Jose A. Lopes | |
752 | c890f66a | Jose A. Lopes | dtDrbd8 :: String |
753 | c890f66a | Jose A. Lopes | dtDrbd8 = Types.diskTemplateToRaw DTDrbd8 |
754 | 85c48fbb | Jose A. Lopes | |
755 | c890f66a | Jose A. Lopes | dtRbd :: String |
756 | c890f66a | Jose A. Lopes | dtRbd = Types.diskTemplateToRaw DTRbd |
757 | 85c48fbb | Jose A. Lopes | |
758 | c890f66a | Jose A. Lopes | dtExt :: String |
759 | c890f66a | Jose A. Lopes | dtExt = Types.diskTemplateToRaw DTExt |
760 | 85c48fbb | Jose A. Lopes | |
761 | c890f66a | Jose A. Lopes | -- | This is used to order determine the default disk template when |
762 | c890f66a | Jose A. Lopes | -- the list of enabled disk templates is inferred from the current |
763 | c890f66a | Jose A. Lopes | -- state of the cluster. This only happens on an upgrade from a |
764 | c890f66a | Jose A. Lopes | -- version of Ganeti that did not support the 'enabled_disk_templates' |
765 | c890f66a | Jose A. Lopes | -- so far. |
766 | c890f66a | Jose A. Lopes | diskTemplatePreference :: [String] |
767 | c890f66a | Jose A. Lopes | diskTemplatePreference = |
768 | c890f66a | Jose A. Lopes | map Types.diskTemplateToRaw |
769 | c890f66a | Jose A. Lopes | [DTBlock, DTDiskless, DTDrbd8, DTExt, DTFile, DTPlain, DTRbd, DTSharedFile] |
770 | 85c48fbb | Jose A. Lopes | |
771 | c890f66a | Jose A. Lopes | diskTemplates :: FrozenSet String |
772 | c890f66a | Jose A. Lopes | diskTemplates = ConstantUtils.mkSet $ map Types.diskTemplateToRaw [minBound..] |
773 | 85c48fbb | Jose A. Lopes | |
774 | c890f66a | Jose A. Lopes | -- | Disk templates that are enabled by default |
775 | c890f66a | Jose A. Lopes | defaultEnabledDiskTemplates :: [String] |
776 | c890f66a | Jose A. Lopes | defaultEnabledDiskTemplates = map Types.diskTemplateToRaw [DTDrbd8, DTPlain] |
777 | 85c48fbb | Jose A. Lopes | |
778 | 9be1ff8c | Jose A. Lopes | -- | Mapping of disk templates to storage types |
779 | 9be1ff8c | Jose A. Lopes | mapDiskTemplateStorageType :: Map String String |
780 | 9be1ff8c | Jose A. Lopes | mapDiskTemplateStorageType = |
781 | 9be1ff8c | Jose A. Lopes | Map.fromList $ |
782 | 9be1ff8c | Jose A. Lopes | map (Types.diskTemplateToRaw *** Types.storageTypeToRaw) |
783 | 9be1ff8c | Jose A. Lopes | [(DTBlock, StorageBlock), |
784 | 9be1ff8c | Jose A. Lopes | (DTDrbd8, StorageLvmVg), |
785 | 9be1ff8c | Jose A. Lopes | (DTExt, StorageExt), |
786 | 9be1ff8c | Jose A. Lopes | (DTSharedFile, StorageFile), |
787 | 9be1ff8c | Jose A. Lopes | (DTFile, StorageFile), |
788 | 9be1ff8c | Jose A. Lopes | (DTDiskless, StorageDiskless), |
789 | 9be1ff8c | Jose A. Lopes | (DTPlain, StorageLvmVg), |
790 | 9be1ff8c | Jose A. Lopes | (DTRbd, StorageRados)] |
791 | 9be1ff8c | Jose A. Lopes | |
792 | 4c1275f9 | Jose A. Lopes | -- | The set of network-mirrored disk templates |
793 | 4c1275f9 | Jose A. Lopes | dtsIntMirror :: FrozenSet String |
794 | 4c1275f9 | Jose A. Lopes | dtsIntMirror = ConstantUtils.mkSet [dtDrbd8] |
795 | 4c1275f9 | Jose A. Lopes | |
796 | 4c1275f9 | Jose A. Lopes | -- | 'DTDiskless' is 'trivially' externally mirrored |
797 | 4c1275f9 | Jose A. Lopes | dtsExtMirror :: FrozenSet String |
798 | 4c1275f9 | Jose A. Lopes | dtsExtMirror = |
799 | 4c1275f9 | Jose A. Lopes | ConstantUtils.mkSet $ |
800 | 4c1275f9 | Jose A. Lopes | map Types.diskTemplateToRaw [DTDiskless, DTBlock, DTExt, DTSharedFile, DTRbd] |
801 | 4c1275f9 | Jose A. Lopes | |
802 | 4c1275f9 | Jose A. Lopes | -- | The set of non-lvm-based disk templates |
803 | 4c1275f9 | Jose A. Lopes | dtsNotLvm :: FrozenSet String |
804 | 4c1275f9 | Jose A. Lopes | dtsNotLvm = |
805 | 4c1275f9 | Jose A. Lopes | ConstantUtils.mkSet $ |
806 | 4c1275f9 | Jose A. Lopes | map Types.diskTemplateToRaw |
807 | 4c1275f9 | Jose A. Lopes | [DTSharedFile, DTDiskless, DTBlock, DTExt, DTFile, DTRbd] |
808 | 4c1275f9 | Jose A. Lopes | |
809 | 4c1275f9 | Jose A. Lopes | -- | The set of disk templates which can be grown |
810 | 4c1275f9 | Jose A. Lopes | dtsGrowable :: FrozenSet String |
811 | 4c1275f9 | Jose A. Lopes | dtsGrowable = |
812 | 4c1275f9 | Jose A. Lopes | ConstantUtils.mkSet $ |
813 | 4c1275f9 | Jose A. Lopes | map Types.diskTemplateToRaw |
814 | 4c1275f9 | Jose A. Lopes | [DTSharedFile, DTDrbd8, DTPlain, DTExt, DTFile, DTRbd] |
815 | 4c1275f9 | Jose A. Lopes | |
816 | 4c1275f9 | Jose A. Lopes | -- | The set of disk templates that allow adoption |
817 | 4c1275f9 | Jose A. Lopes | dtsMayAdopt :: FrozenSet String |
818 | 4c1275f9 | Jose A. Lopes | dtsMayAdopt = |
819 | 4c1275f9 | Jose A. Lopes | ConstantUtils.mkSet $ map Types.diskTemplateToRaw [DTBlock, DTPlain] |
820 | 4c1275f9 | Jose A. Lopes | |
821 | 4c1275f9 | Jose A. Lopes | -- | The set of disk templates that *must* use adoption |
822 | 4c1275f9 | Jose A. Lopes | dtsMustAdopt :: FrozenSet String |
823 | 4c1275f9 | Jose A. Lopes | dtsMustAdopt = ConstantUtils.mkSet [Types.diskTemplateToRaw DTBlock] |
824 | 4c1275f9 | Jose A. Lopes | |
825 | 4c1275f9 | Jose A. Lopes | -- | The set of disk templates that allow migrations |
826 | 4c1275f9 | Jose A. Lopes | dtsMirrored :: FrozenSet String |
827 | 4c1275f9 | Jose A. Lopes | dtsMirrored = dtsIntMirror `ConstantUtils.union` dtsExtMirror |
828 | 4c1275f9 | Jose A. Lopes | |
829 | 4c1275f9 | Jose A. Lopes | -- | The set of file based disk templates |
830 | 4c1275f9 | Jose A. Lopes | dtsFilebased :: FrozenSet String |
831 | 4c1275f9 | Jose A. Lopes | dtsFilebased = |
832 | 4c1275f9 | Jose A. Lopes | ConstantUtils.mkSet $ map Types.diskTemplateToRaw [DTSharedFile, DTFile] |
833 | 4c1275f9 | Jose A. Lopes | |
834 | 4c1275f9 | Jose A. Lopes | -- | The set of disk templates that can be moved by copying |
835 | 4c1275f9 | Jose A. Lopes | -- |
836 | 4c1275f9 | Jose A. Lopes | -- Note: a requirement is that they're not accessed externally or |
837 | 4c1275f9 | Jose A. Lopes | -- shared between nodes; in particular, sharedfile is not suitable. |
838 | 4c1275f9 | Jose A. Lopes | dtsCopyable :: FrozenSet String |
839 | 4c1275f9 | Jose A. Lopes | dtsCopyable = |
840 | 4c1275f9 | Jose A. Lopes | ConstantUtils.mkSet $ map Types.diskTemplateToRaw [DTPlain, DTFile] |
841 | 4c1275f9 | Jose A. Lopes | |
842 | 4c1275f9 | Jose A. Lopes | -- | The set of disk templates that are supported by exclusive_storage |
843 | 4c1275f9 | Jose A. Lopes | dtsExclStorage :: FrozenSet String |
844 | 4c1275f9 | Jose A. Lopes | dtsExclStorage = ConstantUtils.mkSet $ map Types.diskTemplateToRaw [DTPlain] |
845 | 4c1275f9 | Jose A. Lopes | |
846 | 4c1275f9 | Jose A. Lopes | -- | Templates for which we don't perform checks on free space |
847 | 4c1275f9 | Jose A. Lopes | dtsNoFreeSpaceCheck :: FrozenSet String |
848 | 4c1275f9 | Jose A. Lopes | dtsNoFreeSpaceCheck = |
849 | 4c1275f9 | Jose A. Lopes | ConstantUtils.mkSet $ |
850 | 4c1275f9 | Jose A. Lopes | map Types.diskTemplateToRaw [DTExt, DTSharedFile, DTFile, DTRbd] |
851 | 4c1275f9 | Jose A. Lopes | |
852 | 4c1275f9 | Jose A. Lopes | dtsBlock :: FrozenSet String |
853 | 4c1275f9 | Jose A. Lopes | dtsBlock = |
854 | 4c1275f9 | Jose A. Lopes | ConstantUtils.mkSet $ |
855 | 4c1275f9 | Jose A. Lopes | map Types.diskTemplateToRaw [DTPlain, DTDrbd8, DTBlock, DTRbd, DTExt] |
856 | 4c1275f9 | Jose A. Lopes | |
857 | c5539592 | Jose A. Lopes | -- * Drbd |
858 | c5539592 | Jose A. Lopes | |
859 | c5539592 | Jose A. Lopes | drbdHmacAlg :: String |
860 | c5539592 | Jose A. Lopes | drbdHmacAlg = "md5" |
861 | c5539592 | Jose A. Lopes | |
862 | c5539592 | Jose A. Lopes | drbdDefaultNetProtocol :: String |
863 | c5539592 | Jose A. Lopes | drbdDefaultNetProtocol = "C" |
864 | c5539592 | Jose A. Lopes | |
865 | c5539592 | Jose A. Lopes | drbdMigrationNetProtocol :: String |
866 | c5539592 | Jose A. Lopes | drbdMigrationNetProtocol = "C" |
867 | c5539592 | Jose A. Lopes | |
868 | c5539592 | Jose A. Lopes | drbdStatusFile :: String |
869 | c5539592 | Jose A. Lopes | drbdStatusFile = "/proc/drbd" |
870 | c5539592 | Jose A. Lopes | |
871 | c5539592 | Jose A. Lopes | -- | Size of DRBD meta block device |
872 | c5539592 | Jose A. Lopes | drbdMetaSize :: Int |
873 | c5539592 | Jose A. Lopes | drbdMetaSize = 128 |
874 | c5539592 | Jose A. Lopes | |
875 | c5539592 | Jose A. Lopes | -- * Drbd barrier types |
876 | c5539592 | Jose A. Lopes | |
877 | c5539592 | Jose A. Lopes | drbdBDiskBarriers :: String |
878 | c5539592 | Jose A. Lopes | drbdBDiskBarriers = "b" |
879 | c5539592 | Jose A. Lopes | |
880 | c5539592 | Jose A. Lopes | drbdBDiskDrain :: String |
881 | c5539592 | Jose A. Lopes | drbdBDiskDrain = "d" |
882 | c5539592 | Jose A. Lopes | |
883 | c5539592 | Jose A. Lopes | drbdBDiskFlush :: String |
884 | c5539592 | Jose A. Lopes | drbdBDiskFlush = "f" |
885 | c5539592 | Jose A. Lopes | |
886 | c5539592 | Jose A. Lopes | drbdBNone :: String |
887 | c5539592 | Jose A. Lopes | drbdBNone = "n" |
888 | c5539592 | Jose A. Lopes | |
889 | c5539592 | Jose A. Lopes | -- | Rbd tool command |
890 | c5539592 | Jose A. Lopes | rbdCmd :: String |
891 | c5539592 | Jose A. Lopes | rbdCmd = "rbd" |
892 | c5539592 | Jose A. Lopes | |
893 | c890f66a | Jose A. Lopes | -- * File backend driver |
894 | 85c48fbb | Jose A. Lopes | |
895 | c890f66a | Jose A. Lopes | fdBlktap :: String |
896 | c890f66a | Jose A. Lopes | fdBlktap = Types.fileDriverToRaw FileBlktap |
897 | 85c48fbb | Jose A. Lopes | |
898 | c890f66a | Jose A. Lopes | fdLoop :: String |
899 | c890f66a | Jose A. Lopes | fdLoop = Types.fileDriverToRaw FileLoop |
900 | 85c48fbb | Jose A. Lopes | |
901 | ad6f2bf3 | Jose A. Lopes | fileDriver :: FrozenSet String |
902 | ad6f2bf3 | Jose A. Lopes | fileDriver = |
903 | ad6f2bf3 | Jose A. Lopes | ConstantUtils.mkSet $ |
904 | ad6f2bf3 | Jose A. Lopes | map Types.fileDriverToRaw [minBound..] |
905 | ad6f2bf3 | Jose A. Lopes | |
906 | 59bcd180 | Jose A. Lopes | -- | The set of drbd-like disk types |
907 | 59bcd180 | Jose A. Lopes | ldsDrbd :: FrozenSet String |
908 | 59bcd180 | Jose A. Lopes | ldsDrbd = ConstantUtils.mkSet [Types.diskTemplateToRaw DTDrbd8] |
909 | 59bcd180 | Jose A. Lopes | |
910 | c890f66a | Jose A. Lopes | -- * Disk access mode |
911 | 85c48fbb | Jose A. Lopes | |
912 | c890f66a | Jose A. Lopes | diskRdonly :: String |
913 | c890f66a | Jose A. Lopes | diskRdonly = Types.diskModeToRaw DiskRdOnly |
914 | 85c48fbb | Jose A. Lopes | |
915 | c890f66a | Jose A. Lopes | diskRdwr :: String |
916 | c890f66a | Jose A. Lopes | diskRdwr = Types.diskModeToRaw DiskRdWr |
917 | 85c48fbb | Jose A. Lopes | |
918 | c890f66a | Jose A. Lopes | diskAccessSet :: FrozenSet String |
919 | c890f66a | Jose A. Lopes | diskAccessSet = ConstantUtils.mkSet $ map Types.diskModeToRaw [minBound..] |
920 | 85c48fbb | Jose A. Lopes | |
921 | a5450d2a | Jose A. Lopes | -- * Disk replacement mode |
922 | a5450d2a | Jose A. Lopes | |
923 | a5450d2a | Jose A. Lopes | replaceDiskAuto :: String |
924 | a5450d2a | Jose A. Lopes | replaceDiskAuto = Types.replaceDisksModeToRaw ReplaceAuto |
925 | a5450d2a | Jose A. Lopes | |
926 | a5450d2a | Jose A. Lopes | replaceDiskChg :: String |
927 | a5450d2a | Jose A. Lopes | replaceDiskChg = Types.replaceDisksModeToRaw ReplaceNewSecondary |
928 | a5450d2a | Jose A. Lopes | |
929 | a5450d2a | Jose A. Lopes | replaceDiskPri :: String |
930 | a5450d2a | Jose A. Lopes | replaceDiskPri = Types.replaceDisksModeToRaw ReplaceOnPrimary |
931 | a5450d2a | Jose A. Lopes | |
932 | a5450d2a | Jose A. Lopes | replaceDiskSec :: String |
933 | a5450d2a | Jose A. Lopes | replaceDiskSec = Types.replaceDisksModeToRaw ReplaceOnSecondary |
934 | a5450d2a | Jose A. Lopes | |
935 | a5450d2a | Jose A. Lopes | replaceModes :: FrozenSet String |
936 | a5450d2a | Jose A. Lopes | replaceModes = |
937 | a5450d2a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.replaceDisksModeToRaw [minBound..] |
938 | a5450d2a | Jose A. Lopes | |
939 | c890f66a | Jose A. Lopes | -- * Instance export mode |
940 | 85c48fbb | Jose A. Lopes | |
941 | c890f66a | Jose A. Lopes | exportModeLocal :: String |
942 | c890f66a | Jose A. Lopes | exportModeLocal = Types.exportModeToRaw ExportModeLocal |
943 | 85c48fbb | Jose A. Lopes | |
944 | c890f66a | Jose A. Lopes | exportModeRemote :: String |
945 | c890f66a | Jose A. Lopes | exportModeRemote = Types.exportModeToRaw ExportModeRemote |
946 | 85c48fbb | Jose A. Lopes | |
947 | c890f66a | Jose A. Lopes | exportModes :: FrozenSet String |
948 | c890f66a | Jose A. Lopes | exportModes = ConstantUtils.mkSet $ map Types.exportModeToRaw [minBound..] |
949 | 85c48fbb | Jose A. Lopes | |
950 | c890f66a | Jose A. Lopes | -- * Instance creation modes |
951 | 85c48fbb | Jose A. Lopes | |
952 | c890f66a | Jose A. Lopes | instanceCreate :: String |
953 | c890f66a | Jose A. Lopes | instanceCreate = Types.instCreateModeToRaw InstCreate |
954 | 85c48fbb | Jose A. Lopes | |
955 | c890f66a | Jose A. Lopes | instanceImport :: String |
956 | c890f66a | Jose A. Lopes | instanceImport = Types.instCreateModeToRaw InstImport |
957 | 85c48fbb | Jose A. Lopes | |
958 | c890f66a | Jose A. Lopes | instanceRemoteImport :: String |
959 | c890f66a | Jose A. Lopes | instanceRemoteImport = Types.instCreateModeToRaw InstRemoteImport |
960 | 85c48fbb | Jose A. Lopes | |
961 | c890f66a | Jose A. Lopes | instanceCreateModes :: FrozenSet String |
962 | c890f66a | Jose A. Lopes | instanceCreateModes = |
963 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.instCreateModeToRaw [minBound..] |
964 | 9413ef24 | Jose A. Lopes | |
965 | 6e18cc0d | Jose A. Lopes | -- * Remote import/export handshake message and version |
966 | 6e18cc0d | Jose A. Lopes | |
967 | 6e18cc0d | Jose A. Lopes | rieHandshake :: String |
968 | 6e18cc0d | Jose A. Lopes | rieHandshake = "Hi, I'm Ganeti" |
969 | 6e18cc0d | Jose A. Lopes | |
970 | 6e18cc0d | Jose A. Lopes | rieVersion :: Int |
971 | 6e18cc0d | Jose A. Lopes | rieVersion = 0 |
972 | 6e18cc0d | Jose A. Lopes | |
973 | 6e18cc0d | Jose A. Lopes | -- | Remote import/export certificate validity in seconds |
974 | 6e18cc0d | Jose A. Lopes | rieCertValidity :: Int |
975 | 6e18cc0d | Jose A. Lopes | rieCertValidity = 24 * 60 * 60 |
976 | 6e18cc0d | Jose A. Lopes | |
977 | 6e18cc0d | Jose A. Lopes | -- | Export only: how long to wait per connection attempt (seconds) |
978 | 6e18cc0d | Jose A. Lopes | rieConnectAttemptTimeout :: Int |
979 | 6e18cc0d | Jose A. Lopes | rieConnectAttemptTimeout = 20 |
980 | 6e18cc0d | Jose A. Lopes | |
981 | 6e18cc0d | Jose A. Lopes | -- | Export only: number of attempts to connect |
982 | 6e18cc0d | Jose A. Lopes | rieConnectRetries :: Int |
983 | 6e18cc0d | Jose A. Lopes | rieConnectRetries = 10 |
984 | 6e18cc0d | Jose A. Lopes | |
985 | 6e18cc0d | Jose A. Lopes | -- | Overall timeout for establishing connection |
986 | 6e18cc0d | Jose A. Lopes | rieConnectTimeout :: Int |
987 | 6e18cc0d | Jose A. Lopes | rieConnectTimeout = 180 |
988 | 6e18cc0d | Jose A. Lopes | |
989 | 6e18cc0d | Jose A. Lopes | -- | Give child process up to 5 seconds to exit after sending a signal |
990 | 6e18cc0d | Jose A. Lopes | childLingerTimeout :: Double |
991 | 6e18cc0d | Jose A. Lopes | childLingerTimeout = 5.0 |
992 | 6e18cc0d | Jose A. Lopes | |
993 | 343dcda8 | Jose A. Lopes | -- * Import/export config options |
994 | 343dcda8 | Jose A. Lopes | |
995 | 343dcda8 | Jose A. Lopes | inisectBep :: String |
996 | 343dcda8 | Jose A. Lopes | inisectBep = "backend" |
997 | 343dcda8 | Jose A. Lopes | |
998 | 343dcda8 | Jose A. Lopes | inisectExp :: String |
999 | 343dcda8 | Jose A. Lopes | inisectExp = "export" |
1000 | 343dcda8 | Jose A. Lopes | |
1001 | 343dcda8 | Jose A. Lopes | inisectHyp :: String |
1002 | 343dcda8 | Jose A. Lopes | inisectHyp = "hypervisor" |
1003 | 343dcda8 | Jose A. Lopes | |
1004 | 343dcda8 | Jose A. Lopes | inisectIns :: String |
1005 | 343dcda8 | Jose A. Lopes | inisectIns = "instance" |
1006 | 343dcda8 | Jose A. Lopes | |
1007 | 343dcda8 | Jose A. Lopes | inisectOsp :: String |
1008 | 343dcda8 | Jose A. Lopes | inisectOsp = "os" |
1009 | 343dcda8 | Jose A. Lopes | |
1010 | c890f66a | Jose A. Lopes | -- * Dynamic device modification |
1011 | 9413ef24 | Jose A. Lopes | |
1012 | c890f66a | Jose A. Lopes | ddmAdd :: String |
1013 | c890f66a | Jose A. Lopes | ddmAdd = Types.ddmFullToRaw DdmFullAdd |
1014 | 1b2adaa6 | Jose A. Lopes | |
1015 | c890f66a | Jose A. Lopes | ddmModify :: String |
1016 | c890f66a | Jose A. Lopes | ddmModify = Types.ddmFullToRaw DdmFullModify |
1017 | 1b2adaa6 | Jose A. Lopes | |
1018 | c890f66a | Jose A. Lopes | ddmRemove :: String |
1019 | c890f66a | Jose A. Lopes | ddmRemove = Types.ddmFullToRaw DdmFullRemove |
1020 | 9413ef24 | Jose A. Lopes | |
1021 | c890f66a | Jose A. Lopes | ddmsValues :: FrozenSet String |
1022 | c890f66a | Jose A. Lopes | ddmsValues = ConstantUtils.mkSet [ddmAdd, ddmRemove] |
1023 | 5867e439 | Jose A. Lopes | |
1024 | c890f66a | Jose A. Lopes | ddmsValuesWithModify :: FrozenSet String |
1025 | c890f66a | Jose A. Lopes | ddmsValuesWithModify = ConstantUtils.mkSet $ map Types.ddmFullToRaw [minBound..] |
1026 | 5867e439 | Jose A. Lopes | |
1027 | c890f66a | Jose A. Lopes | -- * Common exit codes |
1028 | 5867e439 | Jose A. Lopes | |
1029 | c890f66a | Jose A. Lopes | exitSuccess :: Int |
1030 | c890f66a | Jose A. Lopes | exitSuccess = 0 |
1031 | 5867e439 | Jose A. Lopes | |
1032 | c890f66a | Jose A. Lopes | exitFailure :: Int |
1033 | c890f66a | Jose A. Lopes | exitFailure = ConstantUtils.exitFailure |
1034 | 5867e439 | Jose A. Lopes | |
1035 | c890f66a | Jose A. Lopes | exitNotcluster :: Int |
1036 | c890f66a | Jose A. Lopes | exitNotcluster = 5 |
1037 | 5867e439 | Jose A. Lopes | |
1038 | c890f66a | Jose A. Lopes | exitNotmaster :: Int |
1039 | c890f66a | Jose A. Lopes | exitNotmaster = 11 |
1040 | 5867e439 | Jose A. Lopes | |
1041 | c890f66a | Jose A. Lopes | exitNodesetupError :: Int |
1042 | c890f66a | Jose A. Lopes | exitNodesetupError = 12 |
1043 | 26eca119 | Jose A. Lopes | |
1044 | c890f66a | Jose A. Lopes | -- | Need user confirmation |
1045 | c890f66a | Jose A. Lopes | exitConfirmation :: Int |
1046 | c890f66a | Jose A. Lopes | exitConfirmation = 13 |
1047 | 85c48fbb | Jose A. Lopes | |
1048 | c890f66a | Jose A. Lopes | -- | Exit code for query operations with unknown fields |
1049 | c890f66a | Jose A. Lopes | exitUnknownField :: Int |
1050 | c890f66a | Jose A. Lopes | exitUnknownField = 14 |
1051 | 85c48fbb | Jose A. Lopes | |
1052 | c890f66a | Jose A. Lopes | -- * Tags |
1053 | 85c48fbb | Jose A. Lopes | |
1054 | c890f66a | Jose A. Lopes | tagCluster :: String |
1055 | c890f66a | Jose A. Lopes | tagCluster = Types.tagKindToRaw TagKindCluster |
1056 | 85c48fbb | Jose A. Lopes | |
1057 | c890f66a | Jose A. Lopes | tagInstance :: String |
1058 | c890f66a | Jose A. Lopes | tagInstance = Types.tagKindToRaw TagKindInstance |
1059 | 85c48fbb | Jose A. Lopes | |
1060 | c890f66a | Jose A. Lopes | tagNetwork :: String |
1061 | c890f66a | Jose A. Lopes | tagNetwork = Types.tagKindToRaw TagKindNetwork |
1062 | 85c48fbb | Jose A. Lopes | |
1063 | c890f66a | Jose A. Lopes | tagNode :: String |
1064 | c890f66a | Jose A. Lopes | tagNode = Types.tagKindToRaw TagKindNode |
1065 | 85c48fbb | Jose A. Lopes | |
1066 | c890f66a | Jose A. Lopes | tagNodegroup :: String |
1067 | c890f66a | Jose A. Lopes | tagNodegroup = Types.tagKindToRaw TagKindGroup |
1068 | 85c48fbb | Jose A. Lopes | |
1069 | c890f66a | Jose A. Lopes | validTagTypes :: FrozenSet String |
1070 | c890f66a | Jose A. Lopes | validTagTypes = ConstantUtils.mkSet $ map Types.tagKindToRaw [minBound..] |
1071 | 85c48fbb | Jose A. Lopes | |
1072 | c890f66a | Jose A. Lopes | maxTagLen :: Int |
1073 | c890f66a | Jose A. Lopes | maxTagLen = 128 |
1074 | 85c48fbb | Jose A. Lopes | |
1075 | c890f66a | Jose A. Lopes | maxTagsPerObj :: Int |
1076 | c890f66a | Jose A. Lopes | maxTagsPerObj = 4096 |
1077 | 85c48fbb | Jose A. Lopes | |
1078 | b7b8ff87 | Jose A. Lopes | -- * Others |
1079 | b7b8ff87 | Jose A. Lopes | |
1080 | b7b8ff87 | Jose A. Lopes | defaultBridge :: String |
1081 | b7b8ff87 | Jose A. Lopes | defaultBridge = "xen-br0" |
1082 | b7b8ff87 | Jose A. Lopes | |
1083 | b7b8ff87 | Jose A. Lopes | defaultOvs :: String |
1084 | b7b8ff87 | Jose A. Lopes | defaultOvs = "switch1" |
1085 | b7b8ff87 | Jose A. Lopes | |
1086 | b7b8ff87 | Jose A. Lopes | -- | 60 MiB, expressed in KiB |
1087 | b7b8ff87 | Jose A. Lopes | classicDrbdSyncSpeed :: Int |
1088 | b7b8ff87 | Jose A. Lopes | classicDrbdSyncSpeed = 60 * 1024 |
1089 | b7b8ff87 | Jose A. Lopes | |
1090 | b7b8ff87 | Jose A. Lopes | ip4AddressAny :: String |
1091 | b7b8ff87 | Jose A. Lopes | ip4AddressAny = "0.0.0.0" |
1092 | b7b8ff87 | Jose A. Lopes | |
1093 | b7b8ff87 | Jose A. Lopes | ip4AddressLocalhost :: String |
1094 | b7b8ff87 | Jose A. Lopes | ip4AddressLocalhost = "127.0.0.1" |
1095 | b7b8ff87 | Jose A. Lopes | |
1096 | b7b8ff87 | Jose A. Lopes | ip6AddressAny :: String |
1097 | b7b8ff87 | Jose A. Lopes | ip6AddressAny = "::" |
1098 | b7b8ff87 | Jose A. Lopes | |
1099 | b7b8ff87 | Jose A. Lopes | ip6AddressLocalhost :: String |
1100 | b7b8ff87 | Jose A. Lopes | ip6AddressLocalhost = "::1" |
1101 | b7b8ff87 | Jose A. Lopes | |
1102 | b7b8ff87 | Jose A. Lopes | ip4Version :: Int |
1103 | b7b8ff87 | Jose A. Lopes | ip4Version = 4 |
1104 | b7b8ff87 | Jose A. Lopes | |
1105 | b7b8ff87 | Jose A. Lopes | ip6Version :: Int |
1106 | b7b8ff87 | Jose A. Lopes | ip6Version = 6 |
1107 | b7b8ff87 | Jose A. Lopes | |
1108 | b7b8ff87 | Jose A. Lopes | validIpVersions :: FrozenSet Int |
1109 | b7b8ff87 | Jose A. Lopes | validIpVersions = ConstantUtils.mkSet [ip4Version, ip6Version] |
1110 | b7b8ff87 | Jose A. Lopes | |
1111 | b7b8ff87 | Jose A. Lopes | tcpPingTimeout :: Int |
1112 | b7b8ff87 | Jose A. Lopes | tcpPingTimeout = 10 |
1113 | b7b8ff87 | Jose A. Lopes | |
1114 | b7b8ff87 | Jose A. Lopes | defaultVg :: String |
1115 | b7b8ff87 | Jose A. Lopes | defaultVg = "xenvg" |
1116 | b7b8ff87 | Jose A. Lopes | |
1117 | b7b8ff87 | Jose A. Lopes | defaultDrbdHelper :: String |
1118 | b7b8ff87 | Jose A. Lopes | defaultDrbdHelper = "/bin/true" |
1119 | b7b8ff87 | Jose A. Lopes | |
1120 | b7b8ff87 | Jose A. Lopes | minVgSize :: Int |
1121 | b7b8ff87 | Jose A. Lopes | minVgSize = 20480 |
1122 | b7b8ff87 | Jose A. Lopes | |
1123 | b7b8ff87 | Jose A. Lopes | defaultMacPrefix :: String |
1124 | b7b8ff87 | Jose A. Lopes | defaultMacPrefix = "aa:00:00" |
1125 | b7b8ff87 | Jose A. Lopes | |
1126 | b7b8ff87 | Jose A. Lopes | -- | Default maximum instance wait time, in seconds. |
1127 | b7b8ff87 | Jose A. Lopes | defaultShutdownTimeout :: Int |
1128 | b7b8ff87 | Jose A. Lopes | defaultShutdownTimeout = 120 |
1129 | b7b8ff87 | Jose A. Lopes | |
1130 | 61e32567 | Jose A. Lopes | -- | Node clock skew in seconds |
1131 | 61e32567 | Jose A. Lopes | nodeMaxClockSkew :: Int |
1132 | 61e32567 | Jose A. Lopes | nodeMaxClockSkew = 150 |
1133 | 61e32567 | Jose A. Lopes | |
1134 | 52d4f735 | Jose A. Lopes | -- | Time for an intra-cluster disk transfer to wait for a connection |
1135 | 52d4f735 | Jose A. Lopes | diskTransferConnectTimeout :: Int |
1136 | 52d4f735 | Jose A. Lopes | diskTransferConnectTimeout = 60 |
1137 | 52d4f735 | Jose A. Lopes | |
1138 | 3b170ad4 | Jose A. Lopes | -- | Disk index separator |
1139 | 3b170ad4 | Jose A. Lopes | diskSeparator :: String |
1140 | 3b170ad4 | Jose A. Lopes | diskSeparator = AutoConf.diskSeparator |
1141 | 3b170ad4 | Jose A. Lopes | |
1142 | cf96e711 | Jose A. Lopes | ipCommandPath :: String |
1143 | cf96e711 | Jose A. Lopes | ipCommandPath = AutoConf.ipPath |
1144 | cf96e711 | Jose A. Lopes | |
1145 | d7754dad | Jose A. Lopes | -- | Key for job IDs in opcode result |
1146 | d7754dad | Jose A. Lopes | jobIdsKey :: String |
1147 | d7754dad | Jose A. Lopes | jobIdsKey = "jobs" |
1148 | d7754dad | Jose A. Lopes | |
1149 | d7754dad | Jose A. Lopes | -- * Runparts results |
1150 | d7754dad | Jose A. Lopes | |
1151 | d7754dad | Jose A. Lopes | runpartsErr :: Int |
1152 | d7754dad | Jose A. Lopes | runpartsErr = 2 |
1153 | d7754dad | Jose A. Lopes | |
1154 | d7754dad | Jose A. Lopes | runpartsRun :: Int |
1155 | d7754dad | Jose A. Lopes | runpartsRun = 1 |
1156 | d7754dad | Jose A. Lopes | |
1157 | d7754dad | Jose A. Lopes | runpartsSkip :: Int |
1158 | d7754dad | Jose A. Lopes | runpartsSkip = 0 |
1159 | d7754dad | Jose A. Lopes | |
1160 | d7754dad | Jose A. Lopes | runpartsStatus :: [Int] |
1161 | d7754dad | Jose A. Lopes | runpartsStatus = [runpartsErr, runpartsRun, runpartsSkip] |
1162 | d7754dad | Jose A. Lopes | |
1163 | d7754dad | Jose A. Lopes | -- * RPC |
1164 | d7754dad | Jose A. Lopes | |
1165 | d7754dad | Jose A. Lopes | rpcEncodingNone :: Int |
1166 | d7754dad | Jose A. Lopes | rpcEncodingNone = 0 |
1167 | d7754dad | Jose A. Lopes | |
1168 | d7754dad | Jose A. Lopes | rpcEncodingZlibBase64 :: Int |
1169 | d7754dad | Jose A. Lopes | rpcEncodingZlibBase64 = 1 |
1170 | d7754dad | Jose A. Lopes | |
1171 | c03224f6 | Jose A. Lopes | -- * Timeout table |
1172 | c03224f6 | Jose A. Lopes | -- |
1173 | c03224f6 | Jose A. Lopes | -- Various time constants for the timeout table |
1174 | c03224f6 | Jose A. Lopes | |
1175 | c03224f6 | Jose A. Lopes | rpcTmoUrgent :: Int |
1176 | c03224f6 | Jose A. Lopes | rpcTmoUrgent = Types.rpcTimeoutToRaw Urgent |
1177 | c03224f6 | Jose A. Lopes | |
1178 | c03224f6 | Jose A. Lopes | rpcTmoFast :: Int |
1179 | c03224f6 | Jose A. Lopes | rpcTmoFast = Types.rpcTimeoutToRaw Fast |
1180 | c03224f6 | Jose A. Lopes | |
1181 | c03224f6 | Jose A. Lopes | rpcTmoNormal :: Int |
1182 | c03224f6 | Jose A. Lopes | rpcTmoNormal = Types.rpcTimeoutToRaw Normal |
1183 | c03224f6 | Jose A. Lopes | |
1184 | c03224f6 | Jose A. Lopes | rpcTmoSlow :: Int |
1185 | c03224f6 | Jose A. Lopes | rpcTmoSlow = Types.rpcTimeoutToRaw Slow |
1186 | c03224f6 | Jose A. Lopes | |
1187 | c03224f6 | Jose A. Lopes | -- | 'rpcTmo_4hrs' contains an underscore to circumvent a limitation |
1188 | c03224f6 | Jose A. Lopes | -- in the 'Ganeti.THH.deCamelCase' function and generate the correct |
1189 | c03224f6 | Jose A. Lopes | -- Python name. |
1190 | c03224f6 | Jose A. Lopes | rpcTmo_4hrs :: Int |
1191 | c03224f6 | Jose A. Lopes | rpcTmo_4hrs = Types.rpcTimeoutToRaw FourHours |
1192 | c03224f6 | Jose A. Lopes | |
1193 | c03224f6 | Jose A. Lopes | -- | 'rpcTmo_1day' contains an underscore to circumvent a limitation |
1194 | c03224f6 | Jose A. Lopes | -- in the 'Ganeti.THH.deCamelCase' function and generate the correct |
1195 | c03224f6 | Jose A. Lopes | -- Python name. |
1196 | c03224f6 | Jose A. Lopes | rpcTmo_1day :: Int |
1197 | c03224f6 | Jose A. Lopes | rpcTmo_1day = Types.rpcTimeoutToRaw OneDay |
1198 | c03224f6 | Jose A. Lopes | |
1199 | c03224f6 | Jose A. Lopes | -- | Timeout for connecting to nodes (seconds) |
1200 | c03224f6 | Jose A. Lopes | rpcConnectTimeout :: Int |
1201 | c03224f6 | Jose A. Lopes | rpcConnectTimeout = 5 |
1202 | c03224f6 | Jose A. Lopes | |
1203 | e8d4d41e | Jose A. Lopes | -- OS |
1204 | e8d4d41e | Jose A. Lopes | |
1205 | e8d4d41e | Jose A. Lopes | osScriptCreate :: String |
1206 | e8d4d41e | Jose A. Lopes | osScriptCreate = "create" |
1207 | e8d4d41e | Jose A. Lopes | |
1208 | e8d4d41e | Jose A. Lopes | osScriptExport :: String |
1209 | e8d4d41e | Jose A. Lopes | osScriptExport = "export" |
1210 | e8d4d41e | Jose A. Lopes | |
1211 | e8d4d41e | Jose A. Lopes | osScriptImport :: String |
1212 | e8d4d41e | Jose A. Lopes | osScriptImport = "import" |
1213 | e8d4d41e | Jose A. Lopes | |
1214 | e8d4d41e | Jose A. Lopes | osScriptRename :: String |
1215 | e8d4d41e | Jose A. Lopes | osScriptRename = "rename" |
1216 | e8d4d41e | Jose A. Lopes | |
1217 | e8d4d41e | Jose A. Lopes | osScriptVerify :: String |
1218 | e8d4d41e | Jose A. Lopes | osScriptVerify = "verify" |
1219 | e8d4d41e | Jose A. Lopes | |
1220 | e8d4d41e | Jose A. Lopes | osScripts :: [String] |
1221 | e8d4d41e | Jose A. Lopes | osScripts = [osScriptCreate, osScriptExport, osScriptImport, osScriptRename, |
1222 | e8d4d41e | Jose A. Lopes | osScriptVerify] |
1223 | e8d4d41e | Jose A. Lopes | |
1224 | e8d4d41e | Jose A. Lopes | osApiFile :: String |
1225 | e8d4d41e | Jose A. Lopes | osApiFile = "ganeti_api_version" |
1226 | e8d4d41e | Jose A. Lopes | |
1227 | e8d4d41e | Jose A. Lopes | osVariantsFile :: String |
1228 | e8d4d41e | Jose A. Lopes | osVariantsFile = "variants.list" |
1229 | e8d4d41e | Jose A. Lopes | |
1230 | e8d4d41e | Jose A. Lopes | osParametersFile :: String |
1231 | e8d4d41e | Jose A. Lopes | osParametersFile = "parameters.list" |
1232 | e8d4d41e | Jose A. Lopes | |
1233 | e8d4d41e | Jose A. Lopes | osValidateParameters :: String |
1234 | e8d4d41e | Jose A. Lopes | osValidateParameters = "parameters" |
1235 | e8d4d41e | Jose A. Lopes | |
1236 | e8d4d41e | Jose A. Lopes | osValidateCalls :: FrozenSet String |
1237 | e8d4d41e | Jose A. Lopes | osValidateCalls = ConstantUtils.mkSet [osValidateParameters] |
1238 | e8d4d41e | Jose A. Lopes | |
1239 | e8d4d41e | Jose A. Lopes | -- | External Storage (ES) related constants |
1240 | e8d4d41e | Jose A. Lopes | |
1241 | e8d4d41e | Jose A. Lopes | esActionAttach :: String |
1242 | e8d4d41e | Jose A. Lopes | esActionAttach = "attach" |
1243 | e8d4d41e | Jose A. Lopes | |
1244 | e8d4d41e | Jose A. Lopes | esActionCreate :: String |
1245 | e8d4d41e | Jose A. Lopes | esActionCreate = "create" |
1246 | e8d4d41e | Jose A. Lopes | |
1247 | e8d4d41e | Jose A. Lopes | esActionDetach :: String |
1248 | e8d4d41e | Jose A. Lopes | esActionDetach = "detach" |
1249 | e8d4d41e | Jose A. Lopes | |
1250 | e8d4d41e | Jose A. Lopes | esActionGrow :: String |
1251 | e8d4d41e | Jose A. Lopes | esActionGrow = "grow" |
1252 | e8d4d41e | Jose A. Lopes | |
1253 | e8d4d41e | Jose A. Lopes | esActionRemove :: String |
1254 | e8d4d41e | Jose A. Lopes | esActionRemove = "remove" |
1255 | e8d4d41e | Jose A. Lopes | |
1256 | e8d4d41e | Jose A. Lopes | esActionSetinfo :: String |
1257 | e8d4d41e | Jose A. Lopes | esActionSetinfo = "setinfo" |
1258 | e8d4d41e | Jose A. Lopes | |
1259 | e8d4d41e | Jose A. Lopes | esActionVerify :: String |
1260 | e8d4d41e | Jose A. Lopes | esActionVerify = "verify" |
1261 | e8d4d41e | Jose A. Lopes | |
1262 | e8d4d41e | Jose A. Lopes | esScriptCreate :: String |
1263 | e8d4d41e | Jose A. Lopes | esScriptCreate = esActionCreate |
1264 | e8d4d41e | Jose A. Lopes | |
1265 | e8d4d41e | Jose A. Lopes | esScriptRemove :: String |
1266 | e8d4d41e | Jose A. Lopes | esScriptRemove = esActionRemove |
1267 | e8d4d41e | Jose A. Lopes | |
1268 | e8d4d41e | Jose A. Lopes | esScriptGrow :: String |
1269 | e8d4d41e | Jose A. Lopes | esScriptGrow = esActionGrow |
1270 | e8d4d41e | Jose A. Lopes | |
1271 | e8d4d41e | Jose A. Lopes | esScriptAttach :: String |
1272 | e8d4d41e | Jose A. Lopes | esScriptAttach = esActionAttach |
1273 | e8d4d41e | Jose A. Lopes | |
1274 | e8d4d41e | Jose A. Lopes | esScriptDetach :: String |
1275 | e8d4d41e | Jose A. Lopes | esScriptDetach = esActionDetach |
1276 | e8d4d41e | Jose A. Lopes | |
1277 | e8d4d41e | Jose A. Lopes | esScriptSetinfo :: String |
1278 | e8d4d41e | Jose A. Lopes | esScriptSetinfo = esActionSetinfo |
1279 | e8d4d41e | Jose A. Lopes | |
1280 | e8d4d41e | Jose A. Lopes | esScriptVerify :: String |
1281 | e8d4d41e | Jose A. Lopes | esScriptVerify = esActionVerify |
1282 | e8d4d41e | Jose A. Lopes | |
1283 | e8d4d41e | Jose A. Lopes | esScripts :: FrozenSet String |
1284 | e8d4d41e | Jose A. Lopes | esScripts = |
1285 | e8d4d41e | Jose A. Lopes | ConstantUtils.mkSet [esScriptAttach, |
1286 | e8d4d41e | Jose A. Lopes | esScriptCreate, |
1287 | e8d4d41e | Jose A. Lopes | esScriptDetach, |
1288 | e8d4d41e | Jose A. Lopes | esScriptGrow, |
1289 | e8d4d41e | Jose A. Lopes | esScriptRemove, |
1290 | e8d4d41e | Jose A. Lopes | esScriptSetinfo, |
1291 | e8d4d41e | Jose A. Lopes | esScriptVerify] |
1292 | e8d4d41e | Jose A. Lopes | |
1293 | e8d4d41e | Jose A. Lopes | esParametersFile :: String |
1294 | e8d4d41e | Jose A. Lopes | esParametersFile = "parameters.list" |
1295 | e8d4d41e | Jose A. Lopes | |
1296 | ae8e7986 | Jose A. Lopes | -- * Reboot types |
1297 | ae8e7986 | Jose A. Lopes | |
1298 | ae8e7986 | Jose A. Lopes | instanceRebootSoft :: String |
1299 | ae8e7986 | Jose A. Lopes | instanceRebootSoft = Types.rebootTypeToRaw RebootSoft |
1300 | ae8e7986 | Jose A. Lopes | |
1301 | ae8e7986 | Jose A. Lopes | instanceRebootHard :: String |
1302 | ae8e7986 | Jose A. Lopes | instanceRebootHard = Types.rebootTypeToRaw RebootHard |
1303 | ae8e7986 | Jose A. Lopes | |
1304 | ae8e7986 | Jose A. Lopes | instanceRebootFull :: String |
1305 | ae8e7986 | Jose A. Lopes | instanceRebootFull = Types.rebootTypeToRaw RebootFull |
1306 | ae8e7986 | Jose A. Lopes | |
1307 | ae8e7986 | Jose A. Lopes | rebootTypes :: FrozenSet String |
1308 | ae8e7986 | Jose A. Lopes | rebootTypes = ConstantUtils.mkSet $ map Types.rebootTypeToRaw [minBound..] |
1309 | ae8e7986 | Jose A. Lopes | |
1310 | 3c2abb61 | Jose A. Lopes | -- * Instance reboot behaviors |
1311 | 3c2abb61 | Jose A. Lopes | |
1312 | 3c2abb61 | Jose A. Lopes | instanceRebootAllowed :: String |
1313 | 3c2abb61 | Jose A. Lopes | instanceRebootAllowed = "reboot" |
1314 | 3c2abb61 | Jose A. Lopes | |
1315 | 3c2abb61 | Jose A. Lopes | instanceRebootExit :: String |
1316 | 3c2abb61 | Jose A. Lopes | instanceRebootExit = "exit" |
1317 | 3c2abb61 | Jose A. Lopes | |
1318 | 3c2abb61 | Jose A. Lopes | rebootBehaviors :: [String] |
1319 | 3c2abb61 | Jose A. Lopes | rebootBehaviors = [instanceRebootAllowed, instanceRebootExit] |
1320 | 3c2abb61 | Jose A. Lopes | |
1321 | a91d6b30 | Jose A. Lopes | -- * VTypes |
1322 | a91d6b30 | Jose A. Lopes | |
1323 | a91d6b30 | Jose A. Lopes | vtypeBool :: VType |
1324 | a91d6b30 | Jose A. Lopes | vtypeBool = VTypeBool |
1325 | a91d6b30 | Jose A. Lopes | |
1326 | a91d6b30 | Jose A. Lopes | vtypeInt :: VType |
1327 | a91d6b30 | Jose A. Lopes | vtypeInt = VTypeInt |
1328 | a91d6b30 | Jose A. Lopes | |
1329 | a91d6b30 | Jose A. Lopes | vtypeMaybeString :: VType |
1330 | a91d6b30 | Jose A. Lopes | vtypeMaybeString = VTypeMaybeString |
1331 | a91d6b30 | Jose A. Lopes | |
1332 | a91d6b30 | Jose A. Lopes | -- | Size in MiBs |
1333 | a91d6b30 | Jose A. Lopes | vtypeSize :: VType |
1334 | a91d6b30 | Jose A. Lopes | vtypeSize = VTypeSize |
1335 | a91d6b30 | Jose A. Lopes | |
1336 | a91d6b30 | Jose A. Lopes | vtypeString :: VType |
1337 | a91d6b30 | Jose A. Lopes | vtypeString = VTypeString |
1338 | a91d6b30 | Jose A. Lopes | |
1339 | a91d6b30 | Jose A. Lopes | enforceableTypes :: FrozenSet VType |
1340 | a91d6b30 | Jose A. Lopes | enforceableTypes = ConstantUtils.mkSet [minBound..] |
1341 | 8397ffde | Jose A. Lopes | |
1342 | 8397ffde | Jose A. Lopes | -- | Instance specs |
1343 | 8397ffde | Jose A. Lopes | -- |
1344 | 8397ffde | Jose A. Lopes | -- FIXME: these should be associated with 'Ganeti.HTools.Types.ISpec' |
1345 | 8397ffde | Jose A. Lopes | |
1346 | 8397ffde | Jose A. Lopes | ispecMemSize :: String |
1347 | 8397ffde | Jose A. Lopes | ispecMemSize = ConstantUtils.ispecMemSize |
1348 | 8397ffde | Jose A. Lopes | |
1349 | 8397ffde | Jose A. Lopes | ispecCpuCount :: String |
1350 | 8397ffde | Jose A. Lopes | ispecCpuCount = ConstantUtils.ispecCpuCount |
1351 | 8397ffde | Jose A. Lopes | |
1352 | 8397ffde | Jose A. Lopes | ispecDiskCount :: String |
1353 | 8397ffde | Jose A. Lopes | ispecDiskCount = ConstantUtils.ispecDiskCount |
1354 | 8397ffde | Jose A. Lopes | |
1355 | 8397ffde | Jose A. Lopes | ispecDiskSize :: String |
1356 | 8397ffde | Jose A. Lopes | ispecDiskSize = ConstantUtils.ispecDiskSize |
1357 | 8397ffde | Jose A. Lopes | |
1358 | 8397ffde | Jose A. Lopes | ispecNicCount :: String |
1359 | 8397ffde | Jose A. Lopes | ispecNicCount = ConstantUtils.ispecNicCount |
1360 | 8397ffde | Jose A. Lopes | |
1361 | 8397ffde | Jose A. Lopes | ispecSpindleUse :: String |
1362 | 8397ffde | Jose A. Lopes | ispecSpindleUse = ConstantUtils.ispecSpindleUse |
1363 | 8397ffde | Jose A. Lopes | |
1364 | 8397ffde | Jose A. Lopes | ispecsParameterTypes :: Map String VType |
1365 | 8397ffde | Jose A. Lopes | ispecsParameterTypes = |
1366 | 8397ffde | Jose A. Lopes | Map.fromList |
1367 | 8397ffde | Jose A. Lopes | [(ConstantUtils.ispecDiskSize, VTypeInt), |
1368 | 8397ffde | Jose A. Lopes | (ConstantUtils.ispecCpuCount, VTypeInt), |
1369 | 8397ffde | Jose A. Lopes | (ConstantUtils.ispecSpindleUse, VTypeInt), |
1370 | 8397ffde | Jose A. Lopes | (ConstantUtils.ispecMemSize, VTypeInt), |
1371 | 8397ffde | Jose A. Lopes | (ConstantUtils.ispecNicCount, VTypeInt), |
1372 | 8397ffde | Jose A. Lopes | (ConstantUtils.ispecDiskCount, VTypeInt)] |
1373 | 8397ffde | Jose A. Lopes | |
1374 | 8397ffde | Jose A. Lopes | ispecsParameters :: FrozenSet String |
1375 | 8397ffde | Jose A. Lopes | ispecsParameters = |
1376 | 8397ffde | Jose A. Lopes | ConstantUtils.mkSet [ConstantUtils.ispecCpuCount, |
1377 | 8397ffde | Jose A. Lopes | ConstantUtils.ispecDiskCount, |
1378 | 8397ffde | Jose A. Lopes | ConstantUtils.ispecDiskSize, |
1379 | 8397ffde | Jose A. Lopes | ConstantUtils.ispecMemSize, |
1380 | 8397ffde | Jose A. Lopes | ConstantUtils.ispecNicCount, |
1381 | 8397ffde | Jose A. Lopes | ConstantUtils.ispecSpindleUse] |
1382 | 8397ffde | Jose A. Lopes | |
1383 | 8397ffde | Jose A. Lopes | ispecsMinmax :: String |
1384 | 8397ffde | Jose A. Lopes | ispecsMinmax = ConstantUtils.ispecsMinmax |
1385 | 8397ffde | Jose A. Lopes | |
1386 | 8397ffde | Jose A. Lopes | ispecsMax :: String |
1387 | 8397ffde | Jose A. Lopes | ispecsMax = "max" |
1388 | 8397ffde | Jose A. Lopes | |
1389 | 8397ffde | Jose A. Lopes | ispecsMin :: String |
1390 | 8397ffde | Jose A. Lopes | ispecsMin = "min" |
1391 | 8397ffde | Jose A. Lopes | |
1392 | 8397ffde | Jose A. Lopes | ispecsStd :: String |
1393 | 8397ffde | Jose A. Lopes | ispecsStd = ConstantUtils.ispecsStd |
1394 | 8397ffde | Jose A. Lopes | |
1395 | 8397ffde | Jose A. Lopes | ipolicyDts :: String |
1396 | 8397ffde | Jose A. Lopes | ipolicyDts = ConstantUtils.ipolicyDts |
1397 | 8397ffde | Jose A. Lopes | |
1398 | 8397ffde | Jose A. Lopes | ipolicyVcpuRatio :: String |
1399 | 8397ffde | Jose A. Lopes | ipolicyVcpuRatio = ConstantUtils.ipolicyVcpuRatio |
1400 | 8397ffde | Jose A. Lopes | |
1401 | 8397ffde | Jose A. Lopes | ipolicySpindleRatio :: String |
1402 | 8397ffde | Jose A. Lopes | ipolicySpindleRatio = ConstantUtils.ipolicySpindleRatio |
1403 | 8397ffde | Jose A. Lopes | |
1404 | 8397ffde | Jose A. Lopes | ispecsMinmaxKeys :: FrozenSet String |
1405 | 8397ffde | Jose A. Lopes | ispecsMinmaxKeys = ConstantUtils.mkSet [ispecsMax, ispecsMin] |
1406 | 8397ffde | Jose A. Lopes | |
1407 | 8397ffde | Jose A. Lopes | ipolicyParameters :: FrozenSet String |
1408 | 8397ffde | Jose A. Lopes | ipolicyParameters = |
1409 | 8397ffde | Jose A. Lopes | ConstantUtils.mkSet [ConstantUtils.ipolicyVcpuRatio, |
1410 | 8397ffde | Jose A. Lopes | ConstantUtils.ipolicySpindleRatio] |
1411 | 8397ffde | Jose A. Lopes | |
1412 | 8397ffde | Jose A. Lopes | ipolicyAllKeys :: FrozenSet String |
1413 | 8397ffde | Jose A. Lopes | ipolicyAllKeys = |
1414 | 8397ffde | Jose A. Lopes | ConstantUtils.union ipolicyParameters $ |
1415 | 8397ffde | Jose A. Lopes | ConstantUtils.mkSet [ConstantUtils.ipolicyDts, |
1416 | 8397ffde | Jose A. Lopes | ConstantUtils.ispecsMinmax, |
1417 | 8397ffde | Jose A. Lopes | ispecsStd] |
1418 | 8397ffde | Jose A. Lopes | |
1419 | ecf43dcb | Jose A. Lopes | -- | Node parameter names |
1420 | ecf43dcb | Jose A. Lopes | |
1421 | ecf43dcb | Jose A. Lopes | ndExclusiveStorage :: String |
1422 | ecf43dcb | Jose A. Lopes | ndExclusiveStorage = "exclusive_storage" |
1423 | ecf43dcb | Jose A. Lopes | |
1424 | ecf43dcb | Jose A. Lopes | ndOobProgram :: String |
1425 | ecf43dcb | Jose A. Lopes | ndOobProgram = "oob_program" |
1426 | ecf43dcb | Jose A. Lopes | |
1427 | ecf43dcb | Jose A. Lopes | ndSpindleCount :: String |
1428 | ecf43dcb | Jose A. Lopes | ndSpindleCount = "spindle_count" |
1429 | ecf43dcb | Jose A. Lopes | |
1430 | ecf43dcb | Jose A. Lopes | ndOvs :: String |
1431 | ecf43dcb | Jose A. Lopes | ndOvs = "ovs" |
1432 | ecf43dcb | Jose A. Lopes | |
1433 | ecf43dcb | Jose A. Lopes | ndOvsLink :: String |
1434 | ecf43dcb | Jose A. Lopes | ndOvsLink = "ovs_link" |
1435 | ecf43dcb | Jose A. Lopes | |
1436 | ecf43dcb | Jose A. Lopes | ndOvsName :: String |
1437 | ecf43dcb | Jose A. Lopes | ndOvsName = "ovs_name" |
1438 | ecf43dcb | Jose A. Lopes | |
1439 | ecf43dcb | Jose A. Lopes | ndsParameterTypes :: Map String VType |
1440 | ecf43dcb | Jose A. Lopes | ndsParameterTypes = |
1441 | ecf43dcb | Jose A. Lopes | Map.fromList |
1442 | ecf43dcb | Jose A. Lopes | [(ndExclusiveStorage, VTypeBool), |
1443 | ecf43dcb | Jose A. Lopes | (ndOobProgram, VTypeString), |
1444 | ecf43dcb | Jose A. Lopes | (ndOvs, VTypeBool), |
1445 | ecf43dcb | Jose A. Lopes | (ndOvsLink, VTypeMaybeString), |
1446 | ecf43dcb | Jose A. Lopes | (ndOvsName, VTypeMaybeString), |
1447 | ecf43dcb | Jose A. Lopes | (ndSpindleCount, VTypeInt)] |
1448 | ecf43dcb | Jose A. Lopes | |
1449 | ecf43dcb | Jose A. Lopes | ndsParameters :: FrozenSet String |
1450 | ecf43dcb | Jose A. Lopes | ndsParameters = ConstantUtils.mkSet (Map.keys ndsParameterTypes) |
1451 | ecf43dcb | Jose A. Lopes | |
1452 | ecf43dcb | Jose A. Lopes | ndsParameterTitles :: Map String String |
1453 | ecf43dcb | Jose A. Lopes | ndsParameterTitles = |
1454 | ecf43dcb | Jose A. Lopes | Map.fromList |
1455 | ecf43dcb | Jose A. Lopes | [(ndExclusiveStorage, "ExclusiveStorage"), |
1456 | ecf43dcb | Jose A. Lopes | (ndOobProgram, "OutOfBandProgram"), |
1457 | ecf43dcb | Jose A. Lopes | (ndOvs, "OpenvSwitch"), |
1458 | ecf43dcb | Jose A. Lopes | (ndOvsLink, "OpenvSwitchLink"), |
1459 | ecf43dcb | Jose A. Lopes | (ndOvsName, "OpenvSwitchName"), |
1460 | ecf43dcb | Jose A. Lopes | (ndSpindleCount, "SpindleCount")] |
1461 | ecf43dcb | Jose A. Lopes | |
1462 | 3b170ad4 | Jose A. Lopes | |
1463 | 85c48fbb | Jose A. Lopes | |
1464 | 85c48fbb | Jose A. Lopes | |
1465 | 85c48fbb | Jose A. Lopes | |
1466 | 85c48fbb | Jose A. Lopes | |
1467 | 85c48fbb | Jose A. Lopes | |
1468 | c890f66a | Jose A. Lopes | -- * OOB supported commands |
1469 | 85c48fbb | Jose A. Lopes | |
1470 | c890f66a | Jose A. Lopes | oobPowerOn :: String |
1471 | c890f66a | Jose A. Lopes | oobPowerOn = Types.oobCommandToRaw OobPowerOn |
1472 | 85c48fbb | Jose A. Lopes | |
1473 | c890f66a | Jose A. Lopes | oobPowerOff :: String |
1474 | c890f66a | Jose A. Lopes | oobPowerOff = Types.oobCommandToRaw OobPowerOff |
1475 | 85c48fbb | Jose A. Lopes | |
1476 | c890f66a | Jose A. Lopes | oobPowerCycle :: String |
1477 | c890f66a | Jose A. Lopes | oobPowerCycle = Types.oobCommandToRaw OobPowerCycle |
1478 | 85c48fbb | Jose A. Lopes | |
1479 | c890f66a | Jose A. Lopes | oobPowerStatus :: String |
1480 | c890f66a | Jose A. Lopes | oobPowerStatus = Types.oobCommandToRaw OobPowerStatus |
1481 | 85c48fbb | Jose A. Lopes | |
1482 | c890f66a | Jose A. Lopes | oobHealth :: String |
1483 | c890f66a | Jose A. Lopes | oobHealth = Types.oobCommandToRaw OobHealth |
1484 | 85c48fbb | Jose A. Lopes | |
1485 | c890f66a | Jose A. Lopes | oobCommands :: FrozenSet String |
1486 | c890f66a | Jose A. Lopes | oobCommands = ConstantUtils.mkSet $ map Types.oobCommandToRaw [minBound..] |
1487 | 85c48fbb | Jose A. Lopes | |
1488 | c890f66a | Jose A. Lopes | oobPowerStatusPowered :: String |
1489 | c890f66a | Jose A. Lopes | oobPowerStatusPowered = "powered" |
1490 | 85c48fbb | Jose A. Lopes | |
1491 | c890f66a | Jose A. Lopes | -- | 60 seconds |
1492 | c890f66a | Jose A. Lopes | oobTimeout :: Int |
1493 | c890f66a | Jose A. Lopes | oobTimeout = 60 |
1494 | 85c48fbb | Jose A. Lopes | |
1495 | c890f66a | Jose A. Lopes | -- | 2 seconds |
1496 | c890f66a | Jose A. Lopes | oobPowerDelay :: Double |
1497 | c890f66a | Jose A. Lopes | oobPowerDelay = 2.0 |
1498 | 85c48fbb | Jose A. Lopes | |
1499 | c890f66a | Jose A. Lopes | oobStatusCritical :: String |
1500 | c890f66a | Jose A. Lopes | oobStatusCritical = Types.oobStatusToRaw OobStatusCritical |
1501 | 85c48fbb | Jose A. Lopes | |
1502 | c890f66a | Jose A. Lopes | oobStatusOk :: String |
1503 | c890f66a | Jose A. Lopes | oobStatusOk = Types.oobStatusToRaw OobStatusOk |
1504 | 85c48fbb | Jose A. Lopes | |
1505 | c890f66a | Jose A. Lopes | oobStatusUnknown :: String |
1506 | c890f66a | Jose A. Lopes | oobStatusUnknown = Types.oobStatusToRaw OobStatusUnknown |
1507 | 85c48fbb | Jose A. Lopes | |
1508 | c890f66a | Jose A. Lopes | oobStatusWarning :: String |
1509 | c890f66a | Jose A. Lopes | oobStatusWarning = Types.oobStatusToRaw OobStatusWarning |
1510 | 85c48fbb | Jose A. Lopes | |
1511 | c890f66a | Jose A. Lopes | oobStatuses :: FrozenSet String |
1512 | c890f66a | Jose A. Lopes | oobStatuses = ConstantUtils.mkSet $ map Types.oobStatusToRaw [minBound..] |
1513 | 85c48fbb | Jose A. Lopes | |
1514 | c890f66a | Jose A. Lopes | -- * NIC_* constants are used inside the ganeti config |
1515 | 85c48fbb | Jose A. Lopes | |
1516 | c890f66a | Jose A. Lopes | nicLink :: String |
1517 | c890f66a | Jose A. Lopes | nicLink = "link" |
1518 | 85c48fbb | Jose A. Lopes | |
1519 | c890f66a | Jose A. Lopes | nicMode :: String |
1520 | c890f66a | Jose A. Lopes | nicMode = "mode" |
1521 | 85c48fbb | Jose A. Lopes | |
1522 | c890f66a | Jose A. Lopes | nicVlan :: String |
1523 | c890f66a | Jose A. Lopes | nicVlan = "vlan" |
1524 | 85c48fbb | Jose A. Lopes | |
1525 | c890f66a | Jose A. Lopes | nicModeBridged :: String |
1526 | c890f66a | Jose A. Lopes | nicModeBridged = Types.nICModeToRaw NMBridged |
1527 | 85c48fbb | Jose A. Lopes | |
1528 | c890f66a | Jose A. Lopes | nicModeRouted :: String |
1529 | c890f66a | Jose A. Lopes | nicModeRouted = Types.nICModeToRaw NMRouted |
1530 | 85c48fbb | Jose A. Lopes | |
1531 | c890f66a | Jose A. Lopes | nicModeOvs :: String |
1532 | c890f66a | Jose A. Lopes | nicModeOvs = Types.nICModeToRaw NMOvs |
1533 | 85c48fbb | Jose A. Lopes | |
1534 | c890f66a | Jose A. Lopes | nicIpPool :: String |
1535 | c890f66a | Jose A. Lopes | nicIpPool = Types.nICModeToRaw NMPool |
1536 | 85c48fbb | Jose A. Lopes | |
1537 | c890f66a | Jose A. Lopes | nicValidModes :: FrozenSet String |
1538 | c890f66a | Jose A. Lopes | nicValidModes = ConstantUtils.mkSet $ map Types.nICModeToRaw [minBound..] |
1539 | 85c48fbb | Jose A. Lopes | |
1540 | c890f66a | Jose A. Lopes | -- * Hypervisor constants |
1541 | 85c48fbb | Jose A. Lopes | |
1542 | c890f66a | Jose A. Lopes | htXenPvm :: String |
1543 | c890f66a | Jose A. Lopes | htXenPvm = Types.hypervisorToRaw XenPvm |
1544 | 85c48fbb | Jose A. Lopes | |
1545 | c890f66a | Jose A. Lopes | htFake :: String |
1546 | c890f66a | Jose A. Lopes | htFake = Types.hypervisorToRaw Fake |
1547 | 85c48fbb | Jose A. Lopes | |
1548 | c890f66a | Jose A. Lopes | htXenHvm :: String |
1549 | c890f66a | Jose A. Lopes | htXenHvm = Types.hypervisorToRaw XenHvm |
1550 | 85c48fbb | Jose A. Lopes | |
1551 | c890f66a | Jose A. Lopes | htKvm :: String |
1552 | c890f66a | Jose A. Lopes | htKvm = Types.hypervisorToRaw Kvm |
1553 | 85c48fbb | Jose A. Lopes | |
1554 | c890f66a | Jose A. Lopes | htChroot :: String |
1555 | c890f66a | Jose A. Lopes | htChroot = Types.hypervisorToRaw Chroot |
1556 | 85c48fbb | Jose A. Lopes | |
1557 | c890f66a | Jose A. Lopes | htLxc :: String |
1558 | c890f66a | Jose A. Lopes | htLxc = Types.hypervisorToRaw Lxc |
1559 | 85c48fbb | Jose A. Lopes | |
1560 | c890f66a | Jose A. Lopes | hyperTypes :: FrozenSet String |
1561 | c890f66a | Jose A. Lopes | hyperTypes = ConstantUtils.mkSet $ map Types.hypervisorToRaw [minBound..] |
1562 | 85c48fbb | Jose A. Lopes | |
1563 | c890f66a | Jose A. Lopes | htsReqPort :: FrozenSet String |
1564 | c890f66a | Jose A. Lopes | htsReqPort = ConstantUtils.mkSet [htXenHvm, htKvm] |
1565 | 85c48fbb | Jose A. Lopes | |
1566 | c890f66a | Jose A. Lopes | -- * Migration type |
1567 | 26eca119 | Jose A. Lopes | |
1568 | c890f66a | Jose A. Lopes | htMigrationLive :: String |
1569 | c890f66a | Jose A. Lopes | htMigrationLive = Types.migrationModeToRaw MigrationLive |
1570 | 26eca119 | Jose A. Lopes | |
1571 | c890f66a | Jose A. Lopes | htMigrationNonlive :: String |
1572 | c890f66a | Jose A. Lopes | htMigrationNonlive = Types.migrationModeToRaw MigrationNonLive |
1573 | 26eca119 | Jose A. Lopes | |
1574 | c890f66a | Jose A. Lopes | htMigrationModes :: FrozenSet String |
1575 | c890f66a | Jose A. Lopes | htMigrationModes = |
1576 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.migrationModeToRaw [minBound..] |
1577 | 26eca119 | Jose A. Lopes | |
1578 | c890f66a | Jose A. Lopes | -- * Cluster verify steps |
1579 | 26eca119 | Jose A. Lopes | |
1580 | c890f66a | Jose A. Lopes | verifyNplusoneMem :: String |
1581 | c890f66a | Jose A. Lopes | verifyNplusoneMem = Types.verifyOptionalChecksToRaw VerifyNPlusOneMem |
1582 | 26eca119 | Jose A. Lopes | |
1583 | c890f66a | Jose A. Lopes | verifyOptionalChecks :: FrozenSet String |
1584 | c890f66a | Jose A. Lopes | verifyOptionalChecks = |
1585 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.verifyOptionalChecksToRaw [minBound..] |
1586 | 26eca119 | Jose A. Lopes | |
1587 | c890f66a | Jose A. Lopes | -- * Cluster Verify error classes |
1588 | 26eca119 | Jose A. Lopes | |
1589 | c890f66a | Jose A. Lopes | cvTcluster :: String |
1590 | c890f66a | Jose A. Lopes | cvTcluster = "cluster" |
1591 | 26eca119 | Jose A. Lopes | |
1592 | c890f66a | Jose A. Lopes | cvTgroup :: String |
1593 | c890f66a | Jose A. Lopes | cvTgroup = "group" |
1594 | 26eca119 | Jose A. Lopes | |
1595 | c890f66a | Jose A. Lopes | cvTnode :: String |
1596 | c890f66a | Jose A. Lopes | cvTnode = "node" |
1597 | 26eca119 | Jose A. Lopes | |
1598 | c890f66a | Jose A. Lopes | cvTinstance :: String |
1599 | c890f66a | Jose A. Lopes | cvTinstance = "instance" |
1600 | 26eca119 | Jose A. Lopes | |
1601 | c890f66a | Jose A. Lopes | -- * Cluster Verify error codes and documentation |
1602 | 26eca119 | Jose A. Lopes | |
1603 | c890f66a | Jose A. Lopes | cvEclustercert :: (String, String, String) |
1604 | c890f66a | Jose A. Lopes | cvEclustercert = |
1605 | c890f66a | Jose A. Lopes | ("cluster", |
1606 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERCERT, |
1607 | c890f66a | Jose A. Lopes | "Cluster certificate files verification failure") |
1608 | 26eca119 | Jose A. Lopes | |
1609 | c890f66a | Jose A. Lopes | cvEclustercfg :: (String, String, String) |
1610 | c890f66a | Jose A. Lopes | cvEclustercfg = |
1611 | c890f66a | Jose A. Lopes | ("cluster", |
1612 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERCFG, |
1613 | c890f66a | Jose A. Lopes | "Cluster configuration verification failure") |
1614 | 26eca119 | Jose A. Lopes | |
1615 | c890f66a | Jose A. Lopes | cvEclusterdanglinginst :: (String, String, String) |
1616 | c890f66a | Jose A. Lopes | cvEclusterdanglinginst = |
1617 | c890f66a | Jose A. Lopes | ("node", |
1618 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERDANGLINGINST, |
1619 | c890f66a | Jose A. Lopes | "Some instances have a non-existing primary node") |
1620 | 26eca119 | Jose A. Lopes | |
1621 | c890f66a | Jose A. Lopes | cvEclusterdanglingnodes :: (String, String, String) |
1622 | c890f66a | Jose A. Lopes | cvEclusterdanglingnodes = |
1623 | c890f66a | Jose A. Lopes | ("node", |
1624 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERDANGLINGNODES, |
1625 | c890f66a | Jose A. Lopes | "Some nodes belong to non-existing groups") |
1626 | f361a6ee | Jose A. Lopes | |
1627 | c890f66a | Jose A. Lopes | cvEclusterfilecheck :: (String, String, String) |
1628 | c890f66a | Jose A. Lopes | cvEclusterfilecheck = |
1629 | c890f66a | Jose A. Lopes | ("cluster", |
1630 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvECLUSTERFILECHECK, |
1631 | c890f66a | Jose A. Lopes | "Cluster configuration verification failure") |
1632 | f361a6ee | Jose A. Lopes | |
1633 | c890f66a | Jose A. Lopes | cvEgroupdifferentpvsize :: (String, String, String) |
1634 | c890f66a | Jose A. Lopes | cvEgroupdifferentpvsize = |
1635 | c890f66a | Jose A. Lopes | ("group", |
1636 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEGROUPDIFFERENTPVSIZE, |
1637 | c890f66a | Jose A. Lopes | "PVs in the group have different sizes") |
1638 | f361a6ee | Jose A. Lopes | |
1639 | c890f66a | Jose A. Lopes | cvEinstancebadnode :: (String, String, String) |
1640 | c890f66a | Jose A. Lopes | cvEinstancebadnode = |
1641 | c890f66a | Jose A. Lopes | ("instance", |
1642 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEBADNODE, |
1643 | c890f66a | Jose A. Lopes | "Instance marked as running lives on an offline node") |
1644 | f361a6ee | Jose A. Lopes | |
1645 | c890f66a | Jose A. Lopes | cvEinstancedown :: (String, String, String) |
1646 | c890f66a | Jose A. Lopes | cvEinstancedown = |
1647 | c890f66a | Jose A. Lopes | ("instance", |
1648 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEDOWN, |
1649 | c890f66a | Jose A. Lopes | "Instance not running on its primary node") |
1650 | f361a6ee | Jose A. Lopes | |
1651 | c890f66a | Jose A. Lopes | cvEinstancefaultydisk :: (String, String, String) |
1652 | c890f66a | Jose A. Lopes | cvEinstancefaultydisk = |
1653 | c890f66a | Jose A. Lopes | ("instance", |
1654 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEFAULTYDISK, |
1655 | c890f66a | Jose A. Lopes | "Impossible to retrieve status for a disk") |
1656 | f361a6ee | Jose A. Lopes | |
1657 | c890f66a | Jose A. Lopes | cvEinstancelayout :: (String, String, String) |
1658 | c890f66a | Jose A. Lopes | cvEinstancelayout = |
1659 | c890f66a | Jose A. Lopes | ("instance", |
1660 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCELAYOUT, |
1661 | c890f66a | Jose A. Lopes | "Instance has multiple secondary nodes") |
1662 | f361a6ee | Jose A. Lopes | |
1663 | c890f66a | Jose A. Lopes | cvEinstancemissingcfgparameter :: (String, String, String) |
1664 | c890f66a | Jose A. Lopes | cvEinstancemissingcfgparameter = |
1665 | c890f66a | Jose A. Lopes | ("instance", |
1666 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEMISSINGCFGPARAMETER, |
1667 | c890f66a | Jose A. Lopes | "A configuration parameter for an instance is missing") |
1668 | f361a6ee | Jose A. Lopes | |
1669 | c890f66a | Jose A. Lopes | cvEinstancemissingdisk :: (String, String, String) |
1670 | c890f66a | Jose A. Lopes | cvEinstancemissingdisk = |
1671 | c890f66a | Jose A. Lopes | ("instance", |
1672 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEMISSINGDISK, |
1673 | c890f66a | Jose A. Lopes | "Missing volume on an instance") |
1674 | f361a6ee | Jose A. Lopes | |
1675 | c890f66a | Jose A. Lopes | cvEinstancepolicy :: (String, String, String) |
1676 | c890f66a | Jose A. Lopes | cvEinstancepolicy = |
1677 | c890f66a | Jose A. Lopes | ("instance", |
1678 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEPOLICY, |
1679 | c890f66a | Jose A. Lopes | "Instance does not meet policy") |
1680 | f361a6ee | Jose A. Lopes | |
1681 | c890f66a | Jose A. Lopes | cvEinstancesplitgroups :: (String, String, String) |
1682 | c890f66a | Jose A. Lopes | cvEinstancesplitgroups = |
1683 | c890f66a | Jose A. Lopes | ("instance", |
1684 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCESPLITGROUPS, |
1685 | c890f66a | Jose A. Lopes | "Instance with primary and secondary nodes in different groups") |
1686 | f361a6ee | Jose A. Lopes | |
1687 | c890f66a | Jose A. Lopes | cvEinstanceunsuitablenode :: (String, String, String) |
1688 | c890f66a | Jose A. Lopes | cvEinstanceunsuitablenode = |
1689 | c890f66a | Jose A. Lopes | ("instance", |
1690 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEUNSUITABLENODE, |
1691 | c890f66a | Jose A. Lopes | "Instance running on nodes that are not suitable for it") |
1692 | f361a6ee | Jose A. Lopes | |
1693 | c890f66a | Jose A. Lopes | cvEinstancewrongnode :: (String, String, String) |
1694 | c890f66a | Jose A. Lopes | cvEinstancewrongnode = |
1695 | c890f66a | Jose A. Lopes | ("instance", |
1696 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvEINSTANCEWRONGNODE, |
1697 | c890f66a | Jose A. Lopes | "Instance running on the wrong node") |
1698 | 6dc0cb59 | Jose A. Lopes | |
1699 | c890f66a | Jose A. Lopes | cvEnodedrbd :: (String, String, String) |
1700 | c890f66a | Jose A. Lopes | cvEnodedrbd = |
1701 | c890f66a | Jose A. Lopes | ("node", |
1702 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEDRBD, |
1703 | c890f66a | Jose A. Lopes | "Error parsing the DRBD status file") |
1704 | 6dc0cb59 | Jose A. Lopes | |
1705 | c890f66a | Jose A. Lopes | cvEnodedrbdhelper :: (String, String, String) |
1706 | c890f66a | Jose A. Lopes | cvEnodedrbdhelper = |
1707 | c890f66a | Jose A. Lopes | ("node", |
1708 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEDRBDHELPER, |
1709 | c890f66a | Jose A. Lopes | "Error caused by the DRBD helper") |
1710 | 6dc0cb59 | Jose A. Lopes | |
1711 | c890f66a | Jose A. Lopes | cvEnodedrbdversion :: (String, String, String) |
1712 | c890f66a | Jose A. Lopes | cvEnodedrbdversion = |
1713 | c890f66a | Jose A. Lopes | ("node", |
1714 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEDRBDVERSION, |
1715 | c890f66a | Jose A. Lopes | "DRBD version mismatch within a node group") |
1716 | 6dc0cb59 | Jose A. Lopes | |
1717 | c890f66a | Jose A. Lopes | cvEnodefilecheck :: (String, String, String) |
1718 | c890f66a | Jose A. Lopes | cvEnodefilecheck = |
1719 | c890f66a | Jose A. Lopes | ("node", |
1720 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEFILECHECK, |
1721 | c890f66a | Jose A. Lopes | "Error retrieving the checksum of the node files") |
1722 | 6dc0cb59 | Jose A. Lopes | |
1723 | c890f66a | Jose A. Lopes | cvEnodefilestoragepaths :: (String, String, String) |
1724 | c890f66a | Jose A. Lopes | cvEnodefilestoragepaths = |
1725 | c890f66a | Jose A. Lopes | ("node", |
1726 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEFILESTORAGEPATHS, |
1727 | c890f66a | Jose A. Lopes | "Detected bad file storage paths") |
1728 | 856eb53c | Jose A. Lopes | |
1729 | c890f66a | Jose A. Lopes | cvEnodefilestoragepathunusable :: (String, String, String) |
1730 | c890f66a | Jose A. Lopes | cvEnodefilestoragepathunusable = |
1731 | c890f66a | Jose A. Lopes | ("node", |
1732 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEFILESTORAGEPATHUNUSABLE, |
1733 | c890f66a | Jose A. Lopes | "File storage path unusable") |
1734 | 1c31b263 | Jose A. Lopes | |
1735 | c890f66a | Jose A. Lopes | cvEnodehooks :: (String, String, String) |
1736 | c890f66a | Jose A. Lopes | cvEnodehooks = |
1737 | c890f66a | Jose A. Lopes | ("node", |
1738 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEHOOKS, |
1739 | c890f66a | Jose A. Lopes | "Communication failure in hooks execution") |
1740 | 1c31b263 | Jose A. Lopes | |
1741 | c890f66a | Jose A. Lopes | cvEnodehv :: (String, String, String) |
1742 | c890f66a | Jose A. Lopes | cvEnodehv = |
1743 | c890f66a | Jose A. Lopes | ("node", |
1744 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEHV, |
1745 | c890f66a | Jose A. Lopes | "Hypervisor parameters verification failure") |
1746 | df726590 | Jose A. Lopes | |
1747 | c890f66a | Jose A. Lopes | cvEnodelvm :: (String, String, String) |
1748 | c890f66a | Jose A. Lopes | cvEnodelvm = |
1749 | c890f66a | Jose A. Lopes | ("node", |
1750 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODELVM, |
1751 | c890f66a | Jose A. Lopes | "LVM-related node error") |
1752 | df726590 | Jose A. Lopes | |
1753 | c890f66a | Jose A. Lopes | cvEnoden1 :: (String, String, String) |
1754 | c890f66a | Jose A. Lopes | cvEnoden1 = |
1755 | c890f66a | Jose A. Lopes | ("node", |
1756 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEN1, |
1757 | c890f66a | Jose A. Lopes | "Not enough memory to accommodate instance failovers") |
1758 | df726590 | Jose A. Lopes | |
1759 | c890f66a | Jose A. Lopes | cvEnodenet :: (String, String, String) |
1760 | c890f66a | Jose A. Lopes | cvEnodenet = |
1761 | c890f66a | Jose A. Lopes | ("node", |
1762 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODENET, |
1763 | c890f66a | Jose A. Lopes | "Network-related node error") |
1764 | df726590 | Jose A. Lopes | |
1765 | c890f66a | Jose A. Lopes | cvEnodeoobpath :: (String, String, String) |
1766 | c890f66a | Jose A. Lopes | cvEnodeoobpath = |
1767 | c890f66a | Jose A. Lopes | ("node", |
1768 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEOOBPATH, |
1769 | c890f66a | Jose A. Lopes | "Invalid Out Of Band path") |
1770 | df726590 | Jose A. Lopes | |
1771 | c890f66a | Jose A. Lopes | cvEnodeorphaninstance :: (String, String, String) |
1772 | c890f66a | Jose A. Lopes | cvEnodeorphaninstance = |
1773 | c890f66a | Jose A. Lopes | ("node", |
1774 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEORPHANINSTANCE, |
1775 | c890f66a | Jose A. Lopes | "Unknown intance running on a node") |
1776 | df726590 | Jose A. Lopes | |
1777 | c890f66a | Jose A. Lopes | cvEnodeorphanlv :: (String, String, String) |
1778 | c890f66a | Jose A. Lopes | cvEnodeorphanlv = |
1779 | c890f66a | Jose A. Lopes | ("node", |
1780 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEORPHANLV, |
1781 | c890f66a | Jose A. Lopes | "Unknown LVM logical volume") |
1782 | df726590 | Jose A. Lopes | |
1783 | c890f66a | Jose A. Lopes | cvEnodeos :: (String, String, String) |
1784 | c890f66a | Jose A. Lopes | cvEnodeos = |
1785 | c890f66a | Jose A. Lopes | ("node", |
1786 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEOS, |
1787 | c890f66a | Jose A. Lopes | "OS-related node error") |
1788 | 7236533e | Jose A. Lopes | |
1789 | c890f66a | Jose A. Lopes | cvEnoderpc :: (String, String, String) |
1790 | c890f66a | Jose A. Lopes | cvEnoderpc = |
1791 | c890f66a | Jose A. Lopes | ("node", |
1792 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODERPC, |
1793 | c890f66a | Jose A. Lopes | "Error during connection to the primary node of an instance") |
1794 | 7236533e | Jose A. Lopes | |
1795 | c890f66a | Jose A. Lopes | cvEnodesetup :: (String, String, String) |
1796 | c890f66a | Jose A. Lopes | cvEnodesetup = |
1797 | c890f66a | Jose A. Lopes | ("node", |
1798 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODESETUP, |
1799 | c890f66a | Jose A. Lopes | "Node setup error") |
1800 | 7236533e | Jose A. Lopes | |
1801 | c890f66a | Jose A. Lopes | cvEnodesharedfilestoragepathunusable :: (String, String, String) |
1802 | c890f66a | Jose A. Lopes | cvEnodesharedfilestoragepathunusable = |
1803 | c890f66a | Jose A. Lopes | ("node", |
1804 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODESHAREDFILESTORAGEPATHUNUSABLE, |
1805 | c890f66a | Jose A. Lopes | "Shared file storage path unusable") |
1806 | 7236533e | Jose A. Lopes | |
1807 | c890f66a | Jose A. Lopes | cvEnodessh :: (String, String, String) |
1808 | c890f66a | Jose A. Lopes | cvEnodessh = |
1809 | c890f66a | Jose A. Lopes | ("node", |
1810 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODESSH, |
1811 | c890f66a | Jose A. Lopes | "SSH-related node error") |
1812 | 7236533e | Jose A. Lopes | |
1813 | c890f66a | Jose A. Lopes | cvEnodetime :: (String, String, String) |
1814 | c890f66a | Jose A. Lopes | cvEnodetime = |
1815 | c890f66a | Jose A. Lopes | ("node", |
1816 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODETIME, |
1817 | c890f66a | Jose A. Lopes | "Node returned invalid time") |
1818 | 7236533e | Jose A. Lopes | |
1819 | c890f66a | Jose A. Lopes | cvEnodeuserscripts :: (String, String, String) |
1820 | c890f66a | Jose A. Lopes | cvEnodeuserscripts = |
1821 | c890f66a | Jose A. Lopes | ("node", |
1822 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEUSERSCRIPTS, |
1823 | c890f66a | Jose A. Lopes | "User scripts not present or not executable") |
1824 | 7236533e | Jose A. Lopes | |
1825 | c890f66a | Jose A. Lopes | cvEnodeversion :: (String, String, String) |
1826 | c890f66a | Jose A. Lopes | cvEnodeversion = |
1827 | c890f66a | Jose A. Lopes | ("node", |
1828 | c890f66a | Jose A. Lopes | Types.cVErrorCodeToRaw CvENODEVERSION, |
1829 | c890f66a | Jose A. Lopes | "Protocol version mismatch or Ganeti version mismatch") |
1830 | 85c48fbb | Jose A. Lopes | |
1831 | c890f66a | Jose A. Lopes | cvAllEcodes :: FrozenSet (String, String, String) |
1832 | c890f66a | Jose A. Lopes | cvAllEcodes = |
1833 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet |
1834 | c890f66a | Jose A. Lopes | [cvEclustercert, |
1835 | c890f66a | Jose A. Lopes | cvEclustercfg, |
1836 | c890f66a | Jose A. Lopes | cvEclusterdanglinginst, |
1837 | c890f66a | Jose A. Lopes | cvEclusterdanglingnodes, |
1838 | c890f66a | Jose A. Lopes | cvEclusterfilecheck, |
1839 | c890f66a | Jose A. Lopes | cvEgroupdifferentpvsize, |
1840 | c890f66a | Jose A. Lopes | cvEinstancebadnode, |
1841 | c890f66a | Jose A. Lopes | cvEinstancedown, |
1842 | c890f66a | Jose A. Lopes | cvEinstancefaultydisk, |
1843 | c890f66a | Jose A. Lopes | cvEinstancelayout, |
1844 | c890f66a | Jose A. Lopes | cvEinstancemissingcfgparameter, |
1845 | c890f66a | Jose A. Lopes | cvEinstancemissingdisk, |
1846 | c890f66a | Jose A. Lopes | cvEinstancepolicy, |
1847 | c890f66a | Jose A. Lopes | cvEinstancesplitgroups, |
1848 | c890f66a | Jose A. Lopes | cvEinstanceunsuitablenode, |
1849 | c890f66a | Jose A. Lopes | cvEinstancewrongnode, |
1850 | c890f66a | Jose A. Lopes | cvEnodedrbd, |
1851 | c890f66a | Jose A. Lopes | cvEnodedrbdhelper, |
1852 | c890f66a | Jose A. Lopes | cvEnodedrbdversion, |
1853 | c890f66a | Jose A. Lopes | cvEnodefilecheck, |
1854 | c890f66a | Jose A. Lopes | cvEnodefilestoragepaths, |
1855 | c890f66a | Jose A. Lopes | cvEnodefilestoragepathunusable, |
1856 | c890f66a | Jose A. Lopes | cvEnodehooks, |
1857 | c890f66a | Jose A. Lopes | cvEnodehv, |
1858 | c890f66a | Jose A. Lopes | cvEnodelvm, |
1859 | c890f66a | Jose A. Lopes | cvEnoden1, |
1860 | c890f66a | Jose A. Lopes | cvEnodenet, |
1861 | c890f66a | Jose A. Lopes | cvEnodeoobpath, |
1862 | c890f66a | Jose A. Lopes | cvEnodeorphaninstance, |
1863 | c890f66a | Jose A. Lopes | cvEnodeorphanlv, |
1864 | c890f66a | Jose A. Lopes | cvEnodeos, |
1865 | c890f66a | Jose A. Lopes | cvEnoderpc, |
1866 | c890f66a | Jose A. Lopes | cvEnodesetup, |
1867 | c890f66a | Jose A. Lopes | cvEnodesharedfilestoragepathunusable, |
1868 | c890f66a | Jose A. Lopes | cvEnodessh, |
1869 | c890f66a | Jose A. Lopes | cvEnodetime, |
1870 | c890f66a | Jose A. Lopes | cvEnodeuserscripts, |
1871 | c890f66a | Jose A. Lopes | cvEnodeversion] |
1872 | 85c48fbb | Jose A. Lopes | |
1873 | c890f66a | Jose A. Lopes | cvAllEcodesStrings :: FrozenSet String |
1874 | c890f66a | Jose A. Lopes | cvAllEcodesStrings = |
1875 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.cVErrorCodeToRaw [minBound..] |
1876 | 85c48fbb | Jose A. Lopes | |
1877 | c890f66a | Jose A. Lopes | -- * Instance status |
1878 | 85c48fbb | Jose A. Lopes | |
1879 | c890f66a | Jose A. Lopes | inststAdmindown :: String |
1880 | c890f66a | Jose A. Lopes | inststAdmindown = Types.instanceStatusToRaw StatusDown |
1881 | 85c48fbb | Jose A. Lopes | |
1882 | c890f66a | Jose A. Lopes | inststAdminoffline :: String |
1883 | c890f66a | Jose A. Lopes | inststAdminoffline = Types.instanceStatusToRaw StatusOffline |
1884 | 85c48fbb | Jose A. Lopes | |
1885 | c890f66a | Jose A. Lopes | inststErrordown :: String |
1886 | c890f66a | Jose A. Lopes | inststErrordown = Types.instanceStatusToRaw ErrorDown |
1887 | 85c48fbb | Jose A. Lopes | |
1888 | c890f66a | Jose A. Lopes | inststErrorup :: String |
1889 | c890f66a | Jose A. Lopes | inststErrorup = Types.instanceStatusToRaw ErrorUp |
1890 | 85c48fbb | Jose A. Lopes | |
1891 | c890f66a | Jose A. Lopes | inststNodedown :: String |
1892 | c890f66a | Jose A. Lopes | inststNodedown = Types.instanceStatusToRaw NodeDown |
1893 | 85c48fbb | Jose A. Lopes | |
1894 | c890f66a | Jose A. Lopes | inststNodeoffline :: String |
1895 | c890f66a | Jose A. Lopes | inststNodeoffline = Types.instanceStatusToRaw NodeOffline |
1896 | 37248170 | Jose A. Lopes | |
1897 | c890f66a | Jose A. Lopes | inststRunning :: String |
1898 | c890f66a | Jose A. Lopes | inststRunning = Types.instanceStatusToRaw Running |
1899 | 37248170 | Jose A. Lopes | |
1900 | c890f66a | Jose A. Lopes | inststWrongnode :: String |
1901 | c890f66a | Jose A. Lopes | inststWrongnode = Types.instanceStatusToRaw WrongNode |
1902 | 37248170 | Jose A. Lopes | |
1903 | c890f66a | Jose A. Lopes | inststAll :: FrozenSet String |
1904 | c890f66a | Jose A. Lopes | inststAll = ConstantUtils.mkSet $ map Types.instanceStatusToRaw [minBound..] |
1905 | 37248170 | Jose A. Lopes | |
1906 | c890f66a | Jose A. Lopes | -- * Admin states |
1907 | 37248170 | Jose A. Lopes | |
1908 | c890f66a | Jose A. Lopes | adminstDown :: String |
1909 | c890f66a | Jose A. Lopes | adminstDown = Types.adminStateToRaw AdminDown |
1910 | 37248170 | Jose A. Lopes | |
1911 | c890f66a | Jose A. Lopes | adminstOffline :: String |
1912 | c890f66a | Jose A. Lopes | adminstOffline = Types.adminStateToRaw AdminOffline |
1913 | 37248170 | Jose A. Lopes | |
1914 | c890f66a | Jose A. Lopes | adminstUp :: String |
1915 | c890f66a | Jose A. Lopes | adminstUp = Types.adminStateToRaw AdminUp |
1916 | 37248170 | Jose A. Lopes | |
1917 | c890f66a | Jose A. Lopes | adminstAll :: FrozenSet String |
1918 | c890f66a | Jose A. Lopes | adminstAll = ConstantUtils.mkSet $ map Types.adminStateToRaw [minBound..] |
1919 | 37248170 | Jose A. Lopes | |
1920 | c890f66a | Jose A. Lopes | -- * Node roles |
1921 | 85c48fbb | Jose A. Lopes | |
1922 | c890f66a | Jose A. Lopes | nrDrained :: String |
1923 | c890f66a | Jose A. Lopes | nrDrained = Types.nodeRoleToRaw NRDrained |
1924 | 85c48fbb | Jose A. Lopes | |
1925 | c890f66a | Jose A. Lopes | nrMaster :: String |
1926 | c890f66a | Jose A. Lopes | nrMaster = Types.nodeRoleToRaw NRMaster |
1927 | 85c48fbb | Jose A. Lopes | |
1928 | c890f66a | Jose A. Lopes | nrMcandidate :: String |
1929 | c890f66a | Jose A. Lopes | nrMcandidate = Types.nodeRoleToRaw NRCandidate |
1930 | 85c48fbb | Jose A. Lopes | |
1931 | c890f66a | Jose A. Lopes | nrOffline :: String |
1932 | c890f66a | Jose A. Lopes | nrOffline = Types.nodeRoleToRaw NROffline |
1933 | 85c48fbb | Jose A. Lopes | |
1934 | c890f66a | Jose A. Lopes | nrRegular :: String |
1935 | c890f66a | Jose A. Lopes | nrRegular = Types.nodeRoleToRaw NRRegular |
1936 | 85c48fbb | Jose A. Lopes | |
1937 | c890f66a | Jose A. Lopes | nrAll :: FrozenSet String |
1938 | c890f66a | Jose A. Lopes | nrAll = ConstantUtils.mkSet $ map Types.nodeRoleToRaw [minBound..] |
1939 | 85c48fbb | Jose A. Lopes | |
1940 | c890f66a | Jose A. Lopes | -- * Allocator framework constants |
1941 | 85c48fbb | Jose A. Lopes | |
1942 | c890f66a | Jose A. Lopes | iallocatorVersion :: Int |
1943 | c890f66a | Jose A. Lopes | iallocatorVersion = 2 |
1944 | 85c48fbb | Jose A. Lopes | |
1945 | c890f66a | Jose A. Lopes | iallocatorDirIn :: String |
1946 | c890f66a | Jose A. Lopes | iallocatorDirIn = Types.iAllocatorTestDirToRaw IAllocatorDirIn |
1947 | 85c48fbb | Jose A. Lopes | |
1948 | c890f66a | Jose A. Lopes | iallocatorDirOut :: String |
1949 | c890f66a | Jose A. Lopes | iallocatorDirOut = Types.iAllocatorTestDirToRaw IAllocatorDirOut |
1950 | 85c48fbb | Jose A. Lopes | |
1951 | c890f66a | Jose A. Lopes | validIallocatorDirections :: FrozenSet String |
1952 | c890f66a | Jose A. Lopes | validIallocatorDirections = |
1953 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.iAllocatorTestDirToRaw [minBound..] |
1954 | 85c48fbb | Jose A. Lopes | |
1955 | c890f66a | Jose A. Lopes | iallocatorModeAlloc :: String |
1956 | c890f66a | Jose A. Lopes | iallocatorModeAlloc = Types.iAllocatorModeToRaw IAllocatorAlloc |
1957 | 85c48fbb | Jose A. Lopes | |
1958 | c890f66a | Jose A. Lopes | iallocatorModeChgGroup :: String |
1959 | c890f66a | Jose A. Lopes | iallocatorModeChgGroup = Types.iAllocatorModeToRaw IAllocatorChangeGroup |
1960 | 85c48fbb | Jose A. Lopes | |
1961 | c890f66a | Jose A. Lopes | iallocatorModeMultiAlloc :: String |
1962 | c890f66a | Jose A. Lopes | iallocatorModeMultiAlloc = Types.iAllocatorModeToRaw IAllocatorMultiAlloc |
1963 | 85c48fbb | Jose A. Lopes | |
1964 | c890f66a | Jose A. Lopes | iallocatorModeNodeEvac :: String |
1965 | c890f66a | Jose A. Lopes | iallocatorModeNodeEvac = Types.iAllocatorModeToRaw IAllocatorNodeEvac |
1966 | 5867e439 | Jose A. Lopes | |
1967 | c890f66a | Jose A. Lopes | iallocatorModeReloc :: String |
1968 | c890f66a | Jose A. Lopes | iallocatorModeReloc = Types.iAllocatorModeToRaw IAllocatorReloc |
1969 | 5867e439 | Jose A. Lopes | |
1970 | c890f66a | Jose A. Lopes | validIallocatorModes :: FrozenSet String |
1971 | c890f66a | Jose A. Lopes | validIallocatorModes = |
1972 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.iAllocatorModeToRaw [minBound..] |
1973 | 5867e439 | Jose A. Lopes | |
1974 | c890f66a | Jose A. Lopes | iallocatorSearchPath :: [String] |
1975 | c890f66a | Jose A. Lopes | iallocatorSearchPath = AutoConf.iallocatorSearchPath |
1976 | 5867e439 | Jose A. Lopes | |
1977 | c890f66a | Jose A. Lopes | defaultIallocatorShortcut :: String |
1978 | c890f66a | Jose A. Lopes | defaultIallocatorShortcut = "." |
1979 | 85c48fbb | Jose A. Lopes | |
1980 | c890f66a | Jose A. Lopes | -- * Node evacuation |
1981 | 85c48fbb | Jose A. Lopes | |
1982 | c890f66a | Jose A. Lopes | nodeEvacPri :: String |
1983 | d067f40b | Jose A. Lopes | nodeEvacPri = Types.evacModeToRaw ChangePrimary |
1984 | 85c48fbb | Jose A. Lopes | |
1985 | c890f66a | Jose A. Lopes | nodeEvacSec :: String |
1986 | d067f40b | Jose A. Lopes | nodeEvacSec = Types.evacModeToRaw ChangeSecondary |
1987 | 85c48fbb | Jose A. Lopes | |
1988 | c890f66a | Jose A. Lopes | nodeEvacAll :: String |
1989 | d067f40b | Jose A. Lopes | nodeEvacAll = Types.evacModeToRaw ChangeAll |
1990 | 85c48fbb | Jose A. Lopes | |
1991 | c890f66a | Jose A. Lopes | nodeEvacModes :: FrozenSet String |
1992 | d067f40b | Jose A. Lopes | nodeEvacModes = ConstantUtils.mkSet $ map Types.evacModeToRaw [minBound..] |
1993 | 85c48fbb | Jose A. Lopes | |
1994 | c890f66a | Jose A. Lopes | -- * Job status |
1995 | 85c48fbb | Jose A. Lopes | |
1996 | c890f66a | Jose A. Lopes | jobStatusQueued :: String |
1997 | c890f66a | Jose A. Lopes | jobStatusQueued = Types.jobStatusToRaw JOB_STATUS_QUEUED |
1998 | 85c48fbb | Jose A. Lopes | |
1999 | c890f66a | Jose A. Lopes | jobStatusWaiting :: String |
2000 | c890f66a | Jose A. Lopes | jobStatusWaiting = Types.jobStatusToRaw JOB_STATUS_WAITING |
2001 | 85c48fbb | Jose A. Lopes | |
2002 | c890f66a | Jose A. Lopes | jobStatusCanceling :: String |
2003 | c890f66a | Jose A. Lopes | jobStatusCanceling = Types.jobStatusToRaw JOB_STATUS_CANCELING |
2004 | 85c48fbb | Jose A. Lopes | |
2005 | c890f66a | Jose A. Lopes | jobStatusRunning :: String |
2006 | c890f66a | Jose A. Lopes | jobStatusRunning = Types.jobStatusToRaw JOB_STATUS_RUNNING |
2007 | 85c48fbb | Jose A. Lopes | |
2008 | c890f66a | Jose A. Lopes | jobStatusCanceled :: String |
2009 | c890f66a | Jose A. Lopes | jobStatusCanceled = Types.jobStatusToRaw JOB_STATUS_CANCELED |
2010 | 43a9e860 | Jose A. Lopes | |
2011 | c890f66a | Jose A. Lopes | jobStatusSuccess :: String |
2012 | c890f66a | Jose A. Lopes | jobStatusSuccess = Types.jobStatusToRaw JOB_STATUS_SUCCESS |
2013 | 43a9e860 | Jose A. Lopes | |
2014 | c890f66a | Jose A. Lopes | jobStatusError :: String |
2015 | c890f66a | Jose A. Lopes | jobStatusError = Types.jobStatusToRaw JOB_STATUS_ERROR |
2016 | 43a9e860 | Jose A. Lopes | |
2017 | c890f66a | Jose A. Lopes | jobsPending :: FrozenSet String |
2018 | c890f66a | Jose A. Lopes | jobsPending = |
2019 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet [jobStatusQueued, jobStatusWaiting, jobStatusCanceling] |
2020 | 43a9e860 | Jose A. Lopes | |
2021 | c890f66a | Jose A. Lopes | jobsFinalized :: FrozenSet String |
2022 | c890f66a | Jose A. Lopes | jobsFinalized = |
2023 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet $ map Types.finalizedJobStatusToRaw [minBound..] |
2024 | 43a9e860 | Jose A. Lopes | |
2025 | c890f66a | Jose A. Lopes | jobStatusAll :: FrozenSet String |
2026 | c890f66a | Jose A. Lopes | jobStatusAll = ConstantUtils.mkSet $ map Types.jobStatusToRaw [minBound..] |
2027 | 43a9e860 | Jose A. Lopes | |
2028 | c890f66a | Jose A. Lopes | -- * OpCode status |
2029 | 43a9e860 | Jose A. Lopes | |
2030 | c890f66a | Jose A. Lopes | -- ** Not yet finalized opcodes |
2031 | 43a9e860 | Jose A. Lopes | |
2032 | c890f66a | Jose A. Lopes | opStatusCanceling :: String |
2033 | c890f66a | Jose A. Lopes | opStatusCanceling = "canceling" |
2034 | 85c48fbb | Jose A. Lopes | |
2035 | c890f66a | Jose A. Lopes | opStatusQueued :: String |
2036 | c890f66a | Jose A. Lopes | opStatusQueued = "queued" |
2037 | 85c48fbb | Jose A. Lopes | |
2038 | c890f66a | Jose A. Lopes | opStatusRunning :: String |
2039 | c890f66a | Jose A. Lopes | opStatusRunning = "running" |
2040 | 85c48fbb | Jose A. Lopes | |
2041 | c890f66a | Jose A. Lopes | opStatusWaiting :: String |
2042 | c890f66a | Jose A. Lopes | opStatusWaiting = "waiting" |
2043 | 85c48fbb | Jose A. Lopes | |
2044 | c890f66a | Jose A. Lopes | -- ** Finalized opcodes |
2045 | 85c48fbb | Jose A. Lopes | |
2046 | c890f66a | Jose A. Lopes | opStatusCanceled :: String |
2047 | c890f66a | Jose A. Lopes | opStatusCanceled = "canceled" |
2048 | 85c48fbb | Jose A. Lopes | |
2049 | c890f66a | Jose A. Lopes | opStatusError :: String |
2050 | c890f66a | Jose A. Lopes | opStatusError = "error" |
2051 | 85c48fbb | Jose A. Lopes | |
2052 | c890f66a | Jose A. Lopes | opStatusSuccess :: String |
2053 | c890f66a | Jose A. Lopes | opStatusSuccess = "success" |
2054 | 85c48fbb | Jose A. Lopes | |
2055 | c890f66a | Jose A. Lopes | opsFinalized :: FrozenSet String |
2056 | c890f66a | Jose A. Lopes | opsFinalized = |
2057 | c890f66a | Jose A. Lopes | ConstantUtils.mkSet [opStatusCanceled, opStatusError, opStatusSuccess] |
2058 | 85c48fbb | Jose A. Lopes | |
2059 | c890f66a | Jose A. Lopes | -- * OpCode priority |
2060 | 85c48fbb | Jose A. Lopes | |
2061 | c890f66a | Jose A. Lopes | opPrioLowest :: Int |
2062 | c890f66a | Jose A. Lopes | opPrioLowest = 19 |
2063 | 85c48fbb | Jose A. Lopes | |
2064 | c890f66a | Jose A. Lopes | opPrioHighest :: Int |
2065 | c890f66a | Jose A. Lopes | opPrioHighest = -20 |
2066 | 85c48fbb | Jose A. Lopes | |
2067 | c890f66a | Jose A. Lopes | opPrioLow :: Int |
2068 | c890f66a | Jose A. Lopes | opPrioLow = Types.opSubmitPriorityToRaw OpPrioLow |
2069 | 85c48fbb | Jose A. Lopes | |
2070 | c890f66a | Jose A. Lopes | opPrioNormal :: Int |
2071 | c890f66a | Jose A. Lopes | opPrioNormal = Types.opSubmitPriorityToRaw OpPrioNormal |
2072 | 85c48fbb | Jose A. Lopes | |
2073 | c890f66a | Jose A. Lopes | opPrioHigh :: Int |
2074 | c890f66a | Jose A. Lopes | opPrioHigh = Types.opSubmitPriorityToRaw OpPrioHigh |
2075 | 5867e439 | Jose A. Lopes | |
2076 | c890f66a | Jose A. Lopes | opPrioSubmitValid :: FrozenSet Int |
2077 | c890f66a | Jose A. Lopes | opPrioSubmitValid = ConstantUtils.mkSet [opPrioLow, opPrioNormal, opPrioHigh] |
2078 | 5867e439 | Jose A. Lopes | |
2079 | c890f66a | Jose A. Lopes | opPrioDefault :: Int |
2080 | c890f66a | Jose A. Lopes | opPrioDefault = opPrioNormal |
2081 | 5867e439 | Jose A. Lopes | |
2082 | c890f66a | Jose A. Lopes | -- * Execution log types |
2083 | 5867e439 | Jose A. Lopes | |
2084 | c890f66a | Jose A. Lopes | elogMessage :: String |
2085 | c890f66a | Jose A. Lopes | elogMessage = Types.eLogTypeToRaw ELogMessage |
2086 | 5867e439 | Jose A. Lopes | |
2087 | c890f66a | Jose A. Lopes | elogRemoteImport :: String |
2088 | c890f66a | Jose A. Lopes | elogRemoteImport = Types.eLogTypeToRaw ELogRemoteImport |
2089 | 5867e439 | Jose A. Lopes | |
2090 | c890f66a | Jose A. Lopes | elogJqueueTest :: String |
2091 | c890f66a | Jose A. Lopes | elogJqueueTest = Types.eLogTypeToRaw ELogJqueueTest |
2092 | 5867e439 | Jose A. Lopes | |
2093 | cdac0552 | Jose A. Lopes | -- * Confd |
2094 | cdac0552 | Jose A. Lopes | |
2095 | cdac0552 | Jose A. Lopes | confdProtocolVersion :: Int |
2096 | cdac0552 | Jose A. Lopes | confdProtocolVersion = ConstantUtils.confdProtocolVersion |
2097 | cdac0552 | Jose A. Lopes | |
2098 | cdac0552 | Jose A. Lopes | -- Confd request type |
2099 | cdac0552 | Jose A. Lopes | |
2100 | cdac0552 | Jose A. Lopes | confdReqPing :: Int |
2101 | cdac0552 | Jose A. Lopes | confdReqPing = Types.confdRequestTypeToRaw ReqPing |
2102 | cdac0552 | Jose A. Lopes | |
2103 | cdac0552 | Jose A. Lopes | confdReqNodeRoleByname :: Int |
2104 | cdac0552 | Jose A. Lopes | confdReqNodeRoleByname = Types.confdRequestTypeToRaw ReqNodeRoleByName |
2105 | cdac0552 | Jose A. Lopes | |
2106 | cdac0552 | Jose A. Lopes | confdReqNodePipByInstanceIp :: Int |
2107 | cdac0552 | Jose A. Lopes | confdReqNodePipByInstanceIp = Types.confdRequestTypeToRaw ReqNodePipByInstPip |
2108 | cdac0552 | Jose A. Lopes | |
2109 | cdac0552 | Jose A. Lopes | confdReqClusterMaster :: Int |
2110 | cdac0552 | Jose A. Lopes | confdReqClusterMaster = Types.confdRequestTypeToRaw ReqClusterMaster |
2111 | cdac0552 | Jose A. Lopes | |
2112 | cdac0552 | Jose A. Lopes | confdReqNodePipList :: Int |
2113 | cdac0552 | Jose A. Lopes | confdReqNodePipList = Types.confdRequestTypeToRaw ReqNodePipList |
2114 | cdac0552 | Jose A. Lopes | |
2115 | cdac0552 | Jose A. Lopes | confdReqMcPipList :: Int |
2116 | cdac0552 | Jose A. Lopes | confdReqMcPipList = Types.confdRequestTypeToRaw ReqMcPipList |
2117 | cdac0552 | Jose A. Lopes | |
2118 | cdac0552 | Jose A. Lopes | confdReqInstancesIpsList :: Int |
2119 | cdac0552 | Jose A. Lopes | confdReqInstancesIpsList = Types.confdRequestTypeToRaw ReqInstIpsList |
2120 | cdac0552 | Jose A. Lopes | |
2121 | cdac0552 | Jose A. Lopes | confdReqNodeDrbd :: Int |
2122 | cdac0552 | Jose A. Lopes | confdReqNodeDrbd = Types.confdRequestTypeToRaw ReqNodeDrbd |
2123 | cdac0552 | Jose A. Lopes | |
2124 | cdac0552 | Jose A. Lopes | confdReqNodeInstances :: Int |
2125 | cdac0552 | Jose A. Lopes | confdReqNodeInstances = Types.confdRequestTypeToRaw ReqNodeInstances |
2126 | cdac0552 | Jose A. Lopes | |
2127 | cdac0552 | Jose A. Lopes | confdReqs :: FrozenSet Int |
2128 | cdac0552 | Jose A. Lopes | confdReqs = |
2129 | cdac0552 | Jose A. Lopes | ConstantUtils.mkSet . |
2130 | cdac0552 | Jose A. Lopes | map Types.confdRequestTypeToRaw $ |
2131 | cdac0552 | Jose A. Lopes | [minBound..] \\ [ReqNodeInstances] |
2132 | cdac0552 | Jose A. Lopes | |
2133 | cdac0552 | Jose A. Lopes | -- * Confd request type |
2134 | cdac0552 | Jose A. Lopes | |
2135 | cdac0552 | Jose A. Lopes | confdReqfieldName :: Int |
2136 | cdac0552 | Jose A. Lopes | confdReqfieldName = Types.confdReqFieldToRaw ReqFieldName |
2137 | cdac0552 | Jose A. Lopes | |
2138 | cdac0552 | Jose A. Lopes | confdReqfieldIp :: Int |
2139 | cdac0552 | Jose A. Lopes | confdReqfieldIp = Types.confdReqFieldToRaw ReqFieldIp |
2140 | cdac0552 | Jose A. Lopes | |
2141 | cdac0552 | Jose A. Lopes | confdReqfieldMnodePip :: Int |
2142 | cdac0552 | Jose A. Lopes | confdReqfieldMnodePip = Types.confdReqFieldToRaw ReqFieldMNodePip |
2143 | cdac0552 | Jose A. Lopes | |
2144 | cdac0552 | Jose A. Lopes | -- * Confd repl status |
2145 | cdac0552 | Jose A. Lopes | |
2146 | cdac0552 | Jose A. Lopes | confdReplStatusOk :: Int |
2147 | cdac0552 | Jose A. Lopes | confdReplStatusOk = Types.confdReplyStatusToRaw ReplyStatusOk |
2148 | cdac0552 | Jose A. Lopes | |
2149 | cdac0552 | Jose A. Lopes | confdReplStatusError :: Int |
2150 | cdac0552 | Jose A. Lopes | confdReplStatusError = Types.confdReplyStatusToRaw ReplyStatusError |
2151 | cdac0552 | Jose A. Lopes | |
2152 | cdac0552 | Jose A. Lopes | confdReplStatusNotimplemented :: Int |
2153 | cdac0552 | Jose A. Lopes | confdReplStatusNotimplemented = Types.confdReplyStatusToRaw ReplyStatusNotImpl |
2154 | cdac0552 | Jose A. Lopes | |
2155 | cdac0552 | Jose A. Lopes | confdReplStatuses :: FrozenSet Int |
2156 | cdac0552 | Jose A. Lopes | confdReplStatuses = |
2157 | cdac0552 | Jose A. Lopes | ConstantUtils.mkSet $ map Types.confdReplyStatusToRaw [minBound..] |
2158 | cdac0552 | Jose A. Lopes | |
2159 | cdac0552 | Jose A. Lopes | -- * Confd node role |
2160 | cdac0552 | Jose A. Lopes | |
2161 | cdac0552 | Jose A. Lopes | confdNodeRoleMaster :: Int |
2162 | cdac0552 | Jose A. Lopes | confdNodeRoleMaster = Types.confdNodeRoleToRaw NodeRoleMaster |
2163 | cdac0552 | Jose A. Lopes | |
2164 | cdac0552 | Jose A. Lopes | confdNodeRoleCandidate :: Int |
2165 | cdac0552 | Jose A. Lopes | confdNodeRoleCandidate = Types.confdNodeRoleToRaw NodeRoleCandidate |
2166 | cdac0552 | Jose A. Lopes | |
2167 | cdac0552 | Jose A. Lopes | confdNodeRoleOffline :: Int |
2168 | cdac0552 | Jose A. Lopes | confdNodeRoleOffline = Types.confdNodeRoleToRaw NodeRoleOffline |
2169 | cdac0552 | Jose A. Lopes | |
2170 | cdac0552 | Jose A. Lopes | confdNodeRoleDrained :: Int |
2171 | cdac0552 | Jose A. Lopes | confdNodeRoleDrained = Types.confdNodeRoleToRaw NodeRoleDrained |
2172 | cdac0552 | Jose A. Lopes | |
2173 | cdac0552 | Jose A. Lopes | confdNodeRoleRegular :: Int |
2174 | cdac0552 | Jose A. Lopes | confdNodeRoleRegular = Types.confdNodeRoleToRaw NodeRoleRegular |
2175 | cdac0552 | Jose A. Lopes | |
2176 | 61e32567 | Jose A. Lopes | -- * A few common errors for confd |
2177 | 61e32567 | Jose A. Lopes | |
2178 | cdac0552 | Jose A. Lopes | confdErrorUnknownEntry :: Int |
2179 | cdac0552 | Jose A. Lopes | confdErrorUnknownEntry = Types.confdErrorTypeToRaw ConfdErrorUnknownEntry |
2180 | 61e32567 | Jose A. Lopes | |
2181 | 61e32567 | Jose A. Lopes | confdErrorInternal :: Int |
2182 | cdac0552 | Jose A. Lopes | confdErrorInternal = Types.confdErrorTypeToRaw ConfdErrorInternal |
2183 | 61e32567 | Jose A. Lopes | |
2184 | cdac0552 | Jose A. Lopes | confdErrorArgument :: Int |
2185 | cdac0552 | Jose A. Lopes | confdErrorArgument = Types.confdErrorTypeToRaw ConfdErrorArgument |
2186 | 61e32567 | Jose A. Lopes | |
2187 | cdac0552 | Jose A. Lopes | -- * Confd request query fields |
2188 | dd95d461 | Jose A. Lopes | |
2189 | dd95d461 | Jose A. Lopes | confdReqqLink :: String |
2190 | dd95d461 | Jose A. Lopes | confdReqqLink = ConstantUtils.confdReqqLink |
2191 | dd95d461 | Jose A. Lopes | |
2192 | dd95d461 | Jose A. Lopes | confdReqqIp :: String |
2193 | dd95d461 | Jose A. Lopes | confdReqqIp = ConstantUtils.confdReqqIp |
2194 | dd95d461 | Jose A. Lopes | |
2195 | dd95d461 | Jose A. Lopes | confdReqqIplist :: String |
2196 | dd95d461 | Jose A. Lopes | confdReqqIplist = ConstantUtils.confdReqqIplist |
2197 | dd95d461 | Jose A. Lopes | |
2198 | dd95d461 | Jose A. Lopes | confdReqqFields :: String |
2199 | dd95d461 | Jose A. Lopes | confdReqqFields = ConstantUtils.confdReqqFields |
2200 | dd95d461 | Jose A. Lopes | |
2201 | 61e32567 | Jose A. Lopes | -- | Each request is "salted" by the current timestamp. |
2202 | 61e32567 | Jose A. Lopes | -- |
2203 | 61e32567 | Jose A. Lopes | -- This constant decides how many seconds of skew to accept. |
2204 | 61e32567 | Jose A. Lopes | -- |
2205 | 61e32567 | Jose A. Lopes | -- TODO: make this a default and allow the value to be more |
2206 | 61e32567 | Jose A. Lopes | -- configurable |
2207 | 61e32567 | Jose A. Lopes | confdMaxClockSkew :: Int |
2208 | 61e32567 | Jose A. Lopes | confdMaxClockSkew = 2 * nodeMaxClockSkew |
2209 | 61e32567 | Jose A. Lopes | |
2210 | 61e32567 | Jose A. Lopes | -- | When we haven't reloaded the config for more than this amount of |
2211 | 61e32567 | Jose A. Lopes | -- seconds, we force a test to see if inotify is betraying us. Using a |
2212 | 61e32567 | Jose A. Lopes | -- prime number to ensure we get less chance of 'same wakeup' with |
2213 | 61e32567 | Jose A. Lopes | -- other processes. |
2214 | 61e32567 | Jose A. Lopes | confdConfigReloadTimeout :: Int |
2215 | 61e32567 | Jose A. Lopes | confdConfigReloadTimeout = 17 |
2216 | 61e32567 | Jose A. Lopes | |
2217 | 61e32567 | Jose A. Lopes | -- | If we receive more than one update in this amount of |
2218 | 61e32567 | Jose A. Lopes | -- microseconds, we move to polling every RATELIMIT seconds, rather |
2219 | 61e32567 | Jose A. Lopes | -- than relying on inotify, to be able to serve more requests. |
2220 | 61e32567 | Jose A. Lopes | confdConfigReloadRatelimit :: Int |
2221 | 61e32567 | Jose A. Lopes | confdConfigReloadRatelimit = 250000 |
2222 | 61e32567 | Jose A. Lopes | |
2223 | 61e32567 | Jose A. Lopes | -- | Magic number prepended to all confd queries. |
2224 | 61e32567 | Jose A. Lopes | -- |
2225 | 61e32567 | Jose A. Lopes | -- This allows us to distinguish different types of confd protocols |
2226 | 61e32567 | Jose A. Lopes | -- and handle them. For example by changing this we can move the whole |
2227 | 61e32567 | Jose A. Lopes | -- payload to be compressed, or move away from json. |
2228 | 61e32567 | Jose A. Lopes | confdMagicFourcc :: String |
2229 | 61e32567 | Jose A. Lopes | confdMagicFourcc = "plj0" |
2230 | 61e32567 | Jose A. Lopes | |
2231 | 61e32567 | Jose A. Lopes | -- | By default a confd request is sent to the minimum between this |
2232 | 61e32567 | Jose A. Lopes | -- number and all MCs. 6 was chosen because even in the case of a |
2233 | 61e32567 | Jose A. Lopes | -- disastrous 50% response rate, we should have enough answers to be |
2234 | 61e32567 | Jose A. Lopes | -- able to compare more than one. |
2235 | 61e32567 | Jose A. Lopes | confdDefaultReqCoverage :: Int |
2236 | 61e32567 | Jose A. Lopes | confdDefaultReqCoverage = 6 |
2237 | 61e32567 | Jose A. Lopes | |
2238 | 61e32567 | Jose A. Lopes | -- | Timeout in seconds to expire pending query request in the confd |
2239 | 61e32567 | Jose A. Lopes | -- client library. We don't actually expect any answer more than 10 |
2240 | 61e32567 | Jose A. Lopes | -- seconds after we sent a request. |
2241 | 61e32567 | Jose A. Lopes | confdClientExpireTimeout :: Int |
2242 | 61e32567 | Jose A. Lopes | confdClientExpireTimeout = 10 |
2243 | 61e32567 | Jose A. Lopes | |
2244 | f361a6ee | Jose A. Lopes | -- * Possible values for NodeGroup.alloc_policy |
2245 | f361a6ee | Jose A. Lopes | |
2246 | f361a6ee | Jose A. Lopes | allocPolicyLastResort :: String |
2247 | 58c09b0e | Jose A. Lopes | allocPolicyLastResort = Types.allocPolicyToRaw AllocLastResort |
2248 | f361a6ee | Jose A. Lopes | |
2249 | f361a6ee | Jose A. Lopes | allocPolicyPreferred :: String |
2250 | 58c09b0e | Jose A. Lopes | allocPolicyPreferred = Types.allocPolicyToRaw AllocPreferred |
2251 | f361a6ee | Jose A. Lopes | |
2252 | f361a6ee | Jose A. Lopes | allocPolicyUnallocable :: String |
2253 | 58c09b0e | Jose A. Lopes | allocPolicyUnallocable = Types.allocPolicyToRaw AllocUnallocable |
2254 | f361a6ee | Jose A. Lopes | |
2255 | f361a6ee | Jose A. Lopes | validAllocPolicies :: [String] |
2256 | 58c09b0e | Jose A. Lopes | validAllocPolicies = map Types.allocPolicyToRaw [minBound..] |
2257 | f361a6ee | Jose A. Lopes | |
2258 | f361a6ee | Jose A. Lopes | -- | Temporary external/shared storage parameters |
2259 | f361a6ee | Jose A. Lopes | blockdevDriverManual :: String |
2260 | 5867e439 | Jose A. Lopes | blockdevDriverManual = Types.blockDriverToRaw BlockDrvManual |
2261 | f361a6ee | Jose A. Lopes | |
2262 | 3b170ad4 | Jose A. Lopes | -- | 'qemu-img' path, required for 'ovfconverter' |
2263 | 3b170ad4 | Jose A. Lopes | qemuimgPath :: String |
2264 | 3b170ad4 | Jose A. Lopes | qemuimgPath = AutoConf.qemuimgPath |
2265 | 3b170ad4 | Jose A. Lopes | |
2266 | 3b170ad4 | Jose A. Lopes | -- | Whether htools was enabled at compilation time |
2267 | 3b170ad4 | Jose A. Lopes | -- |
2268 | 3b170ad4 | Jose A. Lopes | -- FIXME: this should be moved next to the other enable constants, |
2269 | 3b170ad4 | Jose A. Lopes | -- such as, 'enableConfd', and renamed to 'enableHtools'. |
2270 | 3b170ad4 | Jose A. Lopes | htools :: Bool |
2271 | 3b170ad4 | Jose A. Lopes | htools = AutoConf.htools |
2272 | 3b170ad4 | Jose A. Lopes | |
2273 | 84ad6b78 | Jose A. Lopes | -- * Key files for SSH daemon |
2274 | 84ad6b78 | Jose A. Lopes | |
2275 | 84ad6b78 | Jose A. Lopes | sshHostDsaPriv :: String |
2276 | 84ad6b78 | Jose A. Lopes | sshHostDsaPriv = sshConfigDir ++ "/ssh_host_dsa_key" |
2277 | 84ad6b78 | Jose A. Lopes | |
2278 | 84ad6b78 | Jose A. Lopes | sshHostDsaPub :: String |
2279 | 84ad6b78 | Jose A. Lopes | sshHostDsaPub = sshHostDsaPriv ++ ".pub" |
2280 | 84ad6b78 | Jose A. Lopes | |
2281 | 84ad6b78 | Jose A. Lopes | sshHostRsaPriv :: String |
2282 | 84ad6b78 | Jose A. Lopes | sshHostRsaPriv = sshConfigDir ++ "/ssh_host_rsa_key" |
2283 | 84ad6b78 | Jose A. Lopes | |
2284 | 84ad6b78 | Jose A. Lopes | sshHostRsaPub :: String |
2285 | 84ad6b78 | Jose A. Lopes | sshHostRsaPub = sshHostRsaPriv ++ ".pub" |
2286 | 84ad6b78 | Jose A. Lopes | |
2287 | 06fd57e5 | Jose A. Lopes | -- | Path generating random UUID |
2288 | 06fd57e5 | Jose A. Lopes | randomUuidFile :: String |
2289 | 06fd57e5 | Jose A. Lopes | randomUuidFile = ConstantUtils.randomUuidFile |
2290 | 06fd57e5 | Jose A. Lopes | |
2291 | f361a6ee | Jose A. Lopes | -- * Auto-repair tag prefixes |
2292 | f361a6ee | Jose A. Lopes | |
2293 | f361a6ee | Jose A. Lopes | autoRepairTagPrefix :: String |
2294 | f361a6ee | Jose A. Lopes | autoRepairTagPrefix = "ganeti:watcher:autorepair:" |
2295 | f361a6ee | Jose A. Lopes | |
2296 | f361a6ee | Jose A. Lopes | autoRepairTagEnabled :: String |
2297 | f361a6ee | Jose A. Lopes | autoRepairTagEnabled = autoRepairTagPrefix |
2298 | f361a6ee | Jose A. Lopes | |
2299 | f361a6ee | Jose A. Lopes | autoRepairTagPending :: String |
2300 | f361a6ee | Jose A. Lopes | autoRepairTagPending = autoRepairTagPrefix ++ "pending:" |
2301 | f361a6ee | Jose A. Lopes | |
2302 | f361a6ee | Jose A. Lopes | autoRepairTagResult :: String |
2303 | f361a6ee | Jose A. Lopes | autoRepairTagResult = autoRepairTagPrefix ++ "result:" |
2304 | f361a6ee | Jose A. Lopes | |
2305 | f361a6ee | Jose A. Lopes | autoRepairTagSuspended :: String |
2306 | f361a6ee | Jose A. Lopes | autoRepairTagSuspended = autoRepairTagPrefix ++ "suspend:" |
2307 | f361a6ee | Jose A. Lopes | |
2308 | f361a6ee | Jose A. Lopes | -- * Auto-repair levels |
2309 | f361a6ee | Jose A. Lopes | |
2310 | f361a6ee | Jose A. Lopes | autoRepairFailover :: String |
2311 | f361a6ee | Jose A. Lopes | autoRepairFailover = "failover" |
2312 | f361a6ee | Jose A. Lopes | |
2313 | f361a6ee | Jose A. Lopes | autoRepairFixStorage :: String |
2314 | f361a6ee | Jose A. Lopes | autoRepairFixStorage = "fix-storage" |
2315 | f361a6ee | Jose A. Lopes | |
2316 | f361a6ee | Jose A. Lopes | autoRepairMigrate :: String |
2317 | f361a6ee | Jose A. Lopes | autoRepairMigrate = "migrate" |
2318 | f361a6ee | Jose A. Lopes | |
2319 | f361a6ee | Jose A. Lopes | autoRepairReinstall :: String |
2320 | f361a6ee | Jose A. Lopes | autoRepairReinstall = "reinstall" |
2321 | f361a6ee | Jose A. Lopes | |
2322 | f361a6ee | Jose A. Lopes | autoRepairAllTypes :: FrozenSet String |
2323 | f361a6ee | Jose A. Lopes | autoRepairAllTypes = |
2324 | 43a9e860 | Jose A. Lopes | ConstantUtils.mkSet [autoRepairFailover, |
2325 | 43a9e860 | Jose A. Lopes | autoRepairFixStorage, |
2326 | 43a9e860 | Jose A. Lopes | autoRepairMigrate, |
2327 | 43a9e860 | Jose A. Lopes | autoRepairReinstall] |
2328 | f361a6ee | Jose A. Lopes | |
2329 | f361a6ee | Jose A. Lopes | -- * Auto-repair results |
2330 | f361a6ee | Jose A. Lopes | |
2331 | f361a6ee | Jose A. Lopes | autoRepairEnoperm :: String |
2332 | f361a6ee | Jose A. Lopes | autoRepairEnoperm = "enoperm" |
2333 | f361a6ee | Jose A. Lopes | |
2334 | f361a6ee | Jose A. Lopes | autoRepairFailure :: String |
2335 | f361a6ee | Jose A. Lopes | autoRepairFailure = "failure" |
2336 | f361a6ee | Jose A. Lopes | |
2337 | f361a6ee | Jose A. Lopes | autoRepairSuccess :: String |
2338 | f361a6ee | Jose A. Lopes | autoRepairSuccess = "success" |
2339 | f361a6ee | Jose A. Lopes | |
2340 | f361a6ee | Jose A. Lopes | autoRepairAllResults :: FrozenSet String |
2341 | f361a6ee | Jose A. Lopes | autoRepairAllResults = |
2342 | 43a9e860 | Jose A. Lopes | ConstantUtils.mkSet [autoRepairEnoperm, autoRepairFailure, autoRepairSuccess] |
2343 | f361a6ee | Jose A. Lopes | |
2344 | f361a6ee | Jose A. Lopes | -- | The version identifier for builtin data collectors |
2345 | f361a6ee | Jose A. Lopes | builtinDataCollectorVersion :: String |
2346 | f361a6ee | Jose A. Lopes | builtinDataCollectorVersion = "B" |
2347 | 2924f169 | Jose A. Lopes | |
2348 | 2924f169 | Jose A. Lopes | -- | The reason trail opcode parameter name |
2349 | 2924f169 | Jose A. Lopes | opcodeReason :: String |
2350 | 2924f169 | Jose A. Lopes | opcodeReason = "reason" |
2351 | 2924f169 | Jose A. Lopes | |
2352 | 2924f169 | Jose A. Lopes | diskstatsFile :: String |
2353 | 2924f169 | Jose A. Lopes | diskstatsFile = "/proc/diskstats" |
2354 | 2924f169 | Jose A. Lopes | |
2355 | 74129b52 | Jose A. Lopes | -- * CPU load collector |
2356 | 74129b52 | Jose A. Lopes | |
2357 | 2924f169 | Jose A. Lopes | statFile :: String |
2358 | 2924f169 | Jose A. Lopes | statFile = "/proc/stat" |
2359 | 2924f169 | Jose A. Lopes | |
2360 | 74129b52 | Jose A. Lopes | cpuavgloadBufferSize :: Int |
2361 | 74129b52 | Jose A. Lopes | cpuavgloadBufferSize = 150 |
2362 | 74129b52 | Jose A. Lopes | |
2363 | 74129b52 | Jose A. Lopes | cpuavgloadWindowSize :: Int |
2364 | 74129b52 | Jose A. Lopes | cpuavgloadWindowSize = 600 |
2365 | 74129b52 | Jose A. Lopes | |
2366 | 2924f169 | Jose A. Lopes | -- | Mond's variable for periodical data collection |
2367 | 2924f169 | Jose A. Lopes | mondTimeInterval :: Int |
2368 | 2924f169 | Jose A. Lopes | mondTimeInterval = 5 |
2369 | 9b9e088c | Raffa Santi | |
2370 | 9b9e088c | Raffa Santi | -- * Disk access modes |
2371 | 9b9e088c | Raffa Santi | |
2372 | 9b9e088c | Raffa Santi | diskUserspace :: String |
2373 | 9b9e088c | Raffa Santi | diskUserspace = Types.diskAccessModeToRaw DiskUserspace |
2374 | 9b9e088c | Raffa Santi | |
2375 | 9b9e088c | Raffa Santi | diskKernelspace :: String |
2376 | 9b9e088c | Raffa Santi | diskKernelspace = Types.diskAccessModeToRaw DiskKernelspace |
2377 | 9b9e088c | Raffa Santi | |
2378 | 9b9e088c | Raffa Santi | diskValidAccessModes :: FrozenSet String |
2379 | 9b9e088c | Raffa Santi | diskValidAccessModes = |
2380 | 9b9e088c | Raffa Santi | ConstantUtils.mkSet $ map Types.diskAccessModeToRaw [minBound..] |
2381 | 55f0626b | Klaus Aehlig | |
2382 | 55f0626b | Klaus Aehlig | -- | Timeout for queue draining in upgrades |
2383 | 55f0626b | Klaus Aehlig | upgradeQueueDrainTimeout :: Int |
2384 | 55f0626b | Klaus Aehlig | upgradeQueueDrainTimeout = 36 * 60 * 60 -- 1.5 days |
2385 | 55f0626b | Klaus Aehlig | |
2386 | 55f0626b | Klaus Aehlig | -- | Intervall at which the queue is polled during upgrades |
2387 | 55f0626b | Klaus Aehlig | upgradeQueuePollInterval :: Int |
2388 | 55f0626b | Klaus Aehlig | upgradeQueuePollInterval = 10 |