INNER CODE UNIT · Go
PreStop
kubernetes-sigs/aws-ebs-csi-driver · cmd/hooks/prestop.go:58
func PreStop(clientset kubernetes.Interface) error {
klog.InfoS("PreStop: executing PreStop lifecycle hook")
nodeName := os.Getenv("CSI_NODE_NAME")
if nodeName == "" {
return errors.New("PreStop: CSI_NODE_NAME missing")
}
node, err := fetchNode(clientset, nodeName)
switch {
case k8serrors.IsNotFound(err):
klog.InfoS("PreStop: node does not exist - assuming this is a termination event, checking for remaining VolumeAttachments", "node", nodeName)
case err != nil:
return err
case !isNodeBeingDrained(node):
klog.InfoS("PreStop: node is not being drained, skipping VolumeAttachments check", "node", nodeName)
return nil
default: