Skip to content
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

[UD] Add diagnostic page with ability to check if workspaces can work or not #4207

Merged
merged 2 commits into from
Feb 27, 2017

Conversation

benoitf
Copy link
Contributor

@benoitf benoitf commented Feb 22, 2017

What does this PR do?

Add diagnostic page with ability to check if workspaces can work or not

diagnostic-tool

What issues does this PR fix or reference?

#3748

Changelog

Add a diagnostic page to the dashboard that can check workspace requirements.

Release Notes

Title:
Diagnostic utility added to dashboard: find and diagnose install problems

Description:
We are now providing two diagnostic utilities to help users who are having a problems starting the Che or its workspaces. Run docker run eclipse/che info on the command-line to diagnose startup issues or use the new "diagnostic" page that you can launch from the lower corner of the dashboard.

[insert image of button for diagnostic page]

The diagnostic page in the dashboard tests for blocked ports, firewalls, network connectivity issues and websocket problems that might prevent Che workspaces from starting properly. Because these tests are executed from the client to the server and workspace they can highlight issues that the startup tests can't

Docs PR

Che PR - eclipse-che/che-docs#159
Codenvy PR - codenvy/docs#84

Docs improvements needed:

  1. In the installation doc, where we discuss getting help, we should outline this option along with the "info --bundle" command.

  2. In the installation page where we discuss networking, we should talk about how a developer can get more detailed insight to diagnose the installation - a) with "info", b) with "info --network", c) with UD diagnostic tool tests, and then if these things do not reveal anything, opening a ticket with GitHub, perhaps attaching these outputs or files for support.

  3. Also add this to Codenvy

Text to be reviewed

Title of the page: Diagnostic Tool
Subtitle of the page (grey outline area) : Run browser, server and workspace tests

  1. Main toolbar (Where we see "Running Tests")
    Ready
    title: Ready To Start
    subtitle: + button "Start Diagnostics"
    In Progress
    title: Running Tests
    subtitle: No Errors Found
    Success
    title: Completed Diagnostics
    subtitle: All Tests Passed
    Error
    title: Diagnostics Finished With Error
    subtitle: Error!

  2. Categories
    wsMasterPart.icon = 'fa fa-cube';
    wsMasterPart.title = 'Server Tests';
    wsMasterPart.subtitle = 'Connectivity checks to the Che server';
    wsAgentPart.icon = 'fa fa-cubes';
    wsAgentPart.title = 'Workspace Tests';
    wsAgentPart.subtitle = 'Connectivity checks to Dockerized workspaces';

  3. Tests
    a/wsMasterPart:

title: Websockets
success result : Websocket message received
error: Unable to connect with websocket to ' + this.cheWebsocket.wsUrl + ': ' + error

b/wsAgent part

title: Create Workspace
success: Successful workspace start
1.
when receive DESTROYED event
error1: Error while starting the workspace : Workspace has been destroyed
hint error1: Please check the diagnostic logs.
2.
if output contains Client.Timeout exceeded while awaiting headers
error2: Network connection issue
hint error2: Docker was unable to pull the right Docker image for the workspace. Either networking is not working from your Docker daemon or try disabling CHE_DOCKER_ALWAYSE__PULL__IMAGE in `che.env` to avoid pulling images over the network.
3.
if output contains 'dial tcp: lookup && 'server misbehaving'
error 3: Network connection issue
hint error3 : Docker is trying to connect to a Docker registry but the connection is failing. Check Docker's DNS settings and network connectivity.
4
if we detect server start but not received start event
failure message: The workspace started, but Che <--> Workspace connection not established
hint failure: The workspace agent has started in the workspace, but the Che server cannot verify this. There is a failure for Che server to connect to your workspace's agent. Either your firewall is blocking essential ports or you can change CHE_DOCKER_IP and DOCKER_HOST to values specific to your environment. See the `che.env` file for specifics.'

We also run tests
    Test connection from browser to workspace agent by using Workspace Agent IP
and
  Test connection from browser to workspace agent with websocket
  1. REST API Readiness
    success message: wsAgentHRef + '. Got SCM revision ' + angular.fromJson(data).scmRevision

events

title:Workspace State
success: RUNNING

Workspace Agent State
success: RUNNING

Workspace Runtime State
success: RUNNING

Workspace Exec Agent State
success: RUNNING

Change-Id: I535f8a9e5f8e344176319089e2afba0ba7acdefd
Signed-off-by: Florent BENOIT [email protected]

@benoitf benoitf added kind/enhancement A feature request - must adhere to the feature request template. status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. labels Feb 22, 2017
@benoitf benoitf self-assigned this Feb 22, 2017
@benoitf
Copy link
Contributor Author

benoitf commented Feb 22, 2017

It requires #4204 and #4200

…r / workspace agents

Change-Id: I535f8a9e5f8e344176319089e2afba0ba7acdefd
Signed-off-by: Florent BENOIT <[email protected]>
@benoitf
Copy link
Contributor Author

benoitf commented Feb 22, 2017

PR rebased with merged of #4204 and #4200

@codenvy-ci
Copy link

@TylerJewell
Copy link

@benoitf - I have started on some proposed changes for the various text messages to appear by modifying the PR comments above. A couple of things:

  1. Do we have a test that verifies the browser can connect to the agent after it is started? This would be a test that occurs after you verify that che server <--> ws agent have connected. I ask this because the error and hint message for this error condition is about providing CHE_DOCKER_IP_EXTERNAL which is pretty essential.

  2. We'll need to do a matching set for Codenvy. The hints are different "there is no CHE_DOCKER_IP". Also, we would have codenvy.env not che.env.

Reword the sentences
add cli branding

Change-Id: I3c94ac165d2f74857807cf508547baa917e59b03
Signed-off-by: Florent BENOIT <[email protected]>
@codenvy-ci
Copy link

@@ -93,6 +93,10 @@ export class CheFooter {
if (supportHelpPath && supportHelpTitle) {
template += '<a class=\"che-footer-button-blue che-footer-button\" ng-href=\"' + supportHelpPath + '\" target=\"_blank\">' + supportHelpTitle + '<a/>';
}

// diagnostics
template += '<a class=\"che-footer-button-blue che-footer-button\" ng-href=\"#/diagnostic\">Diagnostics<a/>';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will be used in Codenvy as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ashumilova yes it will be used in Codenvy

@TylerJewell
Copy link

TylerJewell commented Feb 26, 2017

@benoitf - if you can get the content changes that I made in the original posting included, I believe that this is ready for merging.

@benoitf
Copy link
Contributor Author

benoitf commented Feb 26, 2017

@TylerJewell content change is already made I just forgot to notify

Copy link
Contributor

@slemeur slemeur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, added release note paragraph.

@bmicklea bmicklea self-requested a review February 27, 2017 07:57
@benoitf benoitf merged commit 0d728a8 into master Feb 27, 2017
@benoitf benoitf deleted the che#3748 branch February 27, 2017 09:57
@benoitf benoitf removed the status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. label Feb 27, 2017
@benoitf benoitf added this to the 5.4.0 milestone Feb 27, 2017
@JamesDrummond JamesDrummond mentioned this pull request Mar 8, 2017
9 tasks
JPinkney pushed a commit to JPinkney/che that referenced this pull request Aug 17, 2017
… or not (eclipse-che#4207)

* Add diagnostic page with ability to run diagnostic of workspace master / workspace agents

Change-Id: I535f8a9e5f8e344176319089e2afba0ba7acdefd
Signed-off-by: Florent BENOIT <[email protected]>
skabashnyuk pushed a commit that referenced this pull request Jan 3, 2020
… or not (#4207)

* Add diagnostic page with ability to run diagnostic of workspace master / workspace agents

Change-Id: I535f8a9e5f8e344176319089e2afba0ba7acdefd
Signed-off-by: Florent BENOIT <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants