Documentation

Index

Constants

View Source
const Name = "multipoint-plugin-example"

    Name is the name of the plug used in Registry and configurations.

    Variables

    This section is empty.

    Functions

    func New

      New initializes a new plugin and returns it.

      Types

      type MultipointExample

      type MultipointExample struct {
      	// contains filtered or unexported fields
      }

        MultipointExample is an example plugin that is executed at multiple extension points. This plugin is stateful. It receives arguments at initialization (NewMultipointPlugin) and changes its state when it is executed.

        func (*MultipointExample) Name

        func (mp *MultipointExample) Name() string

          Name returns name of the plugin. It is used in logs, etc.

          func (*MultipointExample) PreBind

          func (mp *MultipointExample) PreBind(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) *framework.Status

            PreBind is the function invoked by the framework at "prebind" extension point.

            func (*MultipointExample) Reserve

            func (mp *MultipointExample) Reserve(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) *framework.Status

              Reserve is the function invoked by the framework at "reserve" extension point. In this trivial example, the Reserve method allocates an array of strings.

              func (*MultipointExample) Unreserve

              func (mp *MultipointExample) Unreserve(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string)

                Unreserve is the function invoked by the framework when any error happens during "reserve" extension point or later. In this example, the Unreserve method loses its reference to the string slice, allowing it to be garbage collected, and thereby "unallocating" the reserved resources.

                Source Files