Joshua Boniface
ce17c60a20
Port OSD on-node tasks to Celery worker system
...
Adds Celery versions of the osd_add, osd_replace, osd_refresh,
osd_remove, and osd_db_vg_add functions.
2023-11-09 23:28:08 -05:00
Joshua Boniface
89681d54b9
Port VM on-node tasks to Celery worker system
...
Adds Celery versions of the flush_locks, device_attach, and
device_detach functions.
2023-11-06 20:40:46 -05:00
Joshua Boniface
b99b4e64b2
Ensure store path is passed properly
2023-11-05 16:48:47 -05:00
Joshua Boniface
91af1175ef
Fix missing CLI_CONFIG in echo()
2023-11-04 15:17:50 -04:00
Joshua Boniface
d1602f35de
Adjust split indicator
2023-11-04 02:56:21 -04:00
Joshua Boniface
7cdedde2fb
Adjust wording about extdb
2023-11-04 02:54:25 -04:00
Joshua Boniface
ab156b14b7
Update help messages for OSD refresh
2023-11-04 02:47:04 -04:00
Joshua Boniface
18d32fede3
Fix wording of detect strings
2023-11-04 01:37:07 -04:00
Joshua Boniface
75135f6d5f
Avoid broken output format for new OSDs
2023-11-03 23:54:10 -04:00
Joshua Boniface
64e37ae963
Update OSD replacement functionality
...
1. Simplify this by leveraging the existing remove_osd/add_osd
functions, since its task was functionally identical to those two in
sequential order.
2. Add support for split OSDs within the command (replacing all OSDs on
the block device(s) as required).
3. Add additional configurability and flexibility around the old device,
weight, and external DB LVs.
2023-11-03 01:45:49 -04:00
Joshua Boniface
44d2f98e75
Remove Var field from OSDs
...
Not super duper useful and increases length
2023-11-02 22:55:39 -04:00
Joshua Boniface
cb91bf18a7
Fix incorrect variables
2023-11-02 22:39:32 -04:00
Joshua Boniface
a3e3fe829a
Adjust helptext for osd add
2023-11-02 22:34:58 -04:00
Joshua Boniface
8b8957547a
Adjust helptext for create-db-vg command
2023-11-02 22:14:25 -04:00
Joshua Boniface
980ea6a9e9
Adjust handling of ext_db and _count options
...
Avoid the use of superfluous flag options, default them to none, and add
support for fixed-size DB LVs.
2023-11-02 13:29:47 -04:00
Joshua Boniface
0f433bd5eb
Add wait messages for OSD commands
2023-11-02 09:31:41 -04:00
Joshua Boniface
80a7fd6195
Improve help text messages
2023-11-01 21:38:55 -04:00
Joshua Boniface
526a5f4a74
Add support for split OSD adds
...
Allows creating multiple OSDs on a single (NVMe) block device,
leveraging the "ceph-volume lvm batch" command. Replaces the previous
method of creating OSDs.
Also adds a new ZK item for each OSD indicating if it is split or not.
2023-11-01 21:31:35 -04:00
Joshua Boniface
bc425b9224
Avoid duplicate confirmations in a safer way
...
This version instead still requires --yes with --restart to avoid the
confirmation option, but avoids duplicate prompts.
This might be slightly more cumbersome, but ensures consistency: every
situation that could cause a restart is confirmed even if --restart is
given.
2023-11-01 12:05:52 -04:00
Joshua Boniface
79e5c098cd
Revert "Remove duplicate confirmation for VM restart"
...
This reverts commit 3c61a3ac03
.
2023-11-01 12:04:34 -04:00
Joshua Boniface
3c61a3ac03
Remove duplicate confirmation for VM restart
...
Having both restart_opt and confirm_opt resulted in a duplicate
confirmation message, at least if neither --restart/--no-restart is
specified. This is not necessary as the confirmation is already given by
the restart_opt or the relevant --restart/--no-restart flag.
2023-11-01 12:02:34 -04:00
Joshua Boniface
988c777912
Properly handle live state with restart confirm
...
If "--live" is passed (the default), we shouldn't confirm to restart the
VM as this is not required. Instead only confirm if "--no-live" was
passed or if the flag doesn't exist.
2023-11-01 11:46:59 -04:00
Joshua Boniface
5b4dd61754
Bump version to 0.9.80
2023-10-27 09:56:31 -04:00
Joshua Boniface
2fccbcda89
Add enhancements to autobackup
...
1. Add a cron mode to avoid exit(1) during cronjobs/timers
2. Revamp the remote_mount settings into auto_mount
This removes a lot of unnecessary complexity while giving the
administrator more flexibility in what they want to execute to mount
a filesystem and how. The naming reflects the goal but the possible
commands are arbitrary.
2023-10-27 02:07:24 -04:00
Joshua Boniface
6ad51ea4bb
Handle store exceptions in cli() function
...
Avoids having an unsuppressable error message in some contexts, and
provides a cleaner module.
2023-10-26 23:30:22 -04:00
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