After further investigation (My search skills clearly failed me last night):

https://github.com/openshift/origin/issues/4303

So it's sti that's doing the magic to make dns work inside the build container. Non-sti builds don't.

-James

Ben Parees <mailto:[email protected]>
May 18, 2016 at 10:27 AM


On Wed, May 18, 2016 at 10:14 AM, James Falkner <[email protected] <mailto:[email protected]>> wrote:

    Is there any reason (other than bugs :) ) that pods instantiated
    to execute builds of Docker-based apps wouldn't be able to resolve
    *.svc.cluster.local names? I have two apps in a project, one built
    using a Docker strategy, and one using s2i.. the s2i one is able
    (at buildtime) to contact other services in the cluster using
    foo.bar.svc.cluster.local but the Docker one cannot (it is trying
    to use a local Maven mirror and failing to resolve the nexus
    server hostname using the *.svc.cluster.local name). Using the
    externally-exposed name works fine.


​ i'm actually surprised either of them works. Both the assemble script, and your dockerfile commands, are running inside a container that's been launched directly on your node host, meaning the /etc/resolv.conf that's available to the container is the host's /etc/resolv.conf and it doesn't have the openshift skydns ip injected. The assemble container may have DNS access because it picks up the networking config from the actual build pod, which I guess may include DNS config, not sure.

the accepted workaround currently is to add the skydns ip to your host's /etc/resolv.conf.

​


    Thanks!

    -James

    _______________________________________________
    users mailing list
    [email protected]
    <mailto:[email protected]>
    http://lists.openshift.redhat.com/openshiftmm/listinfo/users




--
Ben Parees | OpenShift

James Falkner <mailto:[email protected]>
May 18, 2016 at 10:14 AM
Is there any reason (other than bugs :) ) that pods instantiated to execute builds of Docker-based apps wouldn't be able to resolve *.svc.cluster.local names? I have two apps in a project, one built using a Docker strategy, and one using s2i.. the s2i one is able (at buildtime) to contact other services in the cluster using foo.bar.svc.cluster.local but the Docker one cannot (it is trying to use a local Maven mirror and failing to resolve the nexus server hostname using the *.svc.cluster.local name). Using the externally-exposed name works fine.

Thanks!

-James

_______________________________________________
users mailing list
[email protected]
http://lists.openshift.redhat.com/openshiftmm/listinfo/users

Reply via email to