Joshua Boniface
5954feaa31
Add autobackup functionality to CLI
...
Adds autobackup (integrated, managed VM backups with automatic remote
filesystem mounting, included backup expiry/removal and automatic
full/incremental selection, independent from the manual "pvc vm backup"
commands) to the CLI client.
This is a bit of a large command to handle only inside the CLI client,
but this was chosen as it's the only real place for it aside from an
external script.
There are several major restrictions on this command, mainly that it
must be run from the primary coordinator using the "local" connection,
and that it must be run as "root".
The command is designed to run in a cron/systemd timer installed by
pvc-ansible when the appropriate group_vars are enabled, and otherwise
not touched.
2023-10-26 21:25:23 -04:00
Joshua Boniface
82b0301c0e
Improve audit log output
...
Show the full command path in the actual audit log message, but still
only show the command name in the prefix.
2023-10-25 09:48:48 -04:00
Joshua Boniface
2ee2b2cb33
Avoid loading pkg_resources until needed
...
This import took forever (0.2s) and was used only for the version
command, so don't import it except where it's needed.
2023-10-25 01:51:08 -04:00
Joshua Boniface
221af3f241
Bump version to 0.9.79
2023-10-24 02:10:24 -04:00
Joshua Boniface
c87736eb0a
Use consistent path name and format
2023-10-24 01:20:44 -04:00
Joshua Boniface
63d0a85e29
Add backup deletion command
2023-10-24 01:18:27 -04:00
Joshua Boniface
43e8cd3b07
Clarify restore help text
2023-10-24 00:32:53 -04:00
Joshua Boniface
55ca131c2c
Handle snapshots on restore and provide options
...
Also rename the retain option to remove superfluous plural.
2023-10-24 00:25:06 -04:00
Joshua Boniface
8d256a1737
Complete VM restore functionality
2023-10-23 22:23:17 -04:00
Joshua Boniface
3e259bd926
Add state confirmation to newline
2023-10-17 12:53:20 -04:00
Joshua Boniface
f3bc4dee04
Fix ordering of empty line
2023-10-17 12:27:06 -04:00
Joshua Boniface
fd2331faa6
Add waiting message during backup
2023-10-17 12:16:31 -04:00
Joshua Boniface
75b839692b
Fix missing comma
2023-10-17 10:51:30 -04:00
Joshua Boniface
b997c6f31e
Add support for full VM backups
...
Adds support for exporting full VM backups, including configuration,
metainfo, and RBD disk images, with incremental support.
2023-10-17 10:15:06 -04:00
Joshua Boniface
ee494fb1c0
Adjust the help text of storage pools
...
Makes some places clearer, cleans up cruft, and adds references to the
main documentation as required.
2023-10-02 11:46:12 -04:00
Joshua Boniface
c6c44bf775
Bump version to 0.9.78
2023-09-30 12:57:55 -04:00
Joshua Boniface
35e27f79ef
Fix uploading of non-raw image files
...
Adds a new API query parameter to define the file size, which is then
used for the temporary image. This is required for, at least VMDK, files
to work properly in qemu-img convert.
2023-09-29 16:19:22 -04:00
Joshua Boniface
7c0f12750e
Bump version to 0.9.77
2023-09-19 11:05:55 -04:00
Joshua Boniface
1c68e83d98
Fix bad refs to etree library
2023-09-19 11:05:19 -04:00
Joshua Boniface
51e78480fa
Bump version to 0.9.76
2023-09-18 10:15:52 -04:00
Joshua Boniface
c4397219da
Ensure fencing states are properly reflected
2023-09-18 09:59:18 -04:00
Joshua Boniface
f46bfc962f
Bump version to 0.9.75
2023-09-16 23:06:38 -04:00
Joshua Boniface
1a906b589e
Bump version to 0.9.74
2023-09-16 00:18:13 -04:00
Joshua Boniface
79d871ebc6
Ensure provisioning VMs are properly coloured
2023-09-15 15:42:46 -04:00
Joshua Boniface
a8115cafd1
Bump version to 0.9.73
2023-09-02 02:16:19 -04:00
Joshua Boniface
fdda47e8a2
Bump version to 0.9.72
2023-09-01 16:34:45 -04:00
Joshua Boniface
a5ffe373cd
Add default node values to commands
2023-09-01 16:33:26 -04:00
Joshua Boniface
bb2aac145d
Bump version to 0.9.71
2023-09-01 00:36:38 -04:00
Joshua Boniface
6c407d54c3
Bump version to 0.9.70
2023-08-31 14:15:54 -04:00
Joshua Boniface
83b8ce7b62
Bump version to 0.9.69 (nice)
2023-08-29 22:02:13 -04:00
Joshua Boniface
83d475bd15
Bump version to 0.9.68
2023-08-27 20:59:23 -04:00
Joshua Boniface
3d5cdf2b23
Fix missing function parameter
2023-08-27 20:57:27 -04:00
Joshua Boniface
705ec802a3
Bump version to 0.9.67
2023-08-27 14:47:20 -04:00
Joshua Boniface
47d7b23763
Fix missing re import
2023-08-27 14:45:51 -04:00
Joshua Boniface
0bae729a18
Better handle empty diffs
2023-08-27 14:44:21 -04:00
Joshua Boniface
b968110e9f
Add missing import for difflib unified_diff
2023-08-27 14:40:52 -04:00
Joshua Boniface
4898ae5082
Fix missing import of colorama Fore
2023-08-27 14:34:47 -04:00
Joshua Boniface
249e1568a1
Fix incorrect echo() calls
2023-08-27 14:33:42 -04:00
Joshua Boniface
0b90f37518
Bump version to 0.9.66
2023-08-27 11:41:22 -04:00
Joshua Boniface
33205273dc
Fix missing YAML load
2023-08-27 11:41:10 -04:00
Joshua Boniface
1e083d7652
Bump version to 0.9.65
2023-08-23 01:56:57 -04:00
Joshua Boniface
65d2b7869c
Restore original no-connection behavior
...
Previously not specifying a connection when multiple were available
would error. This restores that behaviour.
2023-08-23 01:38:50 -04:00
Joshua Boniface
66aee73f1d
Fix incorrect short flags in node list
2023-08-22 09:26:35 -04:00
Joshua Boniface
075dbe7cc9
Bump version to 0.9.64
2023-08-18 12:34:27 -04:00
Joshua Boniface
2ff7a6865b
Avoid none entries in VM state list
2023-08-18 12:34:27 -04:00
Joshua Boniface
ae7950e9b7
Fix bad import
2023-08-17 22:45:50 -04:00
Joshua Boniface
d769071799
Revamp behaviour of VM "--restart" options
...
Previously, either "--restart" was specified or a prompt was given, with
the prompt being ignored with "--unsafe" in favour of a reboot. This
failed to provide an explicit way to prevent VM restarts with these
commands, which might be desired in some non-interactive situations, and
the interaction of "--unsafe" with this option was an undesired bug.
This is now a complete binary flag with --restart and --no-restart
versions, while still defaulting to a prompt if neither is specified.
This allows full non-interactive control of this option.
2023-08-17 22:19:36 -04:00
Joshua Boniface
4ccdd6347e
Move provisioner wait to helpers and fix
2023-08-17 10:26:19 -04:00
Joshua Boniface
b32f478633
Work around strange Python anomaly
...
Apparently, `True` is both an instance of `int` and `bool`, which is a
change and is very strange. Instead flip the conditional here.
2023-08-17 09:55:19 -04:00
Joshua Boniface
cf442fcc2d
Correct entrypoint for CLI package
2023-08-17 00:27:45 -04:00
Joshua Boniface
d2bcaec28f
Move new CLI client into place
2023-08-16 23:55:27 -04:00
Joshua Boniface
a70273dbae
Move old CLI client out of the way
2023-08-16 23:54:51 -04:00
Joshua Boniface
4685ba1ec4
Move cli_lib to lib directory
2023-05-01 13:43:54 -04:00
Joshua Boniface
3a90fda109
Bump version to 0.9.63
2023-04-28 14:47:04 -04:00
Joshua Boniface
74c4ce3ec7
Increase timeout for connections to API
2023-03-14 09:19:13 -04:00
Joshua Boniface
7f57c6dbf7
Adjust the main location too
2023-02-23 10:32:31 -05:00
Joshua Boniface
6865979e08
Show possible version minimum
2023-02-23 10:30:45 -05:00
Joshua Boniface
5126bc3272
Handle old clusters in cluster detail list
2023-02-23 10:28:55 -05:00
Joshua Boniface
765f0ef13d
Better handle N/A health from old versions
2023-02-23 10:22:00 -05:00
Joshua Boniface
fe258d9d56
Correct bad health text call for old clusters
2023-02-23 10:19:18 -05:00
Joshua Boniface
93d89a2414
Fix status when connecting to old clusters
2023-02-23 10:16:29 -05:00
Joshua Boniface
a49f3810d3
Set maintenance colour in cluster detail
2023-02-22 18:20:18 -05:00
Joshua Boniface
45ad3b9a17
Bump version to 0.9.62
2023-02-22 18:13:45 -05:00
Joshua Boniface
8331b7ecd8
Add cluster detail list
...
Adds a command to show a list of details including health and item
counts for all configured clusters in the client.
2023-02-22 18:09:11 -05:00
Joshua Boniface
94d4ee5b9b
Lower default connect timeout to 1s
2023-02-22 18:09:01 -05:00
Joshua Boniface
e773211293
Add PVC version to cluster status output
2023-02-22 16:09:24 -05:00
Joshua Boniface
6ddbde763e
Correct lint error E741
2023-02-22 12:21:29 -05:00
Joshua Boniface
1f8561d59a
Format cluster health like node healths
...
Make a cleaner construct here.
2023-02-16 12:33:36 -05:00
Joshua Boniface
f2d2537e1c
Add JSON output format for node info
2023-02-15 21:35:44 -05:00
Joshua Boniface
15ff729f83
Fix comparison in maintenance check
2023-02-15 16:47:31 -05:00
Joshua Boniface
f4e8449356
Fix bugs and formatting of health messages
2023-02-15 16:28:56 -05:00
Joshua Boniface
00586074cf
Modify cluster health to use new values
2023-02-15 15:45:43 -05:00
Joshua Boniface
e6f9e6e0e8
Fix several bugs and optimize output
2023-02-13 16:36:15 -05:00
Joshua Boniface
9c14d84bfc
Add node health value and send out API
2023-02-13 15:53:39 -05:00
Joshua Boniface
aeb238f43c
Bump version to 0.9.61
2023-02-08 10:08:05 -05:00
Joshua Boniface
a49510ecc8
Bump version to 0.9.60
2022-12-06 15:42:55 -05:00
Joshua Boniface
92feeefd26
Bump version to 0.9.59
2022-11-15 15:50:15 -05:00
Joshua Boniface
38d63d9837
Flip behaviour of memory selectors
...
It didn't make any sense to me for mem(prov) to be the default selector,
since this has too many caveats versus mem(free). Switch to using
mem(free) as the default (i.e. "mem") and make memprov the alternative.
2022-11-15 15:45:59 -05:00
Joshua Boniface
095bcb2373
Bump version to 0.9.58
2022-11-07 12:27:48 -05:00
Joshua Boniface
d65f512897
Bump version to 0.9.57
2022-11-06 01:39:50 -04:00
Joshua Boniface
59f97ebbfb
Better handle invalid nets in VMs
...
1. Error out when trying to add a new network to a VM if the network
doesn't exist on the cluster.
2. When showing the VM list, only show invalid networks in red, not the
whole list.
2022-11-01 10:24:24 -04:00
Joshua Boniface
072337f1f0
Remove VXLAN ref where it isn't correct
2022-11-01 09:40:13 -04:00
Joshua Boniface
c3bc55eff8
Bump version to 0.9.56
2022-10-27 14:21:04 -04:00
Joshua Boniface
726d0a562b
Update copyright header year
2022-10-06 11:55:27 -04:00
Joshua Boniface
7a3870fc44
Add OVA script support
...
1. Ensure that system_template and script are not nullable in the DB.
2. Ensure that the CLI and API enforce the above and clean up CLI
arguments for profile add.
3. Ensure that, before uploading OVAs, a 'default_ova' provisioning
script is present.
4. Use the 'default_ova' script for new OVA uploads.
5. Ensure that OVA details are properly added to the vm_data dict in the
provisioner vmbuilder.
2022-10-06 10:48:12 -04:00
Joshua Boniface
f1df1cfe93
Bump version to 0.9.55
2022-10-04 13:21:40 -04:00
Joshua Boniface
096bcdfd75
Try a literal eval first
...
This is a breakage between the older version of Celery (Deb10) and
newer. The hard removal broke Deb10 instances.
So try that first, and on failure, assume newer Celery format.
2022-09-06 10:34:50 -04:00
Joshua Boniface
239c392892
Bump version to 0.9.54
2022-08-23 11:01:05 -04:00
Joshua Boniface
d8e57a26c5
Fix bad variable name
2022-08-18 11:37:57 -04:00
Joshua Boniface
9b499b9f48
Bump version to 0.9.53
2022-08-12 17:47:11 -04:00
Joshua Boniface
2a21d48128
Bump version to 0.9.52
2022-08-12 11:09:25 -04:00
Joshua Boniface
171f6ac9ed
Add missing cluster_req for vm modify
2022-08-02 10:02:26 -04:00
Joshua Boniface
645b525ad7
Bump version to 0.9.51
2022-07-25 23:25:41 -04:00
Joshua Boniface
71ffd5a191
Add confirmation to disable command
2022-07-21 16:43:37 -04:00
Joshua Boniface
2739c27299
Remove faulty literal_eval
2022-07-18 13:35:15 -04:00
Joshua Boniface
932b3c55a3
Bump version to 0.9.50
2022-07-06 16:01:14 -04:00
Joshua Boniface
d8d3feee22
Add selector help and adjust flag name
...
1. Add documentation on the node selector flags. In the API, reference
the daemon configuration manual which now includes details in this
section; in the CLI, provide the help in "pvc vm define" in detail and
then reference that command's help in the other commands that use this
field.
2. Ensure the naming is consistent in the CLI, using the flag name
"--node-selector" everywhere (was "--selector" for "pvc vm" commands and
"--node-selector" for "pvc provisioner" commands).
2022-06-10 02:42:06 -04:00
Joshua Boniface
b1357cafdb
Add memfree to selector and use proper defaults
2022-06-10 02:03:12 -04:00
Joshua Boniface
51ad2058ed
Bump version to 0.9.49
2022-05-06 15:49:39 -04:00
Joshua Boniface
c401a1f655
Use consistent language for primary mode
...
I didn't call it "router" anywhere else, but the state in the list is
called "coordinator" so, call it "coordinator mode".
2022-05-06 15:40:52 -04:00