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
Joshua Boniface
5995353597
Implement VM metadata and use it
...
Implements the storing of three VM metadata attributes:
1. Node limits - allows specifying a list of hosts on which the VM must
run. This limit influences the migration behaviour of VMs.
2. Per-VM node selectors - allows each VM to have its migration
autoselection method specified, to automatically allow different methods
per VM based on the administrator's preferences.
3. VM autorestart - allows a VM to be automatically restarted from a
stopped state, presumably due to a failure to find a target node (either
due to limits or otherwise) during a flush/fence recovery, on the next
node unflush/ready state of its home hypervisor. Useful mostly in
conjunction with limits to ensure that VMs which were shut down due to
there being no valid migration targets are started back up when their
node becomes ready again.
Includes the full client interaction with these metadata options,
including printing, as well as defining a new function to modify this
metadata. For the CLI it is set/modified either on `vm define` or via the
`vm meta` command. For the API it is set/modified either on a POST to
the `/vm` endpoint (during VM definition) or on POST to the `/vm/<vm>`
endpoint. For the API this replaces the previous reserved word for VM
creation from scratch as this will no longer be implemented in-daemon
(see #22 ).
Closes #52
2019-10-12 01:17:39 -04:00
Joshua Boniface
94501f400f
Remove vm add command
...
This is likely not going to be used with the planned implementation of
the automatic provisioning daemon, which will be either an API client or
direct Python binding client.
2019-10-11 23:52:20 -04:00