Commit Graph

1677 Commits

Author SHA1 Message Date
Robert Chacón
d80be2bd4c
Merge pull request #333 from LibreQoE/partialReloadImprovement
Partial reload improvement
2023-04-14 16:17:13 -06:00
Robert Chacón
33e94b5fd7
Merge pull request #337 from LibreQoE/fixUISPmultiWAN
UISP Handle Multiple Internet-Connected Sites
2023-04-14 16:16:38 -06:00
Robert Chacón
9657796270
Update integrationUISP.py 2023-04-14 16:02:21 -06:00
Robert Chacón
5c5f9ee1e5
Update integrationUISP.py 2023-04-14 16:00:22 -06:00
Robert Chacón
2d3ff07f9e
Update integrationUISP.py 2023-04-14 14:45:13 -06:00
Herbert Wolverson
3e57a5098a End-to-end encryption is working for stats submissions. 2023-04-14 20:42:05 +00:00
Robert Chacón
13f0df7e0c
Update integrationUISP.py 2023-04-14 13:26:28 -06:00
Robert Chacón
3bb8a30152
Update integrationUISP.py 2023-04-14 13:24:12 -06:00
Herbert Wolverson
403dddd1b9 PKI for the license server. Replies to public key exchange requests with a server-cluster side public key. 69 bytes, not too heavy. 2023-04-14 17:52:42 +00:00
Herbert Wolverson
86dabaeded Client-side PKI is in place. Unit tests for the round-trip and serialization. Generate a new keypair or load from (lqos_dir)/lts_keys.bin. Lazy-load (or generate) the keys when needed, so no cost if the LTS system never fires. Basic submission of public key on the client-side only. 2023-04-14 17:34:22 +00:00
Robert Chacón
24b4609fd5
Merge pull request #335 from LibreQoE/fix334
UISP Integration Improvements
2023-04-14 05:49:36 -06:00
Robert Chacón
5f30799538
Add files via upload 2023-04-13 20:16:33 -06:00
Robert Chacón
e5d70d4e7a
Update integrationUISP.py 2023-04-13 19:32:00 -06:00
Robert Chacón
25ffa131b3
Update integrationUISP.py 2023-04-13 09:32:50 -06:00
Robert Chacón
942e4db89d
Update integrationUISP.py 2023-04-13 09:28:59 -06:00
Robert Chacón
ec2ed8e4ad
Update integrationUISP.py 2023-04-13 09:03:30 -06:00
Robert Chacón
8f55f4ac4e
Update integrationUISP.py 2023-04-13 08:51:53 -06:00
Robert Chacón
99c716de86
Update integrationUISP.py 2023-04-13 08:48:00 -06:00
Herbert Wolverson
19f34f252e WIP 2023-04-13 14:40:27 +00:00
Robert Chacón
855b838831
Update integrationUISP.py 2023-04-12 20:52:42 -06:00
Herbert Wolverson
b0a14a1a27 Start to integrate a PKI system, and keep messing up the merges 2023-04-12 21:02:55 +00:00
Herbert Wolverson
3ea7738290 Merge branch 'long_term_stats' of https://github.com/LibreQoE/LibreQoS into long_term_stats 2023-04-12 21:00:41 +00:00
Herbert Wolverson
906e51253e Remember the port number (its temporary) 2023-04-12 20:17:00 +00:00
Herbert Wolverson
558651398a Start tracking cargo.lock again 2023-04-12 19:40:31 +00:00
Herbert Wolverson
9357513aa4 Ugh - merge issue 2023-04-12 19:40:11 +00:00
Herbert Wolverson
f2a98021c1 Fix conflicts. 2023-04-12 19:38:37 +00:00
Herbert Wolverson
081671734a Setup specific to my testbed. Don't try this at home yet, kids. 2023-04-12 19:35:47 +00:00
Herbert Wolverson
c0845b1e15 First steps at making a licensing database that uses PostgreSQL for the cluster manager. 2023-04-12 19:29:46 +00:00
Robert Chacón
c555801733
Update requirements.txt 2023-04-12 13:29:28 -06:00
Robert Chacón
3a4d33225a
Update LibreQoS.py 2023-04-12 13:29:05 -06:00
Herbert Wolverson
7e0f2a496b Add error check to lts_node exit 2023-04-12 15:43:37 +00:00
Herbert Wolverson
99b3702142 Minimal - not very safe at all - submission. 2023-04-12 15:37:13 +00:00
Herbert Wolverson
ac97eb450e Support more license valid data, and the test license 2023-04-12 15:37:13 +00:00
Herbert Wolverson
2cb68ce06b Licensing server can deny or accept a key of 'test'. Truly minimal, designed to get things moving. 2023-04-12 15:37:13 +00:00
Herbert Wolverson
a64e4d4f9c Include new directories 2023-04-12 15:37:13 +00:00
Herbert Wolverson
0cd9673944 WOrk in progress 2023-04-12 15:37:13 +00:00
Herbert Wolverson
cd3751f8ab Add a copy of the tree to the long-term stats submission. 2023-04-12 15:37:13 +00:00
Herbert Wolverson
393be65b50 Quick syntax fix 2023-04-12 15:37:13 +00:00
Herbert Wolverson
24588621c6 Initial work on long-term stats collection
Still very much a work-in-progress.

* Adds configuration entries for enabling long-term stats
  collection (`gather_stats`) and collation period.
* Spawns a collection thread (if `gather_stats` is enabled)
  that collects total traffic and per-host traffic/RTT
  (with circuit ID) on the same 1s cadence as throughput
  collection.
* Spawns a collator thread that gathers all of the collection
  summaries generated since the last collation (every
  `collation_period_seconds` seconds). The gathered stats are
  divided into min/max/mean average for each circuit.
* Collated stats are handed to a submissions system, that is
  currently a bare-bones "keep last" - this will be extended!
* Add a `lqstats` tool that lets you use the bus to see the
  current long-term stats. This is very barebones, but will
  provide a tool allowing stat extraction for inclusion in
  external stats collectors (such as Zabbix), if you aren't
  using the long-term stats server we're developing.
2023-04-12 15:37:13 +00:00
Herbert Wolverson
77ecb8afcd Merge branch 'develop' 2023-04-12 14:03:15 +00:00
Herbert Wolverson
a526555a45 Merge in UISP quick fix 2023-04-12 13:55:18 +00:00
Herbert Wolverson
0fcc5d0bac Add a lot of is not None tests to the nodeOffPtmp code, to account for offline devices and 'other' devices that don't have all of the required data. 2023-04-12 13:46:04 +00:00
Robert Chacón
f3414257ad Update integrationUISP.py 2023-04-12 13:29:33 +00:00
Robert Chacón
00839dfe88 Update integrationUISP.py 2023-04-12 13:29:33 +00:00
Robert Chacón
a47c8a065d Update integrationUISP.py 2023-04-12 13:29:33 +00:00
Robert Chacón
8c6a901ab9 Update ispConfig.example.py 2023-04-12 13:29:33 +00:00
Herbert Wolverson
6df648e299 Allow integrationUISProutes.csv to override default costs in UISP route determination.
Requested by D. Denson.

Now that the UISP network tree is built as a spanning tree, with 10
cost per hop we can reliably flip the tree from A->B->C to C->B->A
depending upon root positioning.

This addition allows you to specify additional routes (that MUST
exist!) e.g. A->C and specify a cost to use instead of the default
10. This allows for topologies in which A-B-C is actually faster
than a direct A-C route (for example, becuase of short 60ghz
hops).
2023-04-12 13:29:33 +00:00
Herbert Wolverson
2d3874e812 Build complete spanning tree for data links and use it to orient tree
Rather than obeying the "parent" field, which leads to wrong-way up
graphs when building from a non-root site - instead build a complete
cost-based spanning tree from the specified root node. Then use
the generated tree - falling back on parent if nothing is found -
to populate the tree in order.

Tested on Herbert's network, correctly generates topology from several
different locations.

Still to come: adding a mechanism for providing parenting overloads
to allow for cases where a long path is actually optimal, but we
have no way of knowing that.
2023-04-12 13:29:33 +00:00
Herbert Wolverson
d2aa804ace Use dot renderer for PDF 2023-04-12 13:29:33 +00:00
Herbert Wolverson
6e15181fab Add a couple of 'is none' checks to remove crashes I experienced. 2023-04-12 13:29:33 +00:00