Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added note about receptor not listening #2514

Merged
merged 2 commits into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,30 @@ ALLOW connection from controller(s) to Receptor port |
* Hybrid nodes act as a combination of control and execution nodes, and therefore Hybrid nodes share the connections of both.

* If `receptor_listener_port` is defined, the machine also requires an available open port on which to establish inbound TCP connections, for example, 27199.

* It might be the case that some servers do not listen on receptor port (the default is 27199)
+
Suppose you have a Control plane with nodes A, B, C, D
+
The RPM installer creates a strongly connected peering between the control plane nodes with a least privileged approach and opens the tcp listener only on those nodes where it is required. All the receptor connections are bidirectional, so once the connection is created, the receptor can communicate in both directions.
+
The following is an example peering set up for three controller nodes
ianf77 marked this conversation as resolved.
Show resolved Hide resolved
+
Controller node A --> Controller node B
+
Controller node A --> Controller node C
+
Controller node B --> Controller node C
+
You can force the listener by setting
+
`receptor_listener=True`
+
However, a connection Controller B --> A is likely to be rejected as that connection already exists.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t love saying is likely here. I’m unsure of the installer behavior but this is something we can test manually.

im fine if we leave it like this and circle back at a later time to address this issue

+
This means that nothing connects to Controller A as Controller A is creating the connections to the other nodes, and the following command does not return anything on Controller A:
+
`[root@controller1 ~]# ss -ntlp | grep 27199 [root@controller1 ~]#`
====

.{InsightsName}
Expand Down
27 changes: 27 additions & 0 deletions downstream/modules/platform/proc-define-mesh-node-types.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,33 @@ Run the following command to open port 27199 for receptor communication (Make su
----
sudo firewall-cmd --permanent --zone=public --add-port=27199/tcp
----
+
[NOTE]
====
It might be the case that some servers do not listen on receptor port (the default is 27199)

Suppose you have a Control plane with nodes A, B, C, D

The RPM installer creates a strongly connected peering between the control plane nodes with a least privileged approach and opens the tcp listener only on those nodes where it is required. All the receptor connections are bidirectional, so once the connection is created, the receptor can communicate in both directions.

The following is an example peering set up for three controller nodes
ianf77 marked this conversation as resolved.
Show resolved Hide resolved

Controller node A --> Controller node B

Controller node A --> Controller node C

Controller node B --> Controller node C

You can force the listener by setting

`receptor_listener=True`

However, a connection Controller B --> A is likely to be rejected as that connection already exists.

This means that nothing connects to Controller A as Controller A is creating the connections to the other nodes, and the following command does not return anything on Controller A:

`[root@controller1 ~]# ss -ntlp | grep 27199 [root@controller1 ~]#`
====

. Run the following playbook on the machine where you want to update your automation mesh:
+
Expand Down