41 Commits

Author SHA1 Message Date
9fdb6d8708 Fix bug with network stats 2024-03-07 15:44:35 -05:00
2fb7c40497 Work around bad plugin data 2024-03-07 14:37:05 -05:00
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
84d22751d8 Fix bad JSON data handler 2023-12-27 09:43:37 -05:00
3e4cc53fdd Add node network statistics and utilization values
Adds a new physical network interface stats parser to the node
keepalives, and leverages this information to provide a network
utilization overview in the Prometheus metrics.
2023-12-21 15:45:01 -05:00
c64e888d30 Fix incorrect cast of None 2023-12-14 16:00:53 -05:00
f1249452e5 Fix bug if no nodes are present 2023-12-14 15:32:18 -05:00
a3171b666b Split node health into separate function 2023-12-10 16:52:10 -05:00
d6aecf195e Port Node getNodeInformation to read_many 2023-12-10 15:53:28 -05:00
2bea78d25e Make all remaining limits optional 2023-12-09 13:43:58 -05:00
653b95ee25 Normalize return messages for node commands 2023-05-04 17:02:46 -04:00
b07396c39a Fix bugs if plugins fail to load 2023-02-13 21:51:48 -05:00
e6f9e6e0e8 Fix several bugs and optimize output 2023-02-13 16:36:15 -05:00
9c14d84bfc Add node health value and send out API 2023-02-13 15:53:39 -05:00
726d0a562b Update copyright header year 2022-10-06 11:55:27 -04:00
05a316cdd6 Ensure the node list is sorted
Otherwise the node entries could come back in an arbitrary order; since
this is an ordered list of dictionaries that might not be expected by
the API consumers, so ensure it's always sorted.
2022-08-09 12:03:49 -04:00
c401a1f655 Use consistent language for primary mode
I didn't call it "router" anywhere else, but the state in the list is
called "coordinator" so, call it "coordinator mode".
2022-05-06 15:40:52 -04:00
6ccd19e636 Standardize fuzzy matching and use fullmatch
Solves two problems:

1. How match fuzziness was used was very inconsistent; make them all the
same, i.e. "if is_fuzzy and limit, apply .* to both sides".

2. Use re.fullmatch instead of re.match to ensure exact matching of the
regex to the value. Without fuzziness, this would sometimes cause
inconsistent behavior, for instance if a limit was non-fuzzy "vm",
expecting to match the actual "vm", but also matching "vm1" too.
2021-12-06 16:35:29 -05:00
c41664d2da Reformat code with Black code formatter
Unify the code style along PEP and Black principles using the tool.
2021-11-06 03:02:43 -04:00
a088aa4484 Add node log functions to API and CLI 2021-07-18 18:54:28 -04:00
a69105569f Add node PVC version data to Node information
Allows API client to see the currently-active version of the node
daemon.
2021-07-05 09:57:38 -04:00
f6e37906a9 Convert node.py to new ZK schema handler 2021-06-13 13:18:34 -04:00
247ae4fe2d Fix pre-refactor path bug 2021-06-10 01:18:33 -04:00
5d88e92acc Avoid returning errors with duplicate router mode
Like the previous (new) flush change, these shouldn't be errors, but
simply information "what you want is already done" messages.
2021-06-05 01:14:31 -04:00
505c109875 Avoid re-flush or re-ready nodes if unnecessary 2021-06-05 01:08:32 -04:00
33a54cf7f2 Move configuration keys to /config tree 2021-06-01 10:48:55 -04:00
3603b782c0 Rework node library for new zkhandler 2021-05-29 20:56:21 -04:00
0bf276fd51 Update copyright year in headers 2021-03-25 17:01:55 -04:00
f4ec161aa2 Update file copyright header.
Remove the option to select a later version of the GPL.
2021-03-25 16:58:02 -04:00
260b39ebf2 Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
e9643651f7 Lint: F401 'daemon_lib.ansiprint' imported but unused
Removing further obsolete code from daemon-lib
2020-11-07 13:50:27 -05:00
449f766a2c Lint: F821 undefined name 'zk_conn'
Actually removes these entire sections of dead code; the daemon-common
library does no formatting at all since it is no longer used by the CLI.
2020-11-07 13:45:26 -05:00
4b47a2424c Lint: E303 too many blank lines (2) 2020-11-06 21:16:52 -05:00
d9e7b7ec15 Lint: F401 <library> imported but unused 2020-11-06 19:22:49 -05:00
ebf254f62d Lint: W293 blank line contains whitespace 2020-11-06 19:11:07 -05:00
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
37a58d35e8 Implement limiting of node output
Closes #98
2020-06-25 11:51:53 -04: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
45040a5635 Make wait flag optional on flush functions
References #72
2020-02-19 09:44:38 -05:00
4505b239eb Rename API and common Debian packages
Closes #79
2020-02-08 18:50:38 -05:00