MCPcopy Index your code
hub / github.com/aws/aws-node-termination-handler / getDrainHelper

Function getDrainHelper

pkg/node/node.go:743–763  ·  view source on GitHub ↗
(nthConfig config.Config, clientset *kubernetes.Clientset)

Source from the content-addressed store, hash-verified

741}
742
743func getDrainHelper(nthConfig config.Config, clientset *kubernetes.Clientset) (*drain.Helper, error) {
744 drainHelper := &drain.Helper{
745 Ctx: context.TODO(),
746 Client: &kubernetes.Clientset{},
747 Force: true,
748 GracePeriodSeconds: nthConfig.PodTerminationGracePeriod,
749 IgnoreAllDaemonSets: nthConfig.IgnoreDaemonSets,
750 AdditionalFilters: []drain.PodFilter{filterPodForDeletion(nthConfig.PodName, nthConfig.PodNamespace)},
751 DeleteEmptyDirData: nthConfig.DeleteLocalData,
752 Timeout: time.Duration(nthConfig.NodeTerminationGracePeriod) * time.Second,
753 Out: &StdWriter{&ZerologWriter{logger: log.Logger}},
754 ErrOut: &ErrWriter{&ZerologWriter{logger: log.Logger}},
755 }
756
757 if nthConfig.DryRun {
758 return drainHelper, nil
759 }
760
761 drainHelper.Client = clientset
762 return drainHelper, nil
763}
764
765func jsonPatchEscape(value string) string {
766 value = strings.ReplaceAll(value, "~", "~0")

Callers 1

NewFunction · 0.70

Calls 1

filterPodForDeletionFunction · 0.85

Tested by

no test coverage detected