1849 Commits

Author SHA1 Message Date
cb2defbde9 Lint: W391 blank line at end of file 2020-11-06 21:14:19 -05:00
5da314902f Lint: F841 local variable '<variable>' is assigned to but never used 2020-11-06 21:13:13 -05:00
98a573bbc7 Lint: E402 module level import not at top of file 2020-11-06 20:40:32 -05:00
aecb845d6a Lint: E713 test for membership should be 'not in' 2020-11-06 20:37:52 -05:00
fde8ea2fea Lint: W291 trailing whitespace 2020-11-06 19:44:14 -05:00
db9c6eecad Lint: W605 invalid escape sequence '\-' 2020-11-06 19:40:44 -05:00
f787c4cb14 Lint: W605 invalid escape sequence '\+' 2020-11-06 19:40:29 -05:00
57c51d3234 Lint: E711 comparison to None should be 'if cond is not None:' 2020-11-06 19:37:13 -05:00
ce01b41d81 Lint: E711 comparison to None should be 'if cond is None:' 2020-11-06 19:36:36 -05:00
4d6f36aca0 Lint: E712 comparison to False should be 'if cond is False:' or 'if not cond:' 2020-11-06 19:35:51 -05:00
72ae149cf1 Lint: E712 comparison to True should be 'if cond is True:' or 'if cond:' 2020-11-06 19:35:19 -05:00
fb4aafcea9 Lint: E111 indentation is not a multiple of four 2020-11-06 19:26:22 -05:00
2d8f684fc8 Lint: E722 do not use bare 'except' (2) 2020-11-06 19:24:10 -05:00
d9e7b7ec15 Lint: F401 <library> imported but unused 2020-11-06 19:22:49 -05:00
ebf254f62d Lint: W293 blank line contains whitespace 2020-11-06 19:11:07 -05:00
2deee9a329 Lint: E262 inline comment should start with '# ' 2020-11-06 19:03:30 -05:00
76b1cafdcc Lint: W605 invalid escape sequence '\$' 2020-11-06 19:01:22 -05:00
639937f9c2 Lint: W605 invalid escape sequence '\^' 2020-11-06 18:59:30 -05:00
63f4f9aed7 Lint: E722 do not use bare 'except' 2020-11-06 18:55:10 -05:00
601ab1a181 Add second default too 2020-11-04 23:53:56 -05:00
2266438303 Show fewer lines on a log follow 2020-11-03 11:16:29 -05:00
b783588ee6 Use "none" default instead of "default" v0.9.1 2020-10-29 12:19:07 -04:00
56ba7b1457 Bump version to 0.9.1 2020-10-29 12:16:38 -04:00
e984f315f1 Correct bug in finding system template list 2020-10-29 12:14:10 -04:00
ec0b8acf90 Support per-VM migration type selectors
Allow a VM to specify its migration type as a default choice. The valid
options are "default" (i.e. behave as now), "live" which forces a live
migration only, and "shutdown" which forces a shutdown migration only.
The new option is treated as a VM meta option and is set to default if
not found.
2020-10-29 12:01:29 -04:00
d2c0d868c4 Add gevent to node daemon
Required for the Metadata API instance.
v0.9.0
2020-10-27 02:42:49 -04:00
d63e757c32 Ensure args are checked against form body
Required for XML definitions but erroneously removed during file parsing
reworking.
2020-10-27 02:30:59 -04:00
5d08ad9573 Fix incorrect keepalive interval setting 2020-10-26 11:44:45 -04:00
81141c9b93 Include 0.9.0 changelog entries 2020-10-26 02:20:18 -04:00
0f299777f1 Modify version to 3-digit numbering
I expect 0.9 will be fairly long-lived, so add another decimal place so
I may continue adding tweaks to it.

THIS IS NOT SEMVER.
2020-10-26 02:13:11 -04:00
fbbdb209c3 Remove Python OpenSSL dependency
Not actually required for the SSL configuration.
2020-10-26 02:02:15 -04:00
f85c2c2a75 Remove PyWSGI and move to Flask server
Gevent was completely failure. The API would block during large file
uploads with no obvious solutions beyond "use gunicorn", which is not
suited to this. I originally had this working with the Flask "debug"
server, so just move to using that all the time. SSL is added using a
custom context with the OpenSSL library, so include that as a
dependency.
2020-10-26 01:58:43 -04:00
adfe302f71 Move monkeypatch before all imports 2020-10-24 20:53:44 -04:00
890023cbfc Make sender wait dynamic based on receiver 2020-10-21 14:43:54 -04:00
28abb018e3 Improve some timeouts and conditionals 2020-10-21 12:00:10 -04:00
d42bb74dc9 Use explicit acquire/release instead of with
The with blocks did not seem to work as expected. Go back to exclusive
locks as well since these are more consistent.
2020-10-21 11:38:23 -04:00
42c5f84ba7 Do multiple lock attempts 2020-10-21 11:21:37 -04:00
88556f4a33 Convert from exclusive to write lock 2020-10-21 11:12:36 -04:00
017953c2e6 Move lock release to phase D 2020-10-21 11:07:01 -04:00
82b4d3ed1b Add missing prefix statements to loggers 2020-10-21 10:52:53 -04:00
3839040092 Add exclusive lock function 2020-10-21 10:46:41 -04:00
bae366a316 Add waits and only receive check on send 2020-10-21 10:43:42 -04:00
84ade53fae Add locks for VM state changes
Use exclusive locks during API events which change VM state. This is
fairly critical to avoid potential duplicate updates. Only implemented
for these specifically required functions to avoid major performance
hits elsewhere.
2020-10-21 10:40:00 -04:00
72f47f216a Revert "Add locking in common zkhander"
This reverts commit 53c0d2b4f620e10f3e0e6b0f19495d8473792563.

This resulted in a massive performance hit and some inconsistent
behaviour. Revert for now an re-investigate later.
2020-10-21 03:49:13 -04:00
9bfcab5e2b Improve documentation around n-1 situations
Closes #104
2020-10-21 03:30:33 -04:00
53c0d2b4f6 Add locking in common zkhander
Ensures that every changed made here is locked, thus preventing
duplicate updates, etc.
2020-10-21 03:17:18 -04:00
351076c15e Check if node changed during final check
Avoids situations where two migrates, to different nodes, happen in
rapid succession. Aborts the migration if the current target node no
longer matches what was set at the start of the execution.
2020-10-21 02:52:36 -04:00
42514b9a50 Improve messages further 2020-10-21 02:41:42 -04:00
611e47f338 Add messages to migration aborts
Results in some information duplication, but ensures logging of the
reason a migration was aborted separate from the error(s) this may
generate.
2020-10-21 02:38:42 -04:00
d96a23276b Mention recommendations about system disks
Advise SSDs always, mention the situations where slower media can be
acceptable and the risks therein.
2020-10-21 02:31:09 -04:00