Joshua Boniface
9c339f4191
Add proper support for cluster networks
...
Supports adding the cluster networks (upstream, cluster, storage) as
valid networks for a VM.
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
6f66b77a00
Lint: E121/E126 continuation line under/over-indented for hanging indent
2020-11-07 15:06:21 -05:00
Joshua Boniface
9dd2a24ce9
Lint: E226 missing whitespace around arithmetic operator
2020-11-07 14:50:57 -05:00
Joshua Boniface
260b39ebf2
Lint: E302 expected 2 blank lines, found X
2020-11-07 14:45:24 -05:00
Joshua Boniface
22355bbec4
Lint: F821 undefined name 're'
2020-11-07 13:19:48 -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
d2490419c5
Lint: E202 whitespace before ']'
2020-11-07 13:02:54 -05:00
Joshua Boniface
3f242cd437
Lint: E202 whitespace before '}'
2020-11-07 12:57:42 -05:00
Joshua Boniface
b7daa8e1f6
E201 whitespace after '['
2020-11-07 12:39:59 -05:00
Joshua Boniface
e333f2b935
Lint: E201 whitespace after '{'
2020-11-07 12:38:31 -05:00
Joshua Boniface
292ccdd94e
Lint: E231 missing whitespace after ':'
2020-11-07 12:34:47 -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
Joshua Boniface
6ab261f4cb
Lint: E251 unexpected spaces around keyword / parameter equals
2020-11-07 12:11:53 -05:00
Joshua Boniface
69858788c1
Lint: E227 missing whitespace around bitwise or shift operator
2020-11-06 21:41:10 -05:00
Joshua Boniface
4b47a2424c
Lint: E303 too many blank lines (2)
2020-11-06 21:16:52 -05:00
Joshua Boniface
cb2defbde9
Lint: W391 blank line at end of file
2020-11-06 21:14:19 -05:00
Joshua Boniface
5da314902f
Lint: F841 local variable '<variable>' is assigned to but never used
2020-11-06 21:13:13 -05:00
Joshua Boniface
aecb845d6a
Lint: E713 test for membership should be 'not in'
2020-11-06 20:37:52 -05:00
Joshua Boniface
fde8ea2fea
Lint: W291 trailing whitespace
2020-11-06 19:44:14 -05:00
Joshua Boniface
db9c6eecad
Lint: W605 invalid escape sequence '\-'
2020-11-06 19:40:44 -05:00
Joshua Boniface
f787c4cb14
Lint: W605 invalid escape sequence '\+'
2020-11-06 19:40:29 -05:00
Joshua Boniface
57c51d3234
Lint: E711 comparison to None should be 'if cond is not None:'
2020-11-06 19:37:13 -05:00
Joshua Boniface
ce01b41d81
Lint: E711 comparison to None should be 'if cond is None:'
2020-11-06 19:36:36 -05:00
Joshua Boniface
4d6f36aca0
Lint: E712 comparison to False should be 'if cond is False:' or 'if not cond:'
2020-11-06 19:35:51 -05:00
Joshua Boniface
72ae149cf1
Lint: E712 comparison to True should be 'if cond is True:' or 'if cond:'
2020-11-06 19:35:19 -05:00
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
b783588ee6
Use "none" default instead of "default"
2020-10-29 12:19:07 -04: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
a4b80be5ed
Add provisioned memory to node info
...
Adds a separate field to the node memory, "provisioned", which totals
the amount of memory provisioned to all VMs on the node, regardless of
state, and in contrast to "allocated" which only counts running VMs.
Allows for the detection of potential overprovisioned states when
factoring in non-running VMs.
Includes the supporting code to get this data, since the original
implementation of VM memory selection was dependent on the VM being
running and getting this from libvirt. Now, if the VM is not active, it
gets this from the domain XML instead.
2020-10-18 14:17:15 -04:00
Joshua Boniface
9d7067469a
Correct proper type of uploads
2020-10-16 11:47:09 -04:00
Joshua Boniface
7ce1bfd930
Fix bad integer/string in base convert
2020-08-28 01:08:48 -04:00
Joshua Boniface
423da08f5f
Add colour indication if alloc mem is above total
...
Shows an "overprovisioned" state clearly without adding a hacky
additional domain state to the system.
2020-08-28 00:33:50 -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
6dc6dae26c
Disable gtod_reduce for benchmarks
...
This ended up disabling latency measurements entirely, so don't use this
option for benchmarks.
2020-08-25 17:02:06 -04:00
Joshua Boniface
0089ec4e17
Multiple KiB values by 1024 in detail output
...
Since these are KiB and not B. Also fix some other anomalies.
2020-08-25 15:01:24 -04:00
Joshua Boniface
2731aa060c
Finalize tests and output formatting
2020-08-25 12:16:23 -04:00
Joshua Boniface
18bcd39b46
Use nicer header format
2020-08-25 02:11:34 -04:00
Joshua Boniface
d210eef200
Parse response message properly
2020-08-25 02:08:35 -04:00
Joshua Boniface
887e14a4e2
Add storage benchmarking to API
2020-08-25 01:57:21 -04:00
Joshua Boniface
15e78aa9f0
Add status information in cluster status
...
Provide textual explanations for the degraded status, including
specific node/VM/OSD issues as well as detailed Ceph health. "Single
pane of glass" mentality.
2020-08-17 12:25:23 -04:00
Joshua Boniface
2b4d980685
Display Ceph health in PVC status as well
...
Makes this output a little more realistic and allows proper monitoring
of the Ceph cluster status (separate from the PVC status which is
tracking only OSD up/in state).
2020-08-13 15:10:57 -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
6fe74b34b2
Use .get for JSON message responses
2020-07-20 12:31:12 -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
2967c97f1a
Format and display extra VM statistics
2020-06-07 03:04:36 -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
9ee5ae4826
Volume and Snapshot are not sorted by ID
2020-05-29 13:43:44 -04:00
Joshua Boniface
48711000b0
Ensure stats sorting is by right key
2020-05-29 13:41:52 -04:00
Joshua Boniface
82c067b591
Sort list output in CLI client properly
2020-05-29 13:39:20 -04:00
Joshua Boniface
e724e73140
Don't show built-in bridges as invalid
2020-05-12 10:46:10 -04:00
Joshua Boniface
e451426c7c
Fix minor bugs from change in VM info handling
2020-04-13 22:56:19 -04:00
Joshua Boniface
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
Joshua Boniface
b3a75d8069
Use post instead of get on initialize
2020-04-06 15:05:33 -04:00
Joshua Boniface
c3bd6b6ecc
Add missing call into cluster initialize function
2020-04-06 14:48:26 -04:00
Joshua Boniface
09aeb33d13
Don't convert non-integer bytes/ops
2020-03-30 19:09:16 -04:00
Joshua Boniface
d84e94eff4
Add force_single_node script
2020-03-25 10:48:49 -04:00
Joshua Boniface
ce9d0e9603
Add helper scripts to CLI client
2020-03-22 01:19:55 -04:00
Joshua Boniface
3aea5ae34b
Correct invalid function call
2020-03-21 16:46:34 -04:00
Joshua Boniface
36588a3a81
Work around bad RequestArgs handling
2020-03-03 16:48:20 -05:00
Joshua Boniface
11f045f100
Support showing individual userdata and script doc
...
Closes #89
2020-02-27 14:31:08 -05:00
Joshua Boniface
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
Joshua Boniface
0caea03428
Clean up redundant message output
2020-02-19 16:27:14 -05:00
Joshua Boniface
65932b20d2
Handle request failures more gracefully
2020-02-19 16:19:34 -05:00
Joshua Boniface
1b8b32b07c
Don't return tuple value on error
2020-02-19 15:47:08 -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