Commit Graph

233 Commits

Author SHA1 Message Date
Joshua Boniface 123c7ce857 Update copyright header on all files for 2024
Last release of 2023 is probably the best time to do this.
2023-12-29 11:16:59 -05:00
Joshua Boniface d2bcaec28f Move new CLI client into place 2023-08-16 23:55:27 -04:00
Joshua Boniface 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
Joshua Boniface 1ae34c1960 Fix bad messages in volume remove 2021-06-22 04:31:02 -04:00
Joshua Boniface e6b26745ce Adjust some help messages in pvc.py 2021-06-22 03:40:21 -04:00
Joshua Boniface 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
Joshua Boniface eeb83da97d Add support for SR-IOV NICs to VMs 2021-06-21 23:18:22 -04:00
Joshua Boniface 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
Joshua Boniface e13baf8bd3 Add initial SR-IOV list/info to CLI 2021-06-21 17:12:53 -04:00
Joshua Boniface a2205bec13 Allow VM dump to file directly
Similar to the cluster backup task.
2021-06-13 22:32:54 -04:00
Joshua Boniface 7727221b59 Correctly use the Click file in backups 2021-06-13 22:17:35 -04:00
Joshua Boniface 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
Joshua Boniface a1969eb981 Allow overwrite during init command 2021-05-31 00:12:28 -04:00
Joshua Boniface 3128c8fa70 Correct flawed conditional in some commands 2021-05-25 09:59:20 -04:00
Joshua Boniface f46c2e7f6a Implement VM rename functionality
Closes #125
2021-05-23 17:21:19 -04:00
Joshua Boniface 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
Joshua Boniface 66f1ac35ab Skip an empty local cluster in cluster list 2021-04-13 10:01:49 -04:00
Joshua Boniface 529f99841d Improve formatting of some help messages 2021-04-12 15:55:59 -04:00
Joshua Boniface 6246b8dfb3 Fix help message output on root command 2021-04-08 14:27:55 -04:00
Joshua Boniface 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
Joshua Boniface 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
Joshua Boniface 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
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 78925be090 Correct bad help string 2021-03-17 13:58:23 -04:00
Joshua Boniface 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
Joshua Boniface 938d67f96b Make help strings in network modify more detailed 2020-12-04 04:18:06 -05:00
Joshua Boniface a5d495cfaf Update docs name of init command 2020-11-25 10:36:48 -05:00
Joshua Boniface 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
Joshua Boniface 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
Joshua Boniface 7c520ec00c Add short pretty health output 2020-11-17 12:32:16 -05:00
Joshua Boniface 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
Joshua Boniface 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
Joshua Boniface 18d3fc8431 Remove serial and VNC console editors
References #101
2020-11-08 00:57:13 -05:00
Joshua Boniface 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
Joshua Boniface 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
Joshua Boniface 5f5f4dd421 Add initial VM modification parent commands
References #101
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 d37e5a0c0b Revert "Lint: W605 invalid escape sequence '\+'"
This reverts commit f787c4cb14.
2020-11-07 17:38:03 -05:00
Joshua Boniface 893e7a616c Revert "Lint: W605 invalid escape sequence '\-'"
This reverts commit db9c6eecad.
2020-11-07 17:38:02 -05:00
Joshua Boniface 260b39ebf2 Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
Joshua Boniface 0c221be183 Lint: F821 undefined name 'name' 2020-11-07 13:19:38 -05:00
Joshua Boniface 961ebb4c01 Lint: E305 expected 2 blank lines after class or function definition, found X 2020-11-07 13:17:49 -05:00
Joshua Boniface 7932be3948 Lint: E261 at least two spaces before inline comment 2020-11-07 13:11:03 -05:00
Joshua Boniface 3f242cd437 Lint: E202 whitespace before '}' 2020-11-07 12:57:42 -05:00
Joshua Boniface e333f2b935 Lint: E201 whitespace after '{' 2020-11-07 12:38:31 -05:00
Joshua Boniface 905b81c47d Lint: E231 missing whitespace after ',' 2020-11-07 12:34:12 -05:00
Joshua Boniface 97f262f5d2 Lint: E221 multiple spaces before operator 2020-11-07 12:19:25 -05:00
Joshua Boniface 4a5d50d0e6 Lint: E225 missing whitespace around operator 2020-11-07 12:16:36 -05:00