Repository navigation
make control.cidr and control.gateway dynamic - #7746
DaanHoogland wants to merge 7 commits into
Conversation
Codecov Report
@@ Coverage Diff @@
## 4.18 #7746 +/- ##
=========================================
Coverage 13.06% 13.06%
Complexity 9093 9093
=========================================
Files 2720 2721 +1
Lines 257431 257395 -36
Branches 40141 40132 -9
=========================================
- Hits 33622 33620 -2
+ Misses 219582 219549 -33
+ Partials 4227 4226 -1
... and 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
|
@blueorangutan package |
|
@DaanHoogland a [SF] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 6522 |
|
@DaanHoogland, there are some refactorings being done that are not related to the PR proposal; would not be better to create a new PR for the refactoring and separate the contexts? |
I could do @GutoVeronezi , but I find that I do these refactoring for undestanding the software and the problem. Thus the changes are usually intertwined a bit. I gather you ask this because it makes reviewing harder? (btw, i still have to think of a way to verify this change) |
In this scale of changes (~250 lines), the reviewing still is quite simple. Personally, I like to separate the contexts when possible, to better organize and track the changes. It is just a suggestion, though. 😁 |
|
Thanks for spending time to work on this Daan! LGTM |
|
@blueorangutan package |
|
@DaanHoogland a [SF] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 6773 |
|
@blueorangutan test |
|
@DaanHoogland a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-7409)
|
371f7c3 to
8490193
Compare
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 6801 |
|
@Rubueno @wido I gave this another look and it is not going to work. The link local addresses are created on createPod and changing the configurations will break any SVM created after changing the settings. We'll need a more extensive disign. Can you give some input on what a valid scenario for you would be? thanks |
We should move to IPv6 Link-Local at all for the SSVM :-) These addresses with IPv4 aren't needed at all ;-) Makes life much easier, I promise! Anyway, this isn't the biggest problem now. In RFC5549 the IPv4 address 169.254.0.1 is used for routing IPv4 traffic via IPv6, something which you will use when using EVPN+BGP+VXLAN. Therefor you want to change the control CIDR to something else. It's 'stupid' that we allocate a /16 to this as that's not needed at all, a /20 by default should be more then enough. Any existing installations work just fine. Maybe we should just change the default from this /16 to a /20 (169.254.240.0/20) and be done with it for now. |
thanks @wido @DaanHoogland I think the main problem for this PR is, all link local IPs are saved in database table |
And in addition I think we should opt for a /20 by default for all new installations. If we do that, this whole problem is kind of solved. For new deployments the /20 would be used and never get into the way of BGP with v4 via v6 routing. |
7b92f4c to
3dd5858
Compare
| String.class, | ||
| "control.cidr", | ||
| "Advanced", | ||
| "169.254.0.0/16", |
There was a problem hiding this comment.
| "169.254.0.0/16", | |
| "169.254.240.0/20", |
like this and abandon all other changes in this PR, right @wido ?
There was a problem hiding this comment.
Almost @DaanHoogland , but also in:
- NetUtils.java
- AgentProperties.java
- configuration/Config.java
If we change it to a /20 in those files we should be good.
There was a problem hiding this comment.
This will only work for new environments. I don't think this will work when upgrading environment. These hardcoded values of an already otherwise deplayed config item will break systems and needs a bit more TLC .
There was a problem hiding this comment.
@DaanHoogland
as I understand, Wido wants /20 to be the default in new environments.
It would be good to update the config description to emphasize that the new value only applies on new pods.
There was a problem hiding this comment.
Yes. For upgrades we shouldn't touch anything. Unless somebody is going to use BGP Unnumbered in their existing environment. Otherwise just using the /20 for new deployments is fine.
There was a problem hiding this comment.
well, this means that the hardcoded values in NetUtils.java and AgentProperties.java have to be intelligent... we can not assume returning the one or the other in these methods. That complicates things a bit.
|
i disagree with this PR myself |
Description
This PR attempts to make choosing local ip choices adhere to a more dynamics control.cidr so people can actually choose their control network....
Fixes: #6715
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?