-
Notifications
You must be signed in to change notification settings - Fork 241
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
disk: ModifyVolume #1252
base: master
Are you sure you want to change the base?
disk: ModifyVolume #1252
Conversation
Skipping CI for Draft Pull Request. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: huww98 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
We have no way to enable the feature gate on managed ACK cluster now. So do not enable external-storage tests for now. |
8b9da21
to
39be879
Compare
comparable | ||
} | ||
|
||
func V1[TReq requests.AcsRequest, TResp tResp](logger logr.Logger, f func(TReq) (TResp, error)) func(TReq) (TResp, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add some metrics here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but maybe with another layer of wrapper
} | ||
} else { | ||
// No error code, just log entire error | ||
attrs = append(attrs, "error", err) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I doubt there will be any other error types, better to add some warning logs here
comparable | ||
} | ||
|
||
func V1[TReq requests.AcsRequest, TResp tResp](logger logr.Logger, f func(TReq) (TResp, error)) func(TReq) (TResp, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does v2 version of sdk has a union interface?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, we will need a separate V2 wrapper.
a25c610
to
ac61709
Compare
bcf4323
to
f751cd6
Compare
A central place for all disks pending status changes (attaching/detaching). Waiter will poll disk status in batch and wake up the caller if the status has changed. The motivation is reducing OpenAPI call count, to avoid triggering throttling, thus improve system throughput. Also include a simple fallback waiter to support multi-tanent use-case. Shared disk support is best effort, since we cannot create new shared disks for test now. Note: We have observed that after AttachDisk returns, the status remains Available for a short period, so don't rely on disk.Status in pred.
should be reverted once we have a ecsClient that can refresh its credentials
and implementations for Disk and Snapshot
Extract request ID, Error code from response or error for logging. Transform the error for k8s event. - Do not include anything that changes at each request (e.g. RequestID) in error message, for better event aggregation. RequestID is still present in the log. - Support using errors.Is() for checking error code programmatically.
What type of PR is this?
/kind feature
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: