197 Commits

Author SHA1 Message Date
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
9ee5ae4826 Volume and Snapshot are not sorted by ID 2020-05-29 13:43:44 -04:00
48711000b0 Ensure stats sorting is by right key 2020-05-29 13:41:52 -04:00
82c067b591 Sort list output in CLI client properly 2020-05-29 13:39:20 -04:00
e724e73140 Don't show built-in bridges as invalid 2020-05-12 10:46:10 -04:00
e451426c7c Fix minor bugs from change in VM info handling 2020-04-13 22:56:19 -04:00
8faa3bb53d Handle info fuzzy matches better
If we are calling info, we want one VM. Don't silently discard other
options or try (and fail later) to parse multiple, just say no VM found.
2020-04-09 10:26:49 -04:00
b3a75d8069 Use post instead of get on initialize 2020-04-06 15:05:33 -04:00
c3bd6b6ecc Add missing call into cluster initialize function 2020-04-06 14:48:26 -04:00
09aeb33d13 Don't convert non-integer bytes/ops 2020-03-30 19:09:16 -04:00
d84e94eff4 Add force_single_node script 2020-03-25 10:48:49 -04:00
ce9d0e9603 Add helper scripts to CLI client 2020-03-22 01:19:55 -04:00
3aea5ae34b Correct invalid function call 2020-03-21 16:46:34 -04:00
36588a3a81 Work around bad RequestArgs handling 2020-03-03 16:48:20 -05:00
11f045f100 Support showing individual userdata and script doc
Closes #89
2020-02-27 14:31:08 -05:00
9d5f50f82a Implement progress bars for file uploads
Provide pretty status bars to indicate upload progress for tasks that
perform large file uploads to the API ('provisioner ova upload' and
'storage volume upload') so the administrator can gauge progress and
estimated time to completion.
2020-02-20 22:42:19 -05:00
0caea03428 Clean up redundant message output 2020-02-19 16:27:14 -05:00
65932b20d2 Handle request failures more gracefully 2020-02-19 16:19:34 -05:00
1b8b32b07c Don't return tuple value on error 2020-02-19 15:47:08 -05:00
39ce704969 Implement wait for node primary/secondary in CLI
Use a different wait method of querying the node status every
half-second during the transition, in order to wait on the transition to
complete if desired.

Closes #72
2020-02-19 14:33:31 -05:00
8678dedfea Revert "Implement wait for node coordinator transition"
This reverts commit 0aefafa7f777157776084db846240dd027b81fe3.

This does not work since the API goes away during the transition.

References #72
2020-02-19 10:50:21 -05:00
0aefafa7f7 Implement wait for node coordinator transition
References #72
2020-02-19 10:50:04 -05:00
78780039de Add wait support to VM CLI commands
References #72
2020-02-19 10:02:32 -05:00
ca68321be3 Allow modification of system templates
Closes #82
2020-02-18 16:18:27 -05:00
dd44f2f42b Correct formatting error in confirmation 2020-02-17 23:31:03 -05:00
db558ec91f Complete implementation of OVA handling
Add functions for uploading, listing, and removing OVA images to the API
and CLI interfaces. Includes improved parsing of the OVF and creation of
a system_template and profile for each OVA.

Also modifies some behaviour around profiles, making most components
option at creation to support both profile types (and incomplete
profiles generally).

Implementation part 2/3 - remaining: OVA VM creation

References #71
2020-02-17 23:22:50 -05:00
59ca296c58 Add basic OVA profile support 2020-02-17 12:00:51 -05:00
b16e2b4925 Handle CLI wildcard addresses properly
If the local API instance is listening on a wildcard, connect to
127.0.0.1 instead.
2020-02-16 20:02:08 -05:00
1de57ab6f3 Add CLI client interface to image upload
Closes #68
2020-02-09 20:42:56 -05:00
ce985234c3 Use consistent naming of components
Rename "pvcd" to "pvcnoded", and "pvc-api" to "pvcapid" so names for the
daemons are fully consistent. Update the names of the configuration
files as well to match this new formatting.

References #79
2020-02-08 19:34:07 -05:00
4505b239eb Rename API and common Debian packages
Closes #79
2020-02-08 18:50:38 -05:00
e7728b8375 Allow modification of a VM profile
And fix some bugs around this.

Fixes #76
2020-01-30 11:45:46 -05:00
4868625809 Add try/except around new log lines
Fixes #73
2020-01-30 09:28:47 -05:00
ebfd9c1882 Gracefully handle API connect timeouts
Prevents dumping a massive stacktrace if connection fails.
2020-01-30 09:24:10 -05:00
8c59707cba Prevent writing invalid XML to config 2020-01-28 10:51:32 -05:00
27e73fc6a9 Fix issues with wait on node flush/ready
Ensure that the strings are converted to booleans on the API side, and
that we're sending a lowercase true/false (for consistency).
2020-01-26 23:05:30 -05:00
0892e4c842 Fix overlapping name config in VM define 2020-01-23 11:33:09 -05:00
53819b198c Add info about disk/net ordering in templates
Ensures that the behaviour of 650ed972a1443b3a7e127fe1e48f2f3e2680ee98
is reflected in the help messages of these commands.
2020-01-20 21:20:41 -05:00
194a642c15 Report errors in log -f 2020-01-15 00:47:14 -05:00
3fbd5fcead Reformat output warning message 2020-01-12 16:07:26 -05:00
003171ea18 Correct syntax error 2020-01-12 16:04:42 -05:00
74ff8b41ea Add prov warning to primary/secondary commands
Warn the administrator if there are active provisioning jobs while
adjusting the current primary node. This is the simplest, cleanest
solution to #69 without trying to implement any hacks or blocking
operations. The administrator can then decide to revert the action
if needed, or will at least know how many jobs are running/queued and
may need to be cancelled.
2020-01-12 16:03:51 -05:00
c4ef73c953 Refactor provisioner data+list format to match 2020-01-12 14:23:11 -05:00
b9177c2f26 Add word Job to task ID output 2020-01-12 14:16:11 -05:00
2057859b9f Add Celery task list output 2020-01-12 14:12:01 -05:00
1683a638cf Remove ceph subcommand from storage
Move everything from under "storage ceph" to "storage" to simplify the
CLI; additional subclasses can be re-added at a future time if and when
additional storage classes are supported.
2020-01-11 16:03:40 -05:00
83de40307c Fix missing console_log in CLI VM 2020-01-09 13:53:11 -05:00
b6474198a4 Implement cluster maintenance mode
Implements a "maintenance mode" for PVC clusters. For now, the only
thing this mode does is disable node fencing while the state is true.
This allows the administrator to tell PVC that network connectivity,
etc. might be interrupted and to avoid fencing nodes.

Closes #70
2020-01-09 10:53:27 -05:00
4cda5ebb52 Correct syntax error 2020-01-09 09:46:58 -05:00
6cd3d5c888 Support no-start/no-define in CLI client 2020-01-08 20:13:26 -05:00