Joshua Boniface
a1ba9d2eeb
Allow specifying arbitrary script_args on CLI
...
Allow the specifying of arbitrary provisioner script install() args on
the provisioner create CLI, either overriding or adding additional
per-VM arguments to those found in the profile. Reference example is
setting a "vm_fqdn" on a per-run basis.
Closes #100
2020-07-08 13:18:12 -04:00
Joshua Boniface
8fc5299d38
Avoid failing if CPU features are missing
2020-07-08 12:32:42 -04:00
Joshua Boniface
37a58d35e8
Implement limiting of node output
...
Closes #98
2020-06-25 11:51:53 -04:00
Joshua Boniface
d74f68c904
Add quiet option to CLI
...
Closes #99
2020-06-25 11:09:55 -04:00
Joshua Boniface
15e986c158
Support storing client config in override dir
2020-06-25 11:07:01 -04:00
Joshua Boniface
5871380e1b
Avoid crashing VM stats thread if domain migrated
2020-06-10 17:10:46 -04:00
Joshua Boniface
2967c97f1a
Format and display extra VM statistics
2020-06-07 03:04:36 -04:00
Joshua Boniface
4cdf1f7247
Add statistics values to the API
2020-06-07 02:15:33 -04:00
Joshua Boniface
deaf138e45
Add stats to VM information
2020-06-07 00:42:11 -04:00
Joshua Boniface
654a3cb7fa
Improve debug output and use ceph df util data
2020-06-06 22:52:49 -04:00
Joshua Boniface
9b65d3271a
Improve handling of Ceph status gathering
...
Use the Rados library instead of random OS commands, which massively
improves the performance of these tasks.
Closes #97
2020-06-06 22:30:25 -04:00
Joshua Boniface
fba39cb739
Fix broken sorting for pools and volumes
2020-06-06 21:28:54 -04:00
Joshua Boniface
598b2025e8
Use Rados and add Ceph entries to pvcnoded.yaml
2020-06-06 21:12:51 -04:00
Joshua Boniface
70b787d1fd
Move all VM functions into thread
2020-06-06 15:44:05 -04:00
Joshua Boniface
e1310a05f2
Implement recording of VM stats during keepalive
2020-06-06 15:34:03 -04:00
Joshua Boniface
2ad6860dfe
Move Ceph statistics gathering into thread
2020-06-06 13:25:02 -04:00
Joshua Boniface
cebb4bbc1a
Comment cleanup
2020-06-06 13:20:40 -04:00
Joshua Boniface
a672e06dd2
Move fencing to end of keepalive function
2020-06-06 13:19:11 -04:00
Joshua Boniface
1db73bb892
Move libvirt closure into previous section
2020-06-06 13:18:37 -04:00
Joshua Boniface
c1956072f0
Rename update_zookeeper function to node_keepalive
2020-06-06 12:49:50 -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
b5434ba744
Fix typo in variable name
2020-06-06 11:29:48 -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
da20b4493a
Properly return the function
2020-06-05 15:50:43 -04:00
Joshua Boniface
440821b136
Refactor cluster validation into a command wrapper
...
Instead of using group-based validation, which breaks the help context
for subcommands, use a decorator to validate the cluster status for each
command. The eager help option will then override this decorator for
help commands, while enforcing it for others.
2020-06-05 14:49:53 -04:00
Joshua Boniface
b9e5b14f94
Update lastnode too if a self-migrate is aborted
...
References #92
2020-06-04 10:28:04 -04:00
Joshua Boniface
5d2031d99e
Prevent a VM migrating to the same node
...
Prevents a rare edge case where a node can end up "migrating" to itself.
Quick hack to fix this, though like most of the VM management should
probably be rethought/rewritten later.
Fixes #92
2020-06-04 10:26:47 -04:00
Joshua Boniface
9ee5ae4826
Volume and Snapshot are not sorted by ID
2020-05-29 13:43:44 -04:00
Joshua Boniface
48711000b0
Ensure stats sorting is by right key
2020-05-29 13:41:52 -04:00
Joshua Boniface
82c067b591
Sort list output in CLI client properly
2020-05-29 13:39:20 -04:00
Joshua Boniface
0fab7072ac
Sort all Ceph lists by numeric ID
2020-05-29 13:31:18 -04:00
Joshua Boniface
2d507f8b42
Ensure rbdlist is updated when modifying VM config
2020-05-12 11:08:47 -04:00
Joshua Boniface
5f9836f96d
Add error message to OSD parse fail
2020-05-12 11:04:38 -04:00
Joshua Boniface
95c59ba629
Improve flush handling slightly
2020-05-12 11:04:38 -04:00
Joshua Boniface
e724e73140
Don't show built-in bridges as invalid
2020-05-12 10:46:10 -04:00
Joshua Boniface
3cf90c46ad
Correct bad handling of static reservations
2020-05-09 10:20:06 -04:00
Joshua Boniface
7b2180b626
Get both reservations in leases by default
2020-05-09 10:05:55 -04:00
Joshua Boniface
72a38fd437
Correct changed dhcp_reservations key name
2020-05-09 10:00:53 -04:00
Joshua Boniface
73eb4fb457
Fix typo of macaddress in dhcp add
2020-05-09 00:15:25 -04:00
Joshua Boniface
b580760537
Add missing fmt_cyan variable
2020-05-08 18:15:02 -04:00
Joshua Boniface
683c3afea6
Correct spelling mistake
2020-05-06 11:29:42 -04:00
Joshua Boniface
4c7cb1a20c
Add further wording tweaks and details
2020-05-06 11:20:12 -04:00
Joshua Boniface
90feb83eab
Revamp some wording in the documentation
2020-05-06 10:41:13 -04:00
Joshua Boniface
b91923735c
Move some messages around
2020-05-05 16:19:18 -04:00
Joshua Boniface
34c4690d49
Don't convert bytes into KB in OVA import
...
Doing so can create an image that is 1 sector (512 bytes) too large,
which will then break qemu-img because it's stupid (or, VMDK is stupid,
I haven't decided which is).. Current Ceph rbd commands seem to accept
--size in bytes so this is fine.
2020-05-05 16:14:18 -04:00
Joshua Boniface
3e351bb84a
Add additional error checking for profile creation
2020-05-05 15:28:39 -04:00
Joshua Boniface
331027d124
Add further tweaks to takeover state checks
...
Just ensure that everything is proper state before proceeding
2020-04-22 11:16:19 -04:00
Joshua Boniface
ae4f36b881
Hook flush into more services
...
Trying to ensure that pvc-flush completes before anything tries to shut
down.
2020-04-14 19:58:53 -04:00
Joshua Boniface
e451426c7c
Fix minor bugs from change in VM info handling
2020-04-13 22:56:19 -04:00
Joshua Boniface
611e0edd80
Reorder last keepalive during cleanup
...
Make sure the stopping of the keepalive timer and final keepalive update
are done as the last step before complete shutdown. The previous setup
could conceivably result in a node being fenced should the cleanup
operations take longer than ~45 seconds, for instance if primary node
switchover took too long or blocked, or log watchers failed to stop
quickly enough. Ensures that keepalives will continue to be run during
the shutdown process until the last possible moment.
2020-04-12 03:49:29 -04:00