[Container-tools] Atomic Developer Bundle and OpenShift
Langdon White
langdon at redhat.com
Mon Nov 2 17:34:32 UTC 2015
Hi list,
I think we have a number of moving parts for getting OpenShift
integrated in to the ADB vagrant box and I am nervous we don't have all
the aspects assigned to anyone (on either the c-t team or the OpenShift
team). I am also concerned that I might be missing some aspects. Please
weigh in if you own one of these pieces and/or if you think we are
missing any.
* a method for docker images to be pre-loaded on to the vagrant boxes:
As you probably agree, we would really like the v-up experience of the
ADB to be as quick and painless as possible. One of things that will
make that possible is to "pre-install" the docker images for OpenShift,
AtomicApp, v2c, etc. However, the build tooling (koji) does not allow a
build to access the general internet. As a result, "docker pull" is not
an option (at least from docker-hub). We have a couple options here:
* stand up a docker registry in the build environment that the builds
can access: While this seems like a good idea, the timeline to make this
happen is probably on the order of months not days
* auto-rpm-ify the docker images: Build the images in koji, use koji
to rpm-ify the binary images, pull the rpms as per normal, extract the
rpm and inject them in to the docker-images storage. Likely, this is the
most viable solution. However, it may run in to problems with
docker-registry-v2 (doesn't support import at this time).
Is anyone owning testing and resolving this issue?
* OpenShift needs dns to allow a user to access their applications: For
OpenShift to give a good user experience, it needs to manage some
wildcard domain. In other words, when a user sets up an application,
they need to give it a name and they access the application from their
host web browser at something like "myCoolApp.myADB.lcl". OpenShift uses
host-headers to route the browser to the correct app. However, this
means, if OpenShift is running in a VM, the host machine needs to know
to route *.myADB.lcl to the VM and then to OpenShift. As the VM will
come up on an (likely) unknowable IP, we planned to use
vagrant-landrush, a plugin for vagrant that manages a DNS server for
this type of use case. Currently, this plugin still has some problems on
windows and has never been tested in this exact use case. Is someone
working on:
1) testing that this setup will actually work with OpenShift (even on
mac or linux where, i believe, v-landrush is known to work)
2) looking in to the issues on windows?
What landrush, loosely, does:
on start of the vagrant vm; vagrant launches the box; vagrant calls
landrush; landrush looks at the ip of the vagrant-vm; inserts
*.myADB.lcl -> vagrant-vm-ip;
full example:
web browser gets user request for mycoolnewwebsite.myADB.lcl; browser
goes to host resolution (where that is depends on OS), in there it finds
*.myADB.lcl-> vagrant-vm-ip; browser then navigates to that ip;
OpenShift in the VM listens on that address:80, OpenShift looks at
host-header (mycoolnewwebsite.myADB.lcl) and maps it to the correct
running website in OpenShift
* allow for k8s + docker to work independently of OpenShift: In the
plans for ADB we wanted to allow a developer to use k8s+docker directly
as well as OpenShift. However, this is not quite as easy as it seems as
the k8s version on CentOS and the k8s version in OpenShift are not the
same. As a result, even if they are installed separately (see
installation bullets elsewhere), they need to be listening on different
IP bindings to allow them to listen on the same port. Does someone own
testing and ensuring the setup of these conflicting services?
Is that it?
langdon
More information about the Container-tools
mailing list