Joshua Boniface
fb4aafcea9
Lint: E111 indentation is not a multiple of four
2020-11-06 19:26:22 -05:00
Joshua Boniface
d9e7b7ec15
Lint: F401 <library> imported but unused
2020-11-06 19:22:49 -05:00
Joshua Boniface
ebf254f62d
Lint: W293 blank line contains whitespace
2020-11-06 19:11:07 -05:00
Joshua Boniface
2deee9a329
Lint: E262 inline comment should start with '# '
2020-11-06 19:03:30 -05:00
Joshua Boniface
639937f9c2
Lint: W605 invalid escape sequence '\^'
2020-11-06 18:59:30 -05:00
Joshua Boniface
63f4f9aed7
Lint: E722 do not use bare 'except'
2020-11-06 18:55:10 -05:00
Joshua Boniface
601ab1a181
Add second default too
2020-11-04 23:53:56 -05:00
Joshua Boniface
2266438303
Show fewer lines on a log follow
2020-11-03 11:16:29 -05:00
Joshua Boniface
ec0b8acf90
Support per-VM migration type selectors
...
Allow a VM to specify its migration type as a default choice. The valid
options are "default" (i.e. behave as now), "live" which forces a live
migration only, and "shutdown" which forces a shutdown migration only.
The new option is treated as a VM meta option and is set to default if
not found.
2020-10-29 12:01:29 -04:00
Joshua Boniface
7a27503f1b
Allow network-less managed networks
...
Allows the specification of network-less managed networks, acting like
bridged networks but over the VXLAN system instead.
Closes #107
2020-10-18 23:13:12 -04:00
Joshua Boniface
7ce1bfd930
Fix bad integer/string in base convert
2020-08-28 01:08:48 -04:00
Joshua Boniface
45542bfd67
Avoid verifying SSL on local connections
...
Since these will almost always connect to an IP rather than a "real"
hostname, don't verify the SSL cert (if applicable). Also allow the
overriding of SSL verification via an environment variable.
As a consequence, to reduce spam, SSL warnings are disabled for urllib3.
Instead, we warn in the "Using cluster" output whenever verification is
disabled.
2020-08-27 23:54:18 -04:00
Joshua Boniface
7bf91b1003
Improve store file handling for CLI
...
Don't try to chmod every time, instead only chmod when first creating
the file. Also allow loading the default permission from an envvar
rather than hardcoding it.
2020-08-27 13:14:55 -04:00
Joshua Boniface
2731aa060c
Finalize tests and output formatting
2020-08-25 12:16:23 -04:00
Joshua Boniface
887e14a4e2
Add storage benchmarking to API
2020-08-25 01:57:21 -04:00
Joshua Boniface
42f2dedf6d
Add syntax checking of userdata YAML
2020-08-12 14:09:56 -04:00
Joshua Boniface
4438dd401f
Add description to example in network add
...
A required field so ensure this is in the example.
2020-08-05 10:35:41 -04:00
Joshua Boniface
ad45f6097f
Don't output anything if no results and --raw
2020-07-16 02:35:02 -04:00
Joshua Boniface
a1ba9d2eeb
Allow specifying arbitrary script_args on CLI
...
Allow the specifying of arbitrary provisioner script install() args on
the provisioner create CLI, either overriding or adding additional
per-VM arguments to those found in the profile. Reference example is
setting a "vm_fqdn" on a per-run basis.
Closes #100
2020-07-08 13:18:12 -04:00
Joshua Boniface
37a58d35e8
Implement limiting of node output
...
Closes #98
2020-06-25 11:51:53 -04:00
Joshua Boniface
d74f68c904
Add quiet option to CLI
...
Closes #99
2020-06-25 11:09:55 -04:00
Joshua Boniface
15e986c158
Support storing client config in override dir
2020-06-25 11:07:01 -04:00
Joshua Boniface
ce60836c34
Allow enforcement of live migration
...
Provides a CLI and API argument to force live migration, which triggers
a new VM state "migrate-live". The node daemon VMInstance during migrate
will read this flag from the state and, if enforced, will not trigger a
shutdown migration.
Closes #95
2020-06-06 12:00:44 -04:00
Joshua Boniface
da20b4493a
Properly return the function
2020-06-05 15:50:43 -04:00
Joshua Boniface
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
Joshua Boniface
c3bd6b6ecc
Add missing call into cluster initialize function
2020-04-06 14:48:26 -04:00
Joshua Boniface
3aea5ae34b
Correct invalid function call
2020-03-21 16:46:34 -04:00
Joshua Boniface
11f045f100
Support showing individual userdata and script doc
...
Closes #89
2020-02-27 14:31:08 -05:00
Joshua Boniface
0caea03428
Clean up redundant message output
2020-02-19 16:27:14 -05:00
Joshua Boniface
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
Joshua Boniface
8678dedfea
Revert "Implement wait for node coordinator transition"
...
This reverts commit 0aefafa7f7
.
This does not work since the API goes away during the transition.
References #72
2020-02-19 10:50:21 -05:00
Joshua Boniface
0aefafa7f7
Implement wait for node coordinator transition
...
References #72
2020-02-19 10:50:04 -05:00
Joshua Boniface
78780039de
Add wait support to VM CLI commands
...
References #72
2020-02-19 10:02:32 -05:00
Joshua Boniface
ca68321be3
Allow modification of system templates
...
Closes #82
2020-02-18 16:18:27 -05:00
Joshua Boniface
dd44f2f42b
Correct formatting error in confirmation
2020-02-17 23:31:03 -05:00
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
1de57ab6f3
Add CLI client interface to image upload
...
Closes #68
2020-02-09 20:42:56 -05:00
Joshua Boniface
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
Joshua Boniface
e7728b8375
Allow modification of a VM profile
...
And fix some bugs around this.
Fixes #76
2020-01-30 11:45:46 -05:00
Joshua Boniface
ebfd9c1882
Gracefully handle API connect timeouts
...
Prevents dumping a massive stacktrace if connection fails.
2020-01-30 09:24:10 -05:00
Joshua Boniface
8c59707cba
Prevent writing invalid XML to config
2020-01-28 10:51:32 -05:00
Joshua Boniface
0892e4c842
Fix overlapping name config in VM define
2020-01-23 11:33:09 -05:00
Joshua Boniface
53819b198c
Add info about disk/net ordering in templates
...
Ensures that the behaviour of 650ed972a1
is reflected in the help messages of these commands.
2020-01-20 21:20:41 -05:00
Joshua Boniface
3fbd5fcead
Reformat output warning message
2020-01-12 16:07:26 -05:00
Joshua Boniface
003171ea18
Correct syntax error
2020-01-12 16:04:42 -05:00
Joshua Boniface
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
Joshua Boniface
c4ef73c953
Refactor provisioner data+list format to match
2020-01-12 14:23:11 -05:00
Joshua Boniface
2057859b9f
Add Celery task list output
2020-01-12 14:12:01 -05:00
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
4cda5ebb52
Correct syntax error
2020-01-09 09:46:58 -05:00
Joshua Boniface
6cd3d5c888
Support no-start/no-define in CLI client
2020-01-08 20:13:26 -05:00
Joshua Boniface
4e5bce4975
Update copyright header year to 2020
2020-01-08 19:38:02 -05:00
Joshua Boniface
10d892c698
Support adding API keys to client configs
...
Sets the groundwork for the remainder of #65
2020-01-08 18:43:02 -05:00
Joshua Boniface
23b1f6cb00
Improve handling of progressbar on success
2020-01-08 17:07:57 -05:00
Joshua Boniface
a197d9da80
Support wait watching provisioning task
...
Addresses #67
2020-01-08 14:41:46 -05:00
Joshua Boniface
c183bc7fef
Use click.confirm for all confirmations
...
Addresses #67
2020-01-08 10:34:27 -05:00
Joshua Boniface
9e7d86d5cf
Use click.echo_via_pager for VM log output
...
Addresses #67
2020-01-08 10:06:34 -05:00
Joshua Boniface
edbe29d06a
Use click.edit for modification tasks
...
Closes #63
2020-01-08 09:33:01 -05:00
Joshua Boniface
d6182d92fc
Strip incoming userdata and script documents
2020-01-06 23:52:29 -05:00
Joshua Boniface
a0542d61d0
Fix bad variable name
2020-01-06 16:30:59 -05:00
Joshua Boniface
66863a0183
Improve output of cluster
2020-01-06 09:23:35 -05:00
Joshua Boniface
007ee56a46
Fix some bugs and where no-cluster message happens
2020-01-06 09:18:22 -05:00
Joshua Boniface
be5c67f696
Add messages when adding/removing clusters to CLI
2020-01-06 09:11:00 -05:00
Joshua Boniface
a9b8403812
Support viewing source volumes
2020-01-05 19:11:52 -05:00
Joshua Boniface
c39c6e8d86
Mention what to do if no cluster found
2020-01-05 15:00:08 -05:00
Joshua Boniface
baae9b4982
Print initial cluster message to stderr
...
Allows it to be easily filtered out
2020-01-05 12:38:29 -05:00
Joshua Boniface
08570bd7b9
Don't click.echo except in main program
...
Return all the strings we printed directly, so that the caller can print
them normally.
2020-01-05 12:35:00 -05:00
Joshua Boniface
4fb0d66f6a
Use proper variable name
2020-01-05 00:49:50 -05:00
Joshua Boniface
94c60f9daa
Mention aborting on no cluster
2020-01-04 15:00:24 -05:00
Joshua Boniface
aa2bb7c94c
Add create and status functions
2020-01-04 14:31:22 -05:00
Joshua Boniface
b88bdc29af
Add profile handling
2020-01-04 14:06:36 -05:00
Joshua Boniface
a4ad58e64c
Add userdata and script options
2020-01-04 13:04:01 -05:00
Joshua Boniface
e5d38ec6bd
Implement template CLI functions
2020-01-04 11:58:30 -05:00
Joshua Boniface
f80b432d3b
Handle the empty list better
2020-01-02 12:18:41 -05:00
Joshua Boniface
f624cf9e24
Handle no-good-cluster scenarios
2020-01-02 11:19:11 -05:00
Joshua Boniface
cb3cc2782a
Add initial bits of provisioner CLI
2020-01-02 11:19:08 -05:00
Joshua Boniface
0ced9b2777
Fix incorrect bolding on output
2019-12-30 14:19:17 -05:00
Joshua Boniface
217b163d4b
Remove indented empty lines
2019-12-30 13:29:07 -05:00
Joshua Boniface
18e6192178
Add support for multiple clusters in CLI
2019-12-30 13:27:40 -05:00
Joshua Boniface
d2af6f4508
Complete conversion to API client
2019-12-29 20:33:51 -05:00
Joshua Boniface
d2f27cc8fe
Add network functions to API client
2019-12-29 16:34:32 -05:00
Joshua Boniface
d0b6bb4cc3
Convert VM functions to API client
2019-12-29 16:33:50 -05:00
Joshua Boniface
e0c7397703
Complete node API client functions
2019-12-29 16:33:50 -05:00
Joshua Boniface
28a0ce772b
Node info moved to API
2019-12-29 16:33:50 -05:00
Joshua Boniface
3d178304f1
Convert some node functions to API
2019-12-29 16:33:50 -05:00
Joshua Boniface
a9aeb2e836
Implement log viewing/following with API
2019-12-29 16:33:50 -05:00
Joshua Boniface
b7eddc6ae9
Add CLI lib
2019-12-29 16:33:50 -05:00
Joshua Boniface
1f6f486b3b
Fix broken unwanted change to pvc.py
2019-12-25 13:35:31 -05:00
Joshua Boniface
ebcf0cee43
Add doc endpoint
2019-12-23 23:11:55 -05:00
Joshua Boniface
7901ffb5e3
Handle the list of node_limits even better
2019-12-19 13:22:38 -05:00
Joshua Boniface
1924154dce
Improve help text
2019-12-08 23:59:17 -05:00
Joshua Boniface
1fb560e996
Add DNS nameservers to networks
2019-12-08 23:55:45 -05:00
Joshua Boniface
32b4ed66e8
Add VM disable command
...
Closes #53
2019-10-23 23:44:47 -04:00
Joshua Boniface
4bff533571
Add cluster status command
2019-10-22 11:23:12 -04:00
Joshua Boniface
03447d3374
Update copyright string year to include 2019
2019-10-13 12:09:51 -04:00
Joshua Boniface
01c8986381
Update help messages in meta command
2019-10-12 02:08:52 -04:00
Joshua Boniface
e5393082b6
Use build-in selector and respect limits in client
...
Use the new built-in selector option, as well as respecting node limits,
when performing migrate or move actions on a VM via the clients.
2019-10-12 01:45:44 -04:00
Joshua Boniface
8dc0c8f0ac
Fix minor bugs
2019-10-12 01:36:50 -04:00