bcgov / DITP

Digital Identity and Trust Program Repository
Apache License 2.0
0 stars 2 forks source link

Experiment with Load Test Generator in preparation for use with IDIM Issuer and a Verifier #74

Closed swcurran closed 6 months ago

swcurran commented 8 months ago

Experiment with the use of the [Load Test Generator]() that is coming via the recent Code With Us from Indicio.

Link to the load test generator repository: https://github.com/Indicio-tech/aries-akrida Link to videos describing using the load test generator: https://www.youtube.com/playlist?list=PL3LvHy3eIPsloLj7CZ-9zacG__WCkcmtn

  1. Familiarize yourself with the CWU, the load test generator repository/documentation, and the videos created.
  2. Initial task is to run the load test generator as locally as possible -- e.g. on a dev box with all of the components running locally: load test generator, mediator, issuer, verifier. Just follow the guidance in the repo and as needed, get help from the Indicio team.
  3. Next up, determine from the DITP SRE team from where to run the load test generator in the cloud -- e.g. AWS, Azure or whatever. Get access to such an environment and run a test with the load test generator running remotely and the components under test running locally -- e.g. on the local system or on OpenShift.
    • AFAIK -- the "default" configuration requires the load test generator access and use the issuer and verifier ACA-Py Admin interface to run the tests. That is OK for this exercise, but later we will want to do that a little differently.
  4. Plan for and spin up a minimal issuer of credentials controller and a verifier controller to use for testing -- ideally on OpenShift. Enable an HTTPS route into the controller that the Load Test Generator can use to trigger actions -- a connect/issue, a revoke/reissue, and a verify. Adjust (with the help of Indicio) how to use the Load Test Generator to do that. Ideally, use the dev or test DITP Mediator for the test. Nice to have -- rerun the test but with the Indicio Public Mediator. Check with the Indicio team on that.
  5. Collaborate with the IDIM Issuer team to define how the test will be run with the real Dev/SIT/QA (or whatever) IDIM issuer for the Person Credential, the DITP Mediator and a Dev Verifier. Identify the changes needed in the code to trigger the actions.
gurjmatharu commented 7 months ago

Just commenting some of my findings here:

Some overall notes the locust agent doesn't have very good error handling - ensure your setup is correct before going into the locust side.

gurjmatharu commented 6 months ago

Docs pushed here :point_right: https://github.com/bcgov/aries-load-generator/blob/locust-kt/locust-docs.md