Skip to content
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

Weave ip range. #342

Closed
wants to merge 1 commit into from
Closed

Weave ip range. #342

wants to merge 1 commit into from

Conversation

enxebre
Copy link
Contributor

@enxebre enxebre commented Jun 25, 2015

No description provided.

@lordoffreaks
Copy link
Contributor

LGTM

@tayzlor
Copy link
Member

tayzlor commented Jun 25, 2015

Hang fire on this as we're nt sure it's the right solution yet

@pmbauer
Copy link
Contributor

pmbauer commented Jun 25, 2015

This may be related; this is just an anecdote and a small description of how we addressed the issue.

Due to assigning the same weave_bridge to every machine, we were seeing packet loss ~30% and extreme latency jitter. This is because of gateway address collisions on each machine.

https://github.com/Capgemini/Apollo/blob/master/roles/weave/defaults/main.yml#L3

This is how we solved it:

https://github.com/udacity/Apollo/commit/e459832a30a097ba58cffb0b1c4710cc459b19be
Summary:

  1. assign a unique weave_bridge (gateway) ip to each machine. Masking ensures the same CIDR block
  2. compute the weave subnet based on the VPC-assigned host IP. This ensures elasticity - we don't need to re-allocate the weave subnets whenever slaves are added or removed. This works because of carefully constructed VPC subnets and we effectively allow AWS to handle GC for us whenever they recycle a host IP address. (https://github.com/udacity/Apollo/blob/master/terraform/aws/terraform.tfvars#L1)

An alternative would be what coreos fabric is doing, namely store allocated subnet blocks in a consistent store.

@tayzlor
Copy link
Member

tayzlor commented Jun 30, 2015

Closing this in favour of #351

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants