Change:
In , we a Persistent Volume Controller with existing code that runs in cloud-controller-manager In , we cleaned up dependencies for AWS/GCE for the new controller Next steps, [x] Deprecate the PersistentVolumeLabel admission controller [ ] Remove the PersistentVolumeLabel admission controller once GCE and AWS can run as external cloud controller
/sig cluster-lifecycle
cc
/reopen
Changed the timeline for this to v1.10, sounds good as an initial plan?
/area platform/gce /sig gcp
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
/unassign
adding kind/cleanup to this issue so that it can stay in 1.10. Please update the kind if that is incorrect. kind cleanup
/remove-lifecycle stale /lifecycle frozen is working on running the cloud controller in gce, but it's not there yet, so we shouldn't remove the PV label admission controller yet.
and should we drop the v1.10 milestone then for this issue?
reminder: this feature will be automatically dropped from 1.10 at Code Freeze tonight.
[MILESTONENOTIFIER] Milestone Removed From Issue Important: This issue was missing labels required for the v1.10 milestone for more than 3 days: kind: Must specify exactly one of , or . <details<summaryHelp</summary<ul<li<a href=""Additional instructions</a</li<li<a href=""Commands for setting labels</a</li</ul</details
PVL admission controller was set for deprecation in 1.8, in 1.11 we'll be turning it off by default, users can still enable it if they need it which seems to be the use for GCE.
^ I'm not 100% aware of the status of PVLs in AWS/GCE, this is just the deprecation plan we had in place a while back. If there are any known issues with doing this please let me know
As long as the admission controller is not removed from cluster/gce/config-, then GCE should continue to work.
/remove-sig cluster-lifecycle
/assign /triage accepted
is it time to try this again?
I don't think we're ready. There's no replacement for it in the cloud controllers. The initial attempt at replacement using initializers was abandoned. I think we should consider a replacement using an admission webhook. cc
Could I suggest we make this the primary topic in an upcoming meeting? Maybe April 22nd Cloud Provider Extraction WG meeting? Assuming and can make it?
Yes that sounds good.
What do we think the way forward looks like?
This issue is labeled with but has not been updated in over 90 days, and should be re-triaged. Important-soon issues must be staffed and worked on either currently, or very soon, ideally in time for the next release. You can: Confirm that this issue is still relevant with (org members only) Deprioritize it with or Close this issue with For more details on the triage process, see /remove-triage accepted
/remove-sig api-machinery Since sig cloud provider has taken care of this one. :)
do you know what the latest status is on this?
i saw this go by the other day, please see (search for )
xref:
!
For the record, replacement webhook:
Is this done now?
/close yes! deleted in
Closing this issue. <detailsIn response to : /close Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details

Discussion:
autoprovision.Register(plugins) exists.Register(plugins) noderestriction.Register(plugins) <del> label.Register(plugins) </del> <ins> label.Register(plugins) // DEPRECATED in favor of NewPersistentVolumeLabelController in CCM </ins> podnodeselector.Register(plugins) podpreset.Register(plugins) podtolerationrestriction.Register(plugins)

"//pkg/kubeapiserver/admission:go_default_library", "//pkg/kubelet/apis:go_default_library", "//pkg/volume:go_default_library", <ins> "//vendor/github.com/golang/glog:go_default_library", </ins> "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", ], )

"io" "sync" <ins> "github.com/golang/glog" </ins> "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/cloudprovider"

// // As a side effect, the cloud provider may block invalid or non-existent volumes. func NewPersistentVolumeLabel() *persistentVolumeLabel { <ins> // DEPRECATED: cloud-controller-manager will now start NewPersistentVolumeLabelController // which does exactly what this admission controller used to do. So once GCE and AWS can // run externally, we can remove this admission controller. glog.Warning("PersistentVolumeLabel admission controller is deprecated. " + "Please remove this controller from your configuration files and scripts.") </ins> return &persistentVolumeLabel{ Handler: admission.NewHandler(admission.Create), }