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

In general, bind to 0.0.0.0 and not private_ip; separate notion of :addr and :bindto #248

Open
mrflip opened this issue Jan 30, 2013 · 0 comments

Comments

@mrflip
Copy link
Member

mrflip commented Jan 30, 2013

Whatever the merits of binding to a single interface, the following compelling arguments say "no, just have everything bind to 0.0.0.0 (i.e. serve on all available interfaces)":

  • probing localhost (curl, mongostat, etc) is easier from the commandline than probing hostname -f.
  • it leads to messy logic in the cookbooks
  • lockdown to single interfaces can be done at the firewall level. It's reasonable to say this is a concern of a firewall, and thus should be handled by a firewall-rule amenity to be written later.

So, we should:

  • Remove logic in cookbooks that binds to private ip's
    • Be very careful of things like hadoop's fs.default.name -- make sure that the config variable is a bind statement and not an publishment-of-capability statement.
  • Separate the following node attributes:
    • :addr -- "where to find me". Defaults to nil, set at runtime, has the appropriate hostname of the machine, set by the announce helper.
    • :bindto -- "the interface I should attach to". Defaults to 0.0.0.0 and left there. Right now this attribute is spelled 'addr' in most places
  • have the announce helper set the addr attribute (accepting an override) -- this is the "address to use for this capability"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant