Open GrahamDumpleton opened 8 years ago
In my case, I wanted to run the OpenShift router on alternative port: 1080 and 10443. And I ended up in this case
-- Checking for available ports ... FAIL
Error: a port needed by OpenShift is not available
Caused By:
Error: ports in use: [443]
So maybe the check has been implemented in the meantime or it was already existing. In both case, it prevents from running the router on other ports. Should we add an option? o
@GrahamDumpleton apparently the check is done here https://github.com/openshift/origin/blob/d89bdf3fe4c45562e7ed190330898c5804cd4456/pkg/bootstrap/docker/up.go#L515
@pweil- @csrwng should we mark this issue as closed? I want a parameter to change the default OpenShift Base port also. Should I open a new issue?
@akram this issue is still valid ... the problem is that we're currently only checking the docker host ... however when starting up on a Mac, we will eventually expose the port to the Mac's network interface through something like docker run -p 80:80 blah
and that's the part that fails.
@csrwng thanks, indeed, I saw it working when running on RHEL and not in docker-machine.
I created #10717 to allow one to skip this verification once we got it fully implemented
Pull request #11600 was merged which does correct the checks to be warnings instead of failing, but does not yet correct this issue. Another pull request will be opened for this issue.
@akram Yes, you would need to open a new issue to add a new parameter to change the default OpenShift base port.
@csrwng Currently, the only place I see a socat tunnel being configured is in the helper_unix.go, and it is for port 8443. Could you point me towards where socat is being used to forward ports 80 & 443 ?
@coreydaley the problem is not the port socat opens. It's the port that docker opens when running the router. It essentially exposes ports on the mac with the -p flag. However, we only do that when running socat.
As a me-too, I ran into this issue today. What was worse for me is I had something else restarting a service on port 80 and sometimes oc cluster up
would fail and sometime not, largely dependent on timing.
Issues go stale after 90d of inactivity.
Mark the issue as fresh by commenting /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen
.
If this issue is safe to close now please do so with /close
.
/lifecycle stale
/lifecycle frozen
This is still an issue after the 3.10 update using the component-based install. The router component should do the following:
@openshift/sig-master in your wheelhouse since this is related to cluster up
@adambkaplan the router component installer is owned by the @openshift/sig-networking team ;-)
/cc @ironcladlou
To make sure I understand: this issue pertains only to oc cluster up
against a remote docker daemon (e.g. MacOS use cases), correct?
Don't know about remote docker daemon. If you mean where docker runs in a VM, such as on macOS and Windows, then yes.
/remove-sig networking /sig network-edge
If port 80 is already in use by a web server on the host when running
oc cluster up
, there is no error or warning when starting up. What happens is that the router pod keeps failing instead and so although the web interface works and can deploy applications, you can't access the deployed applications. If you use docker logs on dead router containers they show no log messages at all.The
oc cluster up
command should perhaps do a TCP connection to both 80 and 443 when run and warn that the ports are already in use and that routing may not work for applications.So what normally expect to see from
docker ps
is:If start up Apache httpd server on port 80 and run
oc cluster up
, then output all looks normal.The router pod doesn't show as running in
docker ps
.If you run
docker ps -a
you can though see many failed router pods.As said above, using
docker logs
on any of the router pods shows no log messages at all, so would have to guess issue is that something is running on port 80.