Uploaded image for project: 'GPII - Global Public Inclusive Infrastructure'
  1. GPII - Global Public Inclusive Infrastructure
  2. GPII-4243

Deploy performant REST endpoint validation and remove context manager.

    XMLWordPrintable

    Details

    • Type: Deployment
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Do
    • Fix Version/s: None
    • Component/s: universal
    • Labels:
      None

      Description

      Overview

      This is a new ticket for the work originally discussed in GPII-4006 and earlier tickets, which covers adding validation to flow manager and preferences endpoints, and also reducing the memory required for validation under heavy load. In addition, the work to remove the context manager described in GPII-3117 is included.

      Information for OPs

      When is a good time for you and the Ops team to deploy this change?

      The QA deployment can happen whenever ops is ready, ideally on Monday, November 25th. There are no database changes or other migration steps required in order for QA to take place.

      The production deployment is contingent on the QA review. Once that is complete, we will agree as a team who needs to be on call and when to deploy. We should agree on a time for the deployment at least a day ahead of time.

      How will you verify that your change is working correctly in production?

      1. Find the node of a preferences pod using the web interface.
      2. Attach to the node using a command like:
        rake sh["kubectl --namespace gpii exec preferences-899b5bbf-xswr7 -it -- sh"]
      3. Attempt a valid prefs GET using a command like:
        curl http://localhost:8081/preferences/jaws
      4. You should see a prefs payload.
      5. Attempt an invalid prefs POST using a command like:
        curl -X POST -H "Content-Type: application/json" --data '{}' http://localhost:8081/preferences
      6. You should see a validation error like:
        "isError":true,"message":"Your request was invalid.  See the errors for details.","isValid":false, // trimmed ...

      What is the rollback plan if things don't go well?

      Submit a reversion pull against gpii-infra that references the previous version of the universal docker container.

      Information for QA

      This work does not change the UI at all. We are mainly concerned with side effects, i.e. verifying that reading and writing settings works as expected.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              the-t-in-rtf Tony Atkins
              Reporter:
              the-t-in-rtf Tony Atkins
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: