Skip to content

Get rid of dnsmasq from local-cluster.sh.#90

Closed
petermattis wants to merge 1 commit intomasterfrom
pmattis/get-rid-of-dnsmasq
Closed

Get rid of dnsmasq from local-cluster.sh.#90
petermattis wants to merge 1 commit intomasterfrom
pmattis/get-rid-of-dnsmasq

Conversation

@petermattis
Copy link
Copy Markdown
Collaborator

Use docker container linking to allow nodes other than 1 to find node 1
for gossip bootstrapping.

Change server startup to convert the value supplied to the --rpc flag
from a host:port to an ipaddr:port.

Use docker container linking to allow nodes other than 1 to find node 1
for gossip bootstrapping.

Change server startup to convert the value supplied to the --rpc flag
from a host:port to an ipaddr:port.
@spencerkimball
Copy link
Copy Markdown
Member

This is how I originally wrote things. But as I mentioned in another email thread, the painful addition of a dnsmasq container was the only way I could get things set up such that I was confident the cluster would behave as if setting it up with real machines. Without dnsmasq providing a level of indirection from virtual hostname "node1", "node2", etc. to IP address, we could only:

  1. Specify a single gossip bootstrap host
  2. Would need to change cockroach internals to gossip IP address, not hostname. This is a delicate change for two reasons: a) there can be many IP addresses to choose from; how do we choose the "right" one? b) the current rpc subsystem wants to use the hostname for the TLS tests

Using IP address internally instead of hostname can be changed, but I'd like to do that before we change our acceptance testing to work without hostnames. This change allows acceptance testing to pass, but that's because all we're doing right now is checking that every node joins the gossip network. As soon as we start having nodes communicate for reads and writes, it won't work as node1 can't resolve node2 or node3 and vice versa, with the exception of nodes 2 & 3 being always able to resolve node1 due to the docker linking.

@petermattis
Copy link
Copy Markdown
Collaborator Author

The change to server/server.go causes the server to gossip IP addresses. Pretty sure the nodes will still be able to talk to each other. As we discussed at lunch, I don't think the TLS issue is a significant roadblock. We can generate our certs however we want and tie them to something other than hostname.

@spencerkimball
Copy link
Copy Markdown
Member

Probably should delete this branch Pete.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants