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

Deploy performant validation changes.



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



      In the previous deployment (GPII-3968), the performance of the preferences endpoint was not good enough to pass the existing smoke tests. The work to address these performance problems has now been merged and tested in my dev cloud.

      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. 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, Tony is the developer responsible, and is generally available (all times UTC+2):

      M: 9:30-17:00
      Tu: 9:30-14:30
      W: 9:30-19:00 (in meetings from 16:00, but available to chat)
      Th: 9:30-14:30
      F: 9:30-17:00

      We should agree on a time for the deployment at least a day ahead of time.

      Does the deployment require any special handling?

      We need to confirm whether the telegu dataset has already been purged from the production persistence layer. If not, how will that be done and by whom?

      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 considered with side effects, i.e. verifying that reading and writing settings works as expected.




            jhernandez Javier Hernández
            the-t-in-rtf Tony Atkins
            0 Vote for this issue
            2 Start watching this issue