-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Che Docker Launcher - Fails to Recognize Valid Server Boot #1924
Comments
Update - There seems to be some sort of firewall or port routing issues. If I manually start / stop firewalld, to verify that it is not running and then re-enter the Chasing this down further, there is this very long thread on Docker's site about firewalld and Docker. I started a new VM that does not have Docker installed. I disabled iptables, disabled firewalld, and then installed Docker from scratch on the VM. In this scenario, the che-launcher was able to launch successfully. So, I think this is turning into a documentation issue about how to get Docker working with firewalld. That is clearly the culprit. |
That's annoying :-( Have you tried to to ping the che-server using the Docker internal IP (docker inspect -f='{{.NetworkSettings.IPAddress}}') and the internal port (8080) too:
Besides the documentation we could also infer the distribution Che is running on and inform users about that issue in the launcher output. Wdyt? |
@l0rd - agree that it is annoying. Yes, I tried every IP address combination. I spent a good couple hours looking at ifconfig of the che-launcher, che-server, and the host VM. The issue is really just firewalld, and the docs on Docker's site do not make it really clear on what has to happen in order for the firewalld settings to be properly set so that this conflict does not exist. On my walk this afternoon with my dog, I was thinking about whether we wanted to notify users of particular distribution issues. There are two that I am aware of: 2: If centos / rhel 7.x AND firewalld or iptables alive, then we will not be able to verify that the server is booted. However, the che-server will boot and work properly. |
@TylerJewell I am stuck at server booting stage. I checked logs in the server container and the server is up. I could also access Che as the specified port on localhost. I stopped all containers, disabled firewald |
@TylerJewell and @eivantsov I've tested on a CentOS VM and I confirm that the che-launcher cannot connect to the che-server using its external URL (e.g. 10.0.2.15:7070). But if I use the internal URL (e.g. 172.17.42.1:8080) I could connect successully. Can you please try it on your VM:
If that command works fine on your environment too we could fix the launcher accordingly. |
@l0rd I was to quick to speak. With ufw enabled Che server could not ping ws agent:
When I disable firewald, the problem's gone. |
@l0rd - Your solution worked for me. I turned on firewalld. I was able to run your command with the internal IP + port 8080 and was able to get a successful ping. However, if I attempted to try the external IP and port, then it was host rejected. Will you add this fix into one of your commits for another issue? I am not sure of the solution that you want to pursue. Are you thinking that the curl command will always test the internal IP + port, or is it situational? |
I would always use the internal IP/port for the curl command. It should work for every Linux distribution. No problem to commit that change myself. |
@eivantsov - I have included a fix for the curl issue in this pull request. |
The che launcher seems to be unable to confirm that the che-server has booted under certain Linux configurations.
1: I started a VM using this centos7.2 Vagrantfile. The results of
docker version
are:and its
ifconfig
command (trimmed for readability):I confirmed that all IP addresses are pingable from within
che-launcher
.2: When launching che che-launcher with the following syntax, the launcher will timeout as saying the that server is not booted. However, the che-server is successfully launched and can be accessed from outside the VM.
3: Upon inspection, it seems that the che-launcher is unable to curl the server running in another container. I tried a variety of configurations. But essentially:
4: And the details of
docker inspect che-server
5: And the details of
docker inspect che-launcher
.The text was updated successfully, but these errors were encountered: