Skip to content
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

Kubelet Volume Manager Wait For Attach Detach Controller and Backoff on Error #27567

Merged

Conversation

saad-ali
Copy link
Member

@saad-ali saad-ali commented Jun 16, 2016

@saad-ali saad-ali added the release-note-none Denotes a PR that doesn't merit a release note. label Jun 16, 2016
@saad-ali saad-ali self-assigned this Jun 16, 2016
@k8s-github-robot k8s-github-robot added kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jun 16, 2016
@erictune
Copy link
Member

How is this coming?

@saad-ali
Copy link
Member Author

How is this coming?

Should have the PR ready to review today. Code review will likely take at least til Monday.

@saad-ali saad-ali force-pushed the blockKubeletOnAttachController branch 4 times, most recently from 6338ccb to 53ee9b0 Compare June 17, 2016 20:17
@k8s-github-robot k8s-github-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jun 20, 2016
@saad-ali saad-ali force-pushed the blockKubeletOnAttachController branch from 40f4dcd to 4507256 Compare June 20, 2016 06:54
@saad-ali saad-ali assigned pmorie and unassigned saad-ali Jun 20, 2016
@saad-ali saad-ali added this to the v1.3 milestone Jun 20, 2016
@saad-ali saad-ali added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label Jun 20, 2016
@saad-ali saad-ali changed the title [WIP] Kubelet Volume Manager Should Wait For Attach Detach Controller Kubelet Volume Manager Wait For Attach Detach Controller and Backoff on Error Jun 20, 2016
@saad-ali saad-ali force-pushed the blockKubeletOnAttachController branch from 4507256 to 046db52 Compare June 20, 2016 07:39
@saad-ali
Copy link
Member Author

@caesarxuchao Could you please review the "Add patch status to Node internalclientset" commit.
@jingxu97 Will review the volume code.


// PatchStatus modifies the status of an existing node. It returns the copy of
// the node that the server returns, or an error.
func (c *nodes) PatchStatus(nodeName string, data []byte) (*api.Node, error) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, #27293 is adding a Patch method to all clients, but it's not 1.3, and doesn't support subresource yet.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code LGTM for 1.3. I'll refactor it when #27293 is merged.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks @caesarxuchao!

existingOp.operationPending = false

grm.operations[operationName] = existingOp
if *err != nil {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

err must be not nil here already, we can remove if

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Modify attach/detach controller to keep track of volumes to report
attached in Node VolumeToAttach status.

Modify kubelet volume manager to wait for volume to show up in Node
VolumeToAttach status.

Implement exponential backoff for errors in volume manager and attach
detach controller
@saad-ali
Copy link
Member Author

Thanks @jingxu97! Feedback addressed, PTAL

@saad-ali saad-ali force-pushed the blockKubeletOnAttachController branch from 046db52 to e716ddc Compare June 21, 2016 01:20
@k8s-bot
Copy link

k8s-bot commented Jun 21, 2016

GCE e2e build/test passed for commit e716ddc.

@jingxu97
Copy link
Contributor

LGTM

@jingxu97 jingxu97 added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 21, 2016
@k8s-github-robot
Copy link

@k8s-bot test this [submit-queue is verifying that this PR is safe to merge]

@k8s-bot
Copy link

k8s-bot commented Jun 21, 2016

GCE e2e build/test passed for commit e716ddc.

@k8s-github-robot
Copy link

Automatic merge from submit-queue

@k8s-github-robot k8s-github-robot merged commit ec51800 into kubernetes:master Jun 21, 2016
@saad-ali saad-ali deleted the blockKubeletOnAttachController branch August 15, 2016 22:17
dims pushed a commit to dims/kubernetes that referenced this pull request Feb 8, 2018
…hController

Automatic merge from submit-queue

Kubelet Volume Manager Wait For Attach Detach Controller and Backoff on Error

* Closes kubernetes#27483
  * Modified Attach/Detach controller to report `Node.Status.AttachedVolumes` on successful attach (unique volume name along with device path).
  * Modified Kubelet Volume Manager wait for Attach/Detach controller to report success before proceeding with attach.
* Closes kubernetes#27492
  * Implemented an exponential backoff mechanism for for volume manager and attach/detach controller to prevent operations (attach/detach/mount/unmount/wait for controller attach/etc) from executing back to back unchecked.
* Closes kubernetes#26679
  * Modified volume `Attacher.WaitForAttach()` methods to uses the device path reported by the Attach/Detach controller in `Node.Status.AttachedVolumes` instead of calling out to cloud providers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. release-note-none Denotes a PR that doesn't merit a release note. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants