232 Commits

Author SHA1 Message Date
d2bcaec28f Move new CLI client into place 2023-08-16 23:55:27 -04:00
f248d579df Convert pvc-client-cli into a proper Python module
Also fixes up the Debian packaging such that this works how I would
want, with proper module installation while leaving everything else
untouched. Finally implements automatic installation and removal of the
BASH completion for the PVC command.
2021-06-23 05:03:19 -04:00
1ae34c1960 Fix bad messages in volume remove 2021-06-22 04:31:02 -04:00
e6b26745ce Adjust some help messages in pvc.py 2021-06-22 03:40:21 -04:00
7d2a3b5361 Ensure Macvtap NICs can use a model
Defaults to virtio like a bridged NIC. Otherwise performance is abysmal.
2021-06-22 02:38:16 -04:00
eeb83da97d Add support for SR-IOV NICs to VMs 2021-06-21 23:18:22 -04:00
13cc0f986f Implement SR-IOV VF config set
Also fixes some random bugs, adds proper interface sorting, and assorted
tweaks.
2021-06-21 18:40:11 -04:00
e13baf8bd3 Add initial SR-IOV list/info to CLI 2021-06-21 17:12:53 -04:00
a2205bec13 Allow VM dump to file directly
Similar to the cluster backup task.
2021-06-13 22:32:54 -04:00
7727221b59 Correctly use the Click file in backups 2021-06-13 22:17:35 -04:00
a48bf2d71e More gracefully handle none selectors
Allow selection of "none" as the node selector, and handle this by
always using the cluster default instead of writing it in.
2021-06-01 11:13:13 -04:00
a1969eb981 Allow overwrite during init command 2021-05-31 00:12:28 -04:00
3128c8fa70 Correct flawed conditional in some commands 2021-05-25 09:59:20 -04:00
f46c2e7f6a Implement VM rename functionality
Closes #125
2021-05-23 17:21:19 -04:00
62c84664fc Handle restart confirmation for VMs more nicely
For the "vm modify", revamp the way confirmations are presented. Do the
edits/load, show changes, verify XML, then prompt to write and the
restart. The previous order didn't make much sense.

For any of these `--restart` triggered VM modifications, also alter how
the confirmation works. If the user declines the restart, do not abort;
instead, just set restart=False and continue with the modification.
2021-04-13 10:35:26 -04:00
66f1ac35ab Skip an empty local cluster in cluster list 2021-04-13 10:01:49 -04:00
529f99841d Improve formatting of some help messages 2021-04-12 15:55:59 -04:00
6246b8dfb3 Fix help message output on root command 2021-04-08 14:27:55 -04:00
629cf62385 Add confirmation flag to disruptive VM operations
Also add some additional output when --restart is not selected.

Closes #118
2021-04-08 13:33:10 -04:00
dfa3432601 Add unsafe envvar/flag option
Allows another way (beyond --yes) to avoid confirming "unsafe"
operations. While there is probably nearly zero usecase for this (at
least to any sane admin), it is provided to allow maximum flexibility.
2021-04-08 12:48:38 -04:00
62213fab99 Add description field to CLI clusters
Allow specifying a textual description of the cluster in the client for
ease of management.
2021-04-08 12:28:23 -04:00
0bf276fd51 Update copyright year in headers 2021-03-25 17:01:55 -04:00
f4ec161aa2 Update file copyright header.
Remove the option to select a later version of the GPL.
2021-03-25 16:58:02 -04:00
78925be090 Correct bad help string 2021-03-17 13:58:23 -04:00
37c3b4ef80 Validate provisioner userdata with SafeLoader
Given the issues with FullLoader and its eventual deprecation, just use
SafeLoader instead. Any well-formatted Userdata document should conform.
2020-12-15 00:30:20 -05:00
938d67f96b Make help strings in network modify more detailed 2020-12-04 04:18:06 -05:00
a5d495cfaf Update docs name of init command 2020-11-25 10:36:48 -05:00
8f705c9cc2 Add cluster backup + restore functionality
Adds cluster backup (JSON dump) and restore functions for use in
disaster recovery.

Further, adds additional confirmation to the initialization (as well as
restore) endpoints to avoid accidental triggering, and also groups the
init, backup, and restore commands in the CLI into a new "task"
subsection.
2020-11-24 02:39:06 -05:00
e8914eabb7 Better handle modifying consoles in templates
Before, the default False was problematic and would reset consoles if
the template was otherwise modified. Instead switch the flags to be full
true/false flags, and on modify, adjust the default to be None so they
will not be changed.
2020-11-19 10:28:00 -05:00
7c520ec00c Add short pretty health output 2020-11-17 12:32:16 -05:00
569dcd84a4 Implement disk modification on the CLI
Adds functions for listing, adding, and removing disks from the CLI,
without editing the XML directly.

References #101
2020-11-08 00:57:13 -05:00
1ff5d8bf46 Implement network modification on the CLI
Adds functions for listing, adding, and removing networks from the CLI,
without editing the XML directly.

References #101
2020-11-08 00:57:13 -05:00
18d3fc8431 Remove serial and VNC console editors
References #101
2020-11-08 00:57:13 -05:00
b72c415bf1 Implement memory modification on the CLI
Adds functions for listing and setting the memory values from the CLI,
without editing the XML directly.

References #101
2020-11-08 00:57:13 -05:00
03d4be79b7 Implement vCPU modification on the CLI
Adds functions for listing and setting the vCPU and topology values from
the CLI, without editing the XML directly.

References #101
2020-11-08 00:57:13 -05:00
5f5f4dd421 Add initial VM modification parent commands
References #101
2020-11-08 00:57:13 -05:00
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
3ed97d209f Revert "Lint: W605 invalid escape sequence '\^'"
This reverts commit 639937f9c2be4de57d74380072be4262fde93220.
2020-11-07 17:39:34 -05:00
d37e5a0c0b Revert "Lint: W605 invalid escape sequence '\+'"
This reverts commit f787c4cb143113e84940f8c39d7ff5fe87582690.
2020-11-07 17:38:03 -05:00
893e7a616c Revert "Lint: W605 invalid escape sequence '\-'"
This reverts commit db9c6eecad28068b6694c374c4f0511b17fc2323.
2020-11-07 17:38:02 -05:00
260b39ebf2 Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
0c221be183 Lint: F821 undefined name 'name' 2020-11-07 13:19:38 -05:00
961ebb4c01 Lint: E305 expected 2 blank lines after class or function definition, found X 2020-11-07 13:17:49 -05:00
7932be3948 Lint: E261 at least two spaces before inline comment 2020-11-07 13:11:03 -05:00
3f242cd437 Lint: E202 whitespace before '}' 2020-11-07 12:57:42 -05:00
e333f2b935 Lint: E201 whitespace after '{' 2020-11-07 12:38:31 -05:00
905b81c47d Lint: E231 missing whitespace after ',' 2020-11-07 12:34:12 -05:00
97f262f5d2 Lint: E221 multiple spaces before operator 2020-11-07 12:19:25 -05:00
4a5d50d0e6 Lint: E225 missing whitespace around operator 2020-11-07 12:16:36 -05:00
cb2defbde9 Lint: W391 blank line at end of file 2020-11-06 21:14:19 -05:00