fix(api,agent): Move anycast prefixes filter to routing-profiles#1780
Conversation
0c1d86a to
72bec1f
Compare
What's at risk of breaking? How do deployments know what they have to do? |
@ajf Good point. I used too few words. What would "break":
The "fix":
|
Can we merge these things automatically to prevent a breaking change? If not, then we'll need to make sure this shows up in the release notes obviously, cc @sabbanis |
Looks like github lost my previous reply somehow. 🤔 We could merge/fallback, but I intentionally didn't because then it looks a bit like "default allow." If there are two profiles INT and EXT, and In this PR, if An alternative might be a deprecation process for |
|
Just thinking out loud, is it possible to have a config option to merge these two things, default to true, then in some future release we default to false, then remove it? That'd at least give the control to the deployment how they want it to behave and not create a flag day where one deployment will break their users. I could go either way, since backward compatibility is only going to get harder. I do know we have impacted people internally that will need to be considered when doing deployment of this change. Your call if it's "breaking change" + documentation or make it configurable at runtime. |
I thought about that, but then at some future date we make a change that would have the same breaking effect we're talking about right now, possibly twice (first when we change the default and hit everyone who hadn't set it, and again later when we remove it entirely and hit all the people who had explicitly set it to true). 🤔 If we're going to take it away at some point, but not right away, then it seems simpler to just call out |
d8e6a9e to
3acdca9
Compare
|
Spiritually conflicted, but I made it more of a deprecation process. @sabbanis should probably still make sure the details in the description are in the release notes. Updated the README in /cfg/ |
3acdca9 to
b6f23f8
Compare
b6f23f8 to
f484470
Compare
Description
This PR moves control of the anycast prefix list filter from site-level to routing-profile, which is effectively tenant-level.
anycast_site_prefixesis now deprecated for non-legacy virtualization. Initially, emptyallowed_anycast_prefixesin routing profiles will trigger a fall-back toanycast_site_prefixes.A future PR will remove rendering of
anycast_site_prefixesin DPU network config completely, making site-level prefixes apply only to legacy deployments.To prepare for the change, deployments should opt-out of
anycast_site_prefixesif configured by removing or emptying the list in the NICo API TOML config. Any prefixes listed should be moved to theallowed_anycast_prefixeslist in the routing-profile config used for tenants who are expected to announce prefixes to their DPUs.Type of Change
Related Issues (Optional)
Breaking Changes
Testing
Additional Notes