Bug 1645577
| Summary: | EgressIP not sending traffic to the hostsubnet | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Juan Luis de Sousa-Valadas <jdesousa> |
| Component: | Networking | Assignee: | Casey Callendrello <cdc> |
| Networking sub component: | openshift-sdn | QA Contact: | zhaozhanqi <zzhao> |
| Status: | CLOSED NOTABUG | Docs Contact: | |
| Severity: | high | ||
| Priority: | high | CC: | aos-bugs, bbennett, bjarolim, danw, ddelcian, openshift-bugs-escalate, weliang |
| Version: | 3.9.0 | ||
| Target Milestone: | --- | ||
| Target Release: | 3.9.z | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-03-26 18:54:06 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Juan Luis de Sousa-Valadas
2018-11-02 14:56:06 UTC
OK, I believe the problem here is caused by the fact that the "dsc-score-test-dmz" project has been joined with the "dsc-score-infra-test-dmz" namespace (via "oc adm pod-network join-projects"), and the Egress IP code does not handle the case of joined projects. It *should* log an error about this, but unfortunately it does not.
There are three workarounds, none of which is necessarily great:
- kill off the "dsc-score-infra-test-dmz" namespace, and just
move everything from that namespace into the "dsc-score-test-dmz"
namespace.
- unjoin the namespaces
("oc adm pod-network isolate-project dsc-score-infra-test-dmz")
and then figure out a different way to allow communication between
them where that was needed.
- switch from the multitenant plugin to the networkpolicy plugin
(following the directions at
https://docs.openshift.com/container-platform/3.9/install_config/configuring_sdn.html#migrating-between-sdn-plugins-networkpolicy)
and then configure cross-namespace communication using
NetworkPolicy rather than "oc adm pod-network". In this case,
it is possible both to allow the two namespaces to talk to
each other and to have dsc-score-test-dmz use an egress IP, and
the migration script linked from the documentation should deal
with creating policies that match the previous behavior created
with "oc adm pod-network". However, the migration will require
a bit of cluster downtime.
We should definitely fix OpenShift to log an error rather than failing silently and mysteriously in this case. I don't think we can commit to actually fixing the bug (making Egress IPs and multitenant joined projects work together correctly) in the short term, but that would be a question for PM not engineering anyway.
(In reply to Dan Winship from comment #10) > OK, I believe the problem here is caused by the fact that the > "dsc-score-test-dmz" project has been joined with the > "dsc-score-infra-test-dmz" namespace (via "oc adm pod-network > join-projects"), and the Egress IP code does not handle the case of joined > projects. It *should* log an error about this, but unfortunately it does not. > > There are three workarounds, none of which is necessarily great: > > - kill off the "dsc-score-infra-test-dmz" namespace, and just > move everything from that namespace into the "dsc-score-test-dmz" > namespace. > > - unjoin the namespaces > ("oc adm pod-network isolate-project dsc-score-infra-test-dmz") > and then figure out a different way to allow communication between > them where that was needed. > > - switch from the multitenant plugin to the networkpolicy plugin > (following the directions at > > https://docs.openshift.com/container-platform/3.9/install_config/ > configuring_sdn.html#migrating-between-sdn-plugins-networkpolicy) > and then configure cross-namespace communication using > NetworkPolicy rather than "oc adm pod-network". In this case, > it is possible both to allow the two namespaces to talk to > each other and to have dsc-score-test-dmz use an egress IP, and > the migration script linked from the documentation should deal > with creating policies that match the previous behavior created > with "oc adm pod-network". However, the migration will require > a bit of cluster downtime. > > We should definitely fix OpenShift to log an error rather than failing > silently and mysteriously in this case. I don't think we can commit to > actually fixing the bug (making Egress IPs and multitenant joined projects > work together correctly) in the short term, but that would be a question for > PM not engineering anyway. I see that this issue has affected several customers as well mine and would like to add emphasis on the need to include a fix in Openshift to handle/log an error when attempting to do this. Also, including a note in the documentation explaining this limitation would definitely be a start. (In reply to Daniel Del Ciancio from comment #11) > > We should definitely fix OpenShift to log an error rather than failing > > silently and mysteriously in this case. I don't think we can commit to > > actually fixing the bug (making Egress IPs and multitenant joined projects > > work together correctly) in the short term, but that would be a question for > > PM not engineering anyway. > > I see that this issue has affected several customers as well mine and would > like to add emphasis on the need to include a fix in Openshift to handle/log > an error when attempting to do this. > Also, including a note in the documentation explaining this limitation would > definitely be a start. Bug 1764587 covers updating the docs |