carvel-dev / kapp

kapp is a simple deployment tool focused on the concept of "Kubernetes application" β€” a set of resources with the same label
https://carvel.dev/kapp
Apache License 2.0
916 stars 109 forks source link

Use retry logic when `kapp deploy` encounters `client connection lost` #762

Open idoru opened 1 year ago

idoru commented 1 year ago

Describe the problem/challenge you have kapp deploy fails without retry on http2: client connection lost

Example from our CI environment which uses kapp deploy:

        | 3:45:49PM: ---- waiting on 6 changes [61/67 done] ----
3:46:49PM: Deploy failed 
        | E0607 15:46:48.669366      32 request.go:1058] Unexpected error when reading response body: http2: client connection lost
        | kapp: Error: waiting on reconcile packageinstall/bitnami-services (packaging.carvel.dev/v1alpha1) namespace: tap-install:
        |   Errored:
        |     Getting resource packageinstall/bitnami-services (packaging.carvel.dev/v1alpha1) namespace: tap-install:
        |       API server says: unexpected error when reading response body. Please retry. Original error: http2: client connection lost (reason: )
        | Deploying: Error (see .status.usefulErrorMessage for details)

Describe the solution you'd like Use retry logic when this sort of network error is encountered.

Anything else you would like to add: N/A


Vote on this request

This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.

πŸ‘ "I would like to see this addressed as soon as possible" πŸ‘Ž "There are other more important things to focus on right now"

We are also happy to receive and review Pull Requests if you want to help working on this issue.

100mik commented 1 year ago

We do have a set of errors we retry for, this would qualify as an addition if we are sure that we won't risk retrying in cases which we cannot recover from while matching to this error string