Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

default iprange clashes with DigitalOcean Private Networking #1036

Closed
rade opened this issue Jun 29, 2015 · 13 comments
Closed

default iprange clashes with DigitalOcean Private Networking #1036

rade opened this issue Jun 29, 2015 · 13 comments
Assignees
Milestone

Comments

@rade
Copy link
Member

rade commented Jun 29, 2015

A user ran into

network 10.128.0.0/10 would overlap with route 10.128.0.0/16
Default -iprange 10.128.0.0/10 overlaps with existing route.
Please pick another range and set it on all hosts.

Further investigation by them revealed that

It looks to be set up for my DigitalOcean's eth1 interface, which is for the (optional) private IP of a droplet. I suspect anyone who has a DigitalOcean droplet with Private Networking enabled may have this route by default.

If confirmed then we may want to consider changing the default iprange to avoid this clash.

That unfortunately is a backward incompatible change. sigh

@errordeveloper
Copy link
Contributor

Yes, it looks like the 10.128.x.x range is the default one for private network on DigitalOcean, as appears in Introducing Private Networking blog post.

@errordeveloper
Copy link
Contributor

I have just created an instance in their London DC 1 and it came up on 10.131.152.68 with netmask 255.255.0.0.

@errordeveloper
Copy link
Contributor

In the default New York DC 3 I get 10.132.201.238 with netmask 255.255.0.0.

@rade
Copy link
Member Author

rade commented Jul 2, 2015

So it looks like 10.192.0.0/10 would work.

@rade rade modified the milestone: current Jul 2, 2015
@rade
Copy link
Member Author

rade commented Jul 3, 2015

So I've been pondering how to make such a change backward compatible. I reckon the best we can sensibly do (that is proportional to the issue), is to stick an advisory in the release notes telling users of the current default iprange that want to perform a rolling upgrade that they should specify the old range explicitly. They can roll out that change prior to the upgrade if they wish. And eventually, at an opportune time for a stop-the-world upgrade, they can remove the option again and thus switch to using the new default range.

@squaremo @bboreham thoughts?

@bboreham
Copy link
Contributor

bboreham commented Jul 3, 2015

Agree this will work for users who are affected.
I guess we should be prepared to learn which environments clash with 10.192/10.

@bboreham
Copy link
Contributor

bboreham commented Jul 6, 2015

As predicted, we learned that 10.192/10 clashes with GCE.

We could, in the initial consensus stage, collect conflicting ranges from all hosts, then pick a range for IPAM that doesn't conflict with anyone we have heard from. This would not help the "add more hosts slowly" case.

@rade
Copy link
Member Author

rade commented Jul 6, 2015

We could, in the initial consensus stage, collect conflicting ranges from all hosts

We'd need something more than basic paxos for this, wouldn't we?

@rade
Copy link
Member Author

rade commented Jul 6, 2015

collect conflicting ranges from all hosts, then pick a range for IPAM that doesn't conflict with anyone we have heard from.

What's the 'picking' algorithm? Say that no private IP ranges are used by any of the nodes. Which IP range would we pick for IPAM? Seems to me that we'd still need a default IP allocation range :) And we should still choose that based on its (un)likeliness of clashing with ranges used by popular platforms/systems, to give us a fighting chance of coping with the 'add more hosts' case.

@bboreham
Copy link
Contributor

bboreham commented Jul 6, 2015

If we union the information, it is not necessary to have any consensus. We will have heard from a quorum of peers and we can choose a range based on that information.

The default, in the absence of conflicts, would be as shipped in 1.0, for backward compatibility.

@rade
Copy link
Member Author

rade commented Jul 6, 2015

The default, in the absence of conflicts, would be as shipped in 1.0, for backward compatibility.

I don't think backward compatibility is a major concern here. As I noted above, we should still choose a range that is unlikely to clash, so that adding more hosts has a good chance of succeeding.

@bboreham
Copy link
Contributor

bboreham commented Jul 6, 2015

Do we have any proposals on the table how to identify that range?

@rade
Copy link
Member Author

rade commented Jul 6, 2015

Do we have any proposals on the table how to identify that range?

Trial and error.

@rade rade closed this as completed in #1070 Jul 7, 2015
rade added a commit that referenced this issue Jul 7, 2015
Change default IP allocation range from 10.128/10 to 10.32/12

Closes #1036.
@rade rade modified the milestones: current, 1.1.0 Jul 13, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants