-
Notifications
You must be signed in to change notification settings - Fork 184
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
Automate calico ippools creation by routeagent #2576
Conversation
🤖 Created branch: z_pr2576/yboaron/calico_ippool |
remoteEndpoints map[string]*submV1.Endpoint | ||
isGateway bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should protect these with a mutex as is done in other handlers (eg ).
kp.syncHandlerMutex.Lock() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you still think we should use mutex here ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed elsewhere it shouldn't be needed unless mutable fields can be accessed outside the parent's event loop. This appears to be the case with isGateway
in the Stop
method. To be completely safe, you can use an atomic bool for isGateway
.
Few observations after checking this PR on OCP with Calico clusters on IBM ROKS,
I filed [3] issue on Calico project, let's wait for their reply to decide how to proceed with this PR [1] |
remoteEndpoints map[string]*submV1.Endpoint | ||
isGateway bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed elsewhere it shouldn't be needed unless mutable fields can be accessed outside the parent's event loop. This appears to be the case with isGateway
in the Stop
method. To be completely safe, you can use an atomic bool for isGateway
.
Calico folks plan to work on providing a new API to create IPPools that can be used regardless to the Calico API server , until this API will be available running Calico API server is a prerequisite for automating Calico IPPools creation. |
To make calico compatible with Submariner, it needs to create calico IPPools for the subnets associated with the Pod and Service CIDRs of the remote clusters. This PR adds a new handler (CalicoIPPool) for the routeagent, the CalicoIPPool handler will be responsible for creating calico IPPools for remote endpoints. Depends-On : submariner-io/submariner-operator#2713 Signed-off-by: Yossi Boaron <yboaron@redhat.com>
🤖 Closed branches: [z_pr2576/yboaron/calico_ippool] |
Release note for submariner-io/submariner#2576 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Release note for submariner-io/submariner#2576 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Release note for submariner-io/submariner#2576 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Release note for submariner-io/submariner#2576 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Release note for submariner-io/submariner#2576 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Release note for submariner-io/submariner#2576 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Release note for submariner-io/submariner#2576 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
To make calico compatible with Submariner, it needs to create calico IPPools for the subnets associated with the Pod and Service CIDRs of the remote clusters.
This PR adds a new handler (CalicoIPPool) for the routeagent, the CalicoIPPool handler will be responsible for creating calico IPPools for remote endpoints, running Calico API server is a
prerequisite for automating Calico IPPools creation.
Depends-On : submariner-io/submariner-operator#2713