Add external IP address to NodeSpec
In order to run conformance tests, it is necessary to have IP addresses which are reachable from the internet. While the public slaves have those IPs, they are not exposed in the NodeSpec yet.
TODO:
- [ ] investigate where we get this information from. Possibilities: state.json, network interface
- [ ] on node creation and/or on update in the executor, add the address
HishRisk: it is not clear whether we have this information in the scheduler or controller manager. We have to check whether the state.json includes this information.
NOTE: this ticket may or may not actually be an issue when running tests - needs investigation to determine whether this is really a problem at all for us.
related conversation, though more concerned with determining the correct "internal IP" vs "external IP": https://github.com/mesosphere/mesos-dns/issues/379
why do we need public IP's to run conformance tests?
Because they are blackbox tests from the internet.
it's unlikely that state.json includes public IP addresses. I asked around today and was told that there is no good way to get public IPs on DCOS.
@sttts can you list one or two conformance tests that depend on this?
Nearly all. Guestbook as an example, our smoke test.
for guestbook we can use a DNS name to access the frontend service via the api proxy URI, so I'm still unclear why, specifically, we need public IPs. can you elaborate? (I'm probably missing something obvious here)
In fact, the guestbook test uses the kubeclient proxy already. Maybe my assumption was wrong.