Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-2950

Investigate how to make the site more robust to back end CyVerse errors

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      1
    • Sprint:
      Fall 3 2021 Sep 13 - Sep 24, Fall 4 2021 Sep 27 - Oct 8, Fall 5 2021 Oct 11 - Oct 22

      Description

      Find the best ways to indicate to the user about errors that can be caused either by Cyverse APIs, Bioviz Connect, or user input especially when Cyverse is down or maintenance is underway

        Attachments

          Issue Links

            Activity

            aloraine Ann Loraine created issue -
            aloraine Ann Loraine made changes -
            Field Original Value New Value
            Epic Link IGBF-2376 [ 18533 ]
            aloraine Ann Loraine made changes -
            Link This issue relates to IGBF-2940 [ IGBF-2940 ]
            aloraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            aloraine Ann Loraine made changes -
            Story Points 1.5 1
            aloraine Ann Loraine made changes -
            Link This issue relates to IGBF-2951 [ IGBF-2951 ]
            karthik Karthik Raveendran made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            karthik Karthik Raveendran made changes -
            Assignee Karthik Raveendran [ karthik ]
            aloraine Ann Loraine made changes -
            Sprint Fall 3 2021 Sep 13 - Sep 24 [ 129 ] Fall 3 2021 Sep 13 - Sep 24, Fall 4 2021 Sep 27 - Oct 8 [ 129, 130 ]
            aloraine Ann Loraine made changes -
            Rank Ranked higher
            karthik Karthik Raveendran made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            karthik Karthik Raveendran made changes -
            Rank Ranked higher
            aloraine Ann Loraine made changes -
            Rank Ranked lower
            Hide
            nfreese Nowlan Freese added a comment -

            One idea would be to add some logic to bioviz.org/connect so that if the various CyVerse resources are down we prevent users from logging in. This could be accomplished using the webhooks available through https://status.cyverse.org/.

            Show
            nfreese Nowlan Freese added a comment - One idea would be to add some logic to bioviz.org/connect so that if the various CyVerse resources are down we prevent users from logging in. This could be accomplished using the webhooks available through https://status.cyverse.org/ .
            karthik Karthik Raveendran made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Hide
            karthik Karthik Raveendran added a comment - - edited

            The Webhooks in https://status.cyverse.org/ seems like a good solution for CAS login issues because they provide APIs specifically CAS status. However, they do not seem to have specific webhooks for Terrain API error status. In the Discovery Environment section, Cyverse has a status webhook for their website but I am not sure if it is for Terrain or Tapis(previously Agave). We could just subscribe to the CAS service status and redirect users to a "broken robot" page in case it is not operational.

            Note: Cyverse is using https://status.io/ infrastructure to run the webhooks.

            Show
            karthik Karthik Raveendran added a comment - - edited The Webhooks in https://status.cyverse.org/ seems like a good solution for CAS login issues because they provide APIs specifically CAS status. However, they do not seem to have specific webhooks for Terrain API error status. In the Discovery Environment section, Cyverse has a status webhook for their website but I am not sure if it is for Terrain or Tapis(previously Agave). We could just subscribe to the CAS service status and redirect users to a "broken robot" page in case it is not operational. Note: Cyverse is using https://status.io/ infrastructure to run the webhooks.
            Hide
            karthik Karthik Raveendran added a comment -

            To redirect users in case of an outage or an error in any of the Terrain APIs, we could create a "broken robot" error page to redirect users.

            1) Any errors caused due to access issues are caught in getSessionId function in views.py as the getAccessToken API is called from this function.
            2) Issues about user data are caught in getRootPathUser in views.py(or getUserDetails function in getUserDetail.py). This function is used to get the root path of the user's file directory and the only parameter passed here is the access token.

            Redirecting users to the error page upon receiving an error in these two functions makes a lot of sense to me because there is not a lot of mistakes that we, as developers, or the users can make in these API calls. So the errors could only most certainly come from Cyverse. Currently, we are handling only the authorization errors in these functions.

            Show
            karthik Karthik Raveendran added a comment - To redirect users in case of an outage or an error in any of the Terrain APIs, we could create a "broken robot" error page to redirect users. 1) Any errors caused due to access issues are caught in getSessionId function in views.py as the getAccessToken API is called from this function. 2) Issues about user data are caught in getRootPathUser in views.py(or getUserDetails function in getUserDetail.py). This function is used to get the root path of the user's file directory and the only parameter passed here is the access token. Redirecting users to the error page upon receiving an error in these two functions makes a lot of sense to me because there is not a lot of mistakes that we, as developers, or the users can make in these API calls. So the errors could only most certainly come from Cyverse. Currently, we are handling only the authorization errors in these functions.
            karthik Karthik Raveendran made changes -
            Description Find the best ways to indicate to the user about errors that can be caused either by Cyverse APIs, Bioviz Connect, or user input especially when Cyverse is down or maintenance is underway
            karthik Karthik Raveendran made changes -
            Assignee Karthik Raveendran [ karthik ]
            karthik Karthik Raveendran made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            karthik Karthik Raveendran made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            karthik Karthik Raveendran made changes -
            Status First Level Review in Progress [ 10301 ] Needs 1st Level Review [ 10005 ]
            karthik Karthik Raveendran made changes -
            Comment [ Submitted PR

            Added a try-except to catch NoneType errors that occur when accesstoken parameter is not present or if accesstoken is not active ]
            aloraine Ann Loraine made changes -
            Sprint Fall 3 2021 Sep 13 - Sep 24, Fall 4 2021 Sep 27 - Oct 8 [ 129, 130 ] Fall 3 2021 Sep 13 - Sep 24, Fall 4 2021 Sep 27 - Oct 8, Fall 5 2021 Oct 11 - Oct 22 [ 129, 130, 131 ]
            aloraine Ann Loraine made changes -
            Rank Ranked higher
            aloraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            aloraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            aloraine Ann Loraine made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            aloraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            aloraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            aloraine Ann Loraine made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            aloraine Ann Loraine made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            aloraine Ann Loraine made changes -
            Assignee Karthik Raveendran [ karthik ]
            karthik Karthik Raveendran made changes -
            Link This issue is blocked by IGBF-2982 [ IGBF-2982 ]

              People

              • Assignee:
                karthik Karthik Raveendran
                Reporter:
                aloraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: