-
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
Add networking pre-flight check #3756
Conversation
Build success. https://ci.codenvycorp.com/job/che-pullrequests-build/1655/ |
I've error with command when my /data mounted folder does not exists:
preflight check is working
info --network is failing on the first test on my side : Browser => Workspace Agent (localhost): Connection failed
|
Yes, the localhost test fails for Mac and Windows in the default configuration. When we do preflight check, we do an OR test of the first two - we only need a single one to work properly. We should fail if :/data is not present. So that may be a bug. |
I mean :/data is volume mounted but the directory on the host does not exists yet. AFAIK until now it was created by the CLI in init phase |
I think we hvae always assumed that the directory mounted to :/data exists already. I don't think we have taken the action to create that folder if it doesn't exist. I think we should stop with error message if it isn't there and ask user to create it first. |
I have the same error if the folder is created but is empty (I think it's the default case of users) |
|
Looks like something is trying to access the environment file before the CLI has been fully bootstrapped. Will investigate! |
it seems it's not linked to this PR |
Build success. https://ci.codenvycorp.com/job/che-pullrequests-build/1683/ |
Signed-off-by: Tyler Jewell <tjewell@codenvy.com>
Signed-off-by: Tyler Jewell <tjewell@codenvy.com>
Build success. https://ci.codenvycorp.com/job/che-pullrequests-build/1726/ |
Build success. https://ci.codenvycorp.com/job/che-pullrequests-build/1745/ |
Signed-off-by: Tyler Jewell <tjewell@codenvy.com>
What does this PR do?
A working branch that includes the epic improvements of CHE-3748, an epic dedicated to detecting possible networking issues earlier in the startup sequence, interrupting operating, and providing helpful feedback to end users.
Preflight check that performs two sets of tests: a simulation of browser => agent and a simulation of Che server => agent. In the first set of tests, they check both
localhost
and external IP connectivity and only a single test must pass. In the second set, we test connectivity from Che using both Docker internal and external IP addresses and both must pass for Che to continue. Sample output in the start sequence:Now skips preflight checks if user provides
--fast
command.Updates the
info --network
command to make use of the same test framework.To Be Included - post-flight checks that run in the background of the Che server after the server has successfully started to test creating a minimal workspace, with small workspace agent, and test ws=>agent connectivity.
To Be Included - a UD extension that adds "Diagnostics" button to the bottom next to "docs" that will enable a set of tests to be run from a user's browser to test web sockets, open workspace ports, and ws agent connectivity.
To Be Included - smarter set of error messages that tell users what to check or what to configure to overcome a particular issue.
I believe that this issue will require a matching Codenvy issue as it has a custom cmd_start with its own form of port checks. Can we reuse Che's utility function?
What issues does this PR fix or reference?
#3748
Changelog
Adds CLI preflight check that simulates connections from browser and server to agent
Adds ability to apply
--fast
to skip preflight checks upon bootRelease Notes
We have added two additional preflight checks to the startup sequence that creates simulated connectiosn from a browser to a workspace and from Che to a workspace. These connections are simulated using short-lived Docker containers that we launch to test a connection. These connections will use some of your host's native networking and can give an early indication if something is not configured properly. You can skip these tests with
--fast
on the command line.You will see the tests run during boot with the following output. If any of the tests fail, you can get more details by running the
info --network
command, and the output of each simulation will be provided.Docs PR
Nothing to add to docs on this