-
Notifications
You must be signed in to change notification settings - Fork 492
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
Update provisioning tests to retry on throttling #2411
Conversation
f644710
to
f6f1a09
Compare
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Do we need this for creating enrollment groups as well? Or do we not create enough of them to warrant adding retry to them? |
Right now, we don't create as many enrollment groups as we create individual enrollments. That said, I'm working on creating X509 based enrollment groups on-demand as well. With that change I'll be adding the retry policies to enrollment groups as well. |
43121ac
to
4b36d42
Compare
This reverts commit 4b36d42.
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
* refactor(e2e-tests): Update provisioning tests to retry on throttling (#2411) * refactor(e2e-tests): Update reprovisioning tests to retry on throttling * refactor(iot-device): Add additional logging statement to disposal flow (#2414) * fix(iot-device): Fix twin operations with Mqtt to retry on throttling (#2416) * Add documentation about HttpClient and socket exhaustion to service clients (#2423) Co-authored-by: Abhipsa Misra <[email protected]> Co-authored-by: brycewang-microsoft <[email protected]>
One of the biggest pain points while working on the feature for DPS client certs was our E2E test limitation of reusing the same enrollment entry for X509 certificate-based enrollments. Once I modified the tests to generate X509 certificate-based enrollments on-demand, our DPS infrastructure was unable to handle the volume of requests it was receiving from our E2E tests to create enrollments. As a result, most of our tests kept on getting throttled and would subsequently fail.
This PR adds retry logic for provisioning service client failures with error codes 429 (throttling) and 5xx (server errors).