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

Consider caching the zone information for a datastore in vSphere #73955

Closed
subramanian-neelakantan opened this issue Feb 12, 2019 · 5 comments
Closed
Labels
area/provider/vmware Issues or PRs related to vmware provider kind/bug Categorizes issue or PR as related to a bug. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.

Comments

@subramanian-neelakantan
Copy link
Contributor

What happened:
When creating a PV with the vSphere Cloud Provider (VCP), the volume plugin invokes vCenter Tag APIs to figure out the zone information for the newly created Volume. This computation happens each time a Volume is created on a datastore. This is a moderately heavy computation with multiple Tag API calls to the vCenter. This is a change proposed in PR 72687 and PR 72731 that fixes the zone usage of a Volume in vSphere.

What you expected to happen:
Since the zone information does not change often, it would be good for VCP to cache this. This cache needs to be built such that it can be initialized and used by kube-controller as well as the api-server during admission control.

However, note that a change in the Tags applied in vCenter, or a change in vCenter topology, could invalidate this cache. This could demand a restart of these binaries to force rebuild this cache. So this change needs to be evaluated carefully.

Also, need to evaluate how much of a performance damage do the above PRs cause while creating a Volume. This issue should be based on whether the regression hurts, and whether there is a meaningful way to cache this information without stale entry invalidation.

How to reproduce it (as minimally and precisely as possible):
Create a PV with VCP configured in a k8s cluster. Note from the logs that both the kube-controller as well as api-server make several calls to VC in order to figure out the zone information for a datastore.

Environment:

  • Kubernetes version (use kubectl version): any
  • Cloud provider or hardware configuration: vsphere
@subramanian-neelakantan subramanian-neelakantan added the kind/bug Categorizes issue or PR as related to a bug. label Feb 12, 2019
@k8s-ci-robot k8s-ci-robot added the needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. label Feb 12, 2019
@subramanian-neelakantan
Copy link
Contributor Author

/sig vmware

@k8s-ci-robot k8s-ci-robot added area/provider/vmware Issues or PRs related to vmware provider and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Feb 12, 2019
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 13, 2019
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jun 12, 2019
@fejta-bot
Copy link

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@k8s-ci-robot
Copy link
Contributor

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/provider/vmware Issues or PRs related to vmware provider kind/bug Categorizes issue or PR as related to a bug. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Projects
None yet
Development

No branches or pull requests

3 participants