Commit graph

36 commits

Author SHA1 Message Date
Abhishek K
31c2311bef
NET-1782: Fetch Node Connection Status from metrics (#3237)
* add live status of node

* handle static node status

* add public IP field to server configuration

* get public Ip from config

* improve node status logic

* improvise status check

* use only checkin status on old nodes

---------

Co-authored-by: the_aceix <aceixsmartx@gmail.com>
2024-12-10 10:46:05 +04:00
Yabin Ma
5f21c8bb1d
NET-1778: scale test code changes (#3203)
* comment ACL call and add debug message

* add cache for network nodes

* fix load node to network cache issue

* add peerUpdate call 1 min limit

* add debug log for scale test

* release maps

* avoid default policy for node

* 1 min limit for peerUpdate trigger

* mq options

* Revert "mq options"

This reverts commit 10b93d0118.

* set peerUpdate run in sequence

* update for emqx 5.8.2

* remove batch peer update

* change the sleep to 10 millisec to avoid timeout

* add compress and change encrypt for peerUpdate message

* add mem profiling and automaxprocs

* add failover ctx mutex

* ignore request to failover peer

* remove code without called

* remove debug logs

* update emqx to v5.8.2

* change broker keepalive

* add OLD_ACL_SUPPORT setting

* add host version check for message encrypt

* remove debug message

* remove peerUpdate call control

---------

Co-authored-by: abhishek9686 <abhi281342@gmail.com>
2024-12-10 10:15:31 +04:00
Abhishek K
5a561b3835
Net 1440 batchpeerupdate (#3042)
* NET-1440 scale test changes

* fix UT error and add error info

* load metric data into cacha in startup

* remove debug info for metric

* add server telemetry and hasSuperAdmin to cache

* fix user UT case

* update sqlite connection string for performance

* update check-in TS in cache only if cache enabled

* update metric data in cache only if cache enabled and write to DB once in stop

* update server status in mq topic

* add failover existed to server status update

* only send mq messsage when there is server status change

* batch peerUpdate

* code changes for scale for review

* update UT case

* update mq client check

* mq connection code change

* revert server status update changes

* revert batch peerUpdate

* remove server status update info

* batch peerUpdate

* code changes based on review and setupmqtt in keepalive

* set the mq message order to false for PIN

* remove setupmqtt in keepalive

* add peerUpdate batch size to config

* update batch peerUpdate

* recycle ip in node deletion

* update ip allocation logic

* remove ip addr cap

* remove ippool file

* update get extClient func

* remove ip from cache map when extClient is removed

* add batch peerUpdate switch

* set batch peerUpdate to true by default

---------

Co-authored-by: Max Ma <mayabin@gmail.com>
2024-08-16 15:35:43 +05:30
Max Ma
46b8fd21c8
NET-1440: scale test changes (#3014)
* NET-1440 scale test changes

* fix UT error and add error info

* load metric data into cacha in startup

* remove debug info for metric

* add server telemetry and hasSuperAdmin to cache

* fix user UT case

* update sqlite connection string for performance

* update check-in TS in cache only if cache enabled

* update metric data in cache only if cache enabled and write to DB once in stop

* update server status in mq topic

* add failover existed to server status update

* only send mq messsage when there is server status change

* batch peerUpdate

* code changes for scale for review

* update UT case

* update mq client check

* mq connection code change

* revert server status update changes

* revert batch peerUpdate

* remove server status update info

* code changes based on review and setupmqtt in keepalive

* set the mq message order to false for PIN

* remove setupmqtt in keepalive

* recycle ip in node deletion

* update ip allocation logic

* remove ip addr cap

* remove ippool file

* update get extClient func

* remove ip from cache map when extClient is removed
2024-08-15 11:59:00 +05:30
Farukh Khan
1f9ef50df7
NET-655 (#2670)
* NET-655

* Updated HostPull structure to include EgressRoutes and FirewallUpdate models.

* added ServerVersion structure to hostpull model

* added ServerVersion structure to hostpull model

* removed ServerVersion structure

* removed ServerVersion structure

* added egressroute and fwupdate to hostpull handler

* add host update fallback handler

* set broker type on server cfg

* use actual host password to create emqx user

---------

Co-authored-by: Christopher Blaha <crispspiceguitar@gmail.com>
Co-authored-by: Abhishek Kondur <abhi281342@gmail.com>
2023-12-21 10:43:06 +04:00
Abhishek K
b78cc0a8a1
NET-725: Failovers (#2685)
* api to  to get host relayed from client

* add auto relay to api host

* add peer nat type

* set pro field on signal

* rm net check on relay me handler

* return success response

* re-establish failover logic

* set failOver ctx

* failOver with peer pub key

* failovered peer updates

* failover handlers, reset failovered peer on deletion

* rm unused funcs

* initialize failover handler on EE

* ignore failover node on signal

* failover changes

* set host id on signal

* extend signal model to include node ids

* add backwards compatibility

* add failover as node api

* set json response on failover handers

* add failover field to api node

* fix signal data check

* initialize failover peer map

* reset failovered status when relayed or deleted

* add failover info to api node

* reset network failover

* only proceed furtuer if failover exists in the network

* set failOver node defaults

* cannot set failover node as relayed

* debug log

* debug log

* debug changes

* debug changes

* debug changes

* revert debug changes

* don't add peers to idmap when removed

* reset failed Over

* fix static checks

* rm debug log

* add check for linux host
2023-11-29 20:10:07 +04:00
guangwu
92260170f5
fix: typo (#2624) 2023-10-24 20:52:40 +04:00
Gabriel de Souza Seibel
1a1ba1ccf4
[NET-546] Move ee code to ee package, unify ee status and terminology (#2538)
* Move ee code to ee package and unify ee status to IsPro

* Consolidate naming for paid/professional/enterprise version as "pro". Notes:

- Changes image tags
- Changes build tags
- Changes package names
- Doesn't change links to docs that mention "ee"
- Doesn't change parameters sent to PostHog that mention "ee"

* Revert docker image tag being -pro, back to -ee

* Revert go build tag being pro, back to ee

* Add build tags for some ee content

* [2] Revert go build tag being pro, back to ee

* Fix test workflow

* Add a json tag to be backwards compatible with frontend "IsEE" check

* Add a json tag for the serverconfig struct for IsEE

* Ammend json tag to Is_EE

* fix ee tags

---------

Co-authored-by: Abhishek Kondur <abhi281342@gmail.com>
2023-09-01 07:42:05 +05:30
0xdcarns
11daff3f1c added iot check in mq message handlers 2023-03-14 10:46:12 -04:00
Abhishek Kondur
be2a730a24 use existing func to parse host id from topic 2023-01-18 22:18:55 +05:30
Abhishek Kondur
9a9eaec3d4 fix topic parser for host ID 2023-01-18 22:15:20 +05:30
Abhishek Kondur
acceb6e370 mq handlers for host updates 2023-01-17 11:17:13 +05:30
0xdcarns
2fa2d50b8f added ability for server to receive and publish host model updates via MQ 2023-01-11 10:33:43 -05:00
Abhishek Kondur
4c0866723f add new host role with acls 2023-01-04 10:05:05 +05:30
Matthew R. Kasun
38cd4d7700 refactor join
also removes server node
suspect there may be issues with proxy
and UI interactions with nodes
2022-12-20 15:29:09 -05:00
Matthew R. Kasun
c086e9499d rebase
Signed-off-by: Matthew R. Kasun <mkasun@nusak.ca>
2022-12-19 15:15:35 -05:00
Matthew R. Kasun
49c6380643 reuse mq connections 2022-08-29 14:08:01 -04:00
Matthew R Kasun
66b2a28455 update server mq connection logic to match client 2022-06-24 19:58:16 +00:00
Matthew R. Kasun
976ab07de1 use token.WaitTimeout() 2022-05-16 09:38:47 -04:00
0xdcarns
867e253c3b refactored and cleaned up code, added peer update from clients 2022-02-16 20:44:15 -05:00
0xdcarns
d9e6338912 added compatibility with 0.10.0 clients 2022-02-15 10:22:11 -05:00
0xdcarns
83250980eb initial chunk approach 2022-02-15 10:15:17 -05:00
0xdcarns
b6e3afa174 revert 2022-02-15 10:11:24 -05:00
0xdcarns
d42ec811b8 first draft of chunks 2022-02-15 10:11:23 -05:00
0xdcarns
732665c3d4 cleaned up daemon and server mq 2022-02-08 19:13:58 -05:00
0xdcarns
8533f456bd edited so that if certain error detected, restart daemon, log changes 2022-02-06 15:02:05 -05:00
Matthew R. Kasun
6f0950792f set retained true on server publish and client ping server on checkin 2022-02-04 18:00:17 -05:00
0xdcarns
410efbab50 switched to eliptical strategy 2022-01-29 18:18:46 -05:00
0xdcarns
3dadb8dcbf added e.. 2022-01-29 18:18:46 -05:00
0xdcarns
aa22afeb95 tracking mod 2022-01-29 18:18:46 -05:00
0xdcarns
ac632a75b7 refactored struct 2022-01-29 18:18:46 -05:00
0xdcarns
3736c152c1 added log 2022-01-29 18:18:46 -05:00
0xdcarns
db5fc322b8 remove db read 2022-01-29 18:18:46 -05:00
0xdcarns
a058db2102 chunked 2022-01-29 18:18:46 -05:00
0xdcarns
d27dee0691 debugging 2022-01-29 18:18:46 -05:00
0xdcarns
0015d6fdf8 added encryption/decryption strategy 2022-01-29 18:18:46 -05:00