Joshua Boniface
cd860bae6b
Optimize VM list in API
...
With many VMs this slows down linearly. Rework it a bit so there are
fewer calls to getInformationFromXML and so the processing could happen
in parallel at some point.
2021-06-23 19:14:26 -04:00
Joshua Boniface
07dbd55f03
Use list comprehension to compare against source
2021-06-22 02:31:14 -04:00
Joshua Boniface
6cd0ccf0ad
Fix network check on VM config modification
2021-06-22 02:21:55 -04:00
Joshua Boniface
60e1da09dd
Don't try any shenannegans when updating NICs
...
Trying to do this on the VMInstance side had problems because we can't
differentiate the 3 types of migration there. So, just update this in
the API side and hope everything goes well.
This introduces an edge bug: if a VM is using a macvtap SR-IOV device,
and then tries to migrate, and the migrate is aborted, the NIC lists
will be inconsistent.
When I revamp the VMInstance in the future, I should be able to correct
this, but for now we'll have to live with that edgecase.
2021-06-22 00:00:50 -04:00
Joshua Boniface
dc560c1dcb
Better handle retcodes in migrate update
2021-06-21 23:46:47 -04:00
Joshua Boniface
68c7481aa2
Ensure offline migrations update SR-IOV NIC states
2021-06-21 23:35:52 -04:00
Joshua Boniface
24ce361a04
Ensure SR-IOV NIC states are updated on migration
2021-06-21 23:18:34 -04:00
Joshua Boniface
eeb83da97d
Add support for SR-IOV NICs to VMs
2021-06-21 23:18:22 -04:00
Joshua Boniface
ae79113f7c
Correct key typo and add error handler
2021-06-13 15:49:30 -04:00
Joshua Boniface
059230d369
Convert vm.py to new ZK schema handler
2021-06-13 13:41:21 -04:00
Joshua Boniface
9be426507a
Fix erroneous lock calls
2021-05-30 15:31:17 -04:00
Joshua Boniface
b4f2cf879e
Rework vm library for new zkhandler
2021-05-29 21:17:19 -04:00
Joshua Boniface
f46c2e7f6a
Implement VM rename functionality
...
Closes #125
2021-05-23 17:21:19 -04:00
Joshua Boniface
0bf276fd51
Update copyright year in headers
2021-03-25 17:01:55 -04:00
Joshua Boniface
f4ec161aa2
Update file copyright header.
...
Remove the option to select a later version of the GPL.
2021-03-25 16:58:02 -04:00
Joshua Boniface
1b6613c280
Add live VNC information to domain output
...
Sets in the node daemon, returns via the API, and shows in the CLI,
information about the live VNC listen address and port for VNC-enabled
VMs.
Closes #115
2020-12-20 16:00:55 -05:00
Joshua Boniface
6912bd7a2a
Add missing return statement for vm_modify
2020-11-08 00:57:13 -05:00
Joshua Boniface
0bf130077c
Lint: W605 invalid escape sequence '<char>'
...
The previous attempt to correct these with character classes failed.
Instead, use the proper `r'blah'` regex formatting.
2020-11-07 17:41:09 -05:00
Joshua Boniface
3ed97d209f
Revert "Lint: W605 invalid escape sequence '\^'"
...
This reverts commit 639937f9c2
.
2020-11-07 17:39:34 -05:00
Joshua Boniface
f33398458e
Revert "Lint: W605 invalid escape sequence '\$'"
...
This reverts commit 76b1cafdcc
.
2020-11-07 17:38:03 -05:00
Joshua Boniface
6f66b77a00
Lint: E121/E126 continuation line under/over-indented for hanging indent
2020-11-07 15:06:21 -05:00
Joshua Boniface
260b39ebf2
Lint: E302 expected 2 blank lines, found X
2020-11-07 14:45:24 -05:00
Joshua Boniface
e9643651f7
Lint: F401 'daemon_lib.ansiprint' imported but unused
...
Removing further obsolete code from daemon-lib
2020-11-07 13:50:27 -05:00
Joshua Boniface
449f766a2c
Lint: F821 undefined name 'zk_conn'
...
Actually removes these entire sections of dead code; the daemon-common
library does no formatting at all since it is no longer used by the CLI.
2020-11-07 13:45:26 -05:00
Joshua Boniface
d2490419c5
Lint: E202 whitespace before ']'
2020-11-07 13:02:54 -05:00
Joshua Boniface
3f242cd437
Lint: E202 whitespace before '}'
2020-11-07 12:57:42 -05:00
Joshua Boniface
b7daa8e1f6
E201 whitespace after '['
2020-11-07 12:39:59 -05:00
Joshua Boniface
e333f2b935
Lint: E201 whitespace after '{'
2020-11-07 12:38:31 -05:00
Joshua Boniface
cb2defbde9
Lint: W391 blank line at end of file
2020-11-06 21:14:19 -05:00
Joshua Boniface
5da314902f
Lint: F841 local variable '<variable>' is assigned to but never used
2020-11-06 21:13:13 -05:00
Joshua Boniface
aecb845d6a
Lint: E713 test for membership should be 'not in'
2020-11-06 20:37:52 -05:00
Joshua Boniface
72ae149cf1
Lint: E712 comparison to True should be 'if cond is True:' or 'if cond:'
2020-11-06 19:35:19 -05:00
Joshua Boniface
2d8f684fc8
Lint: E722 do not use bare 'except' (2)
2020-11-06 19:24:10 -05:00
Joshua Boniface
d9e7b7ec15
Lint: F401 <library> imported but unused
2020-11-06 19:22:49 -05:00
Joshua Boniface
ebf254f62d
Lint: W293 blank line contains whitespace
2020-11-06 19:11:07 -05:00
Joshua Boniface
76b1cafdcc
Lint: W605 invalid escape sequence '\$'
2020-11-06 19:01:22 -05:00
Joshua Boniface
639937f9c2
Lint: W605 invalid escape sequence '\^'
2020-11-06 18:59:30 -05:00
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
88556f4a33
Convert from exclusive to write lock
2020-10-21 11:12:36 -04:00
Joshua Boniface
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
Joshua Boniface
142743b2c0
Fix erroneous comma
2020-08-05 10:34:30 -04:00
Joshua Boniface
deaf138e45
Add stats to VM information
2020-06-07 00:42:11 -04:00
Joshua Boniface
ce60836c34
Allow enforcement of live migration
...
Provides a CLI and API argument to force live migration, which triggers
a new VM state "migrate-live". The node daemon VMInstance during migrate
will read this flag from the state and, if enforced, will not trigger a
shutdown migration.
Closes #95
2020-06-06 12:00:44 -04:00
Joshua Boniface
f61d443773
Allow move of migrated VM to current node
...
Will make the migrate permanent instead of throwing an error.
Fixes #96
2020-06-06 11:25:10 -04:00
Joshua Boniface
2d507f8b42
Ensure rbdlist is updated when modifying VM config
2020-05-12 11:08:47 -04:00
Joshua Boniface
6db4df51c0
Remove obsolete follow_console_log function
2020-02-19 10:19:49 -05:00
Joshua Boniface
5ddf72855b
Clean up obsolete is_cli flags
2020-02-19 10:18:41 -05:00
Joshua Boniface
0e05ce8b07
Use correct wording of "shut down"
2020-02-19 10:04:58 -05:00
Joshua Boniface
07577a52a9
Implement wait support for various VM commands
...
Implements wait support for VM restart, shutdown, move, migrate, and
unmigrate commands, similar to node flush/node unflush.
Includes some additional refactoring of the move command to make its
operation identical to migrate, only without recording the previous
node.
References #72
2020-02-19 09:45:31 -05:00
Joshua Boniface
4505b239eb
Rename API and common Debian packages
...
Closes #79
2020-02-08 18:50:38 -05:00