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:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…