driver

package
v0.1.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2025 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DMRequest

type DMRequest struct {
	ComputeName string `json:"computeName"`

	// The name and namespace of the initiating workflow
	WorkflowName      string `json:"workflowName"`
	WorkflowNamespace string `json:"workflowNamespace"`
	// Source file or directory
	SourcePath string `json:"sourcePath"`
	// Destination file or directory
	DestinationPath string `json:"destinationPath"`
	// If True, the data movement command runs `/bin/true` rather than perform actual data movement
	Dryrun bool `json:"dryrun"`
	// Extra options to pass to `dcp` if present in the Data Movement command.
	DcpOptions string `json:"dcpOptions"`
	// If true, enable server-side logging of stdout when the command is successful. Failure output is always logged.
	LogStdout bool `json:"logStdout"`
	// If true, store stdout in DataMovementStatusResponse.Message when the command is successful. Failure output is always contained in the message.
	StoreStdout bool `json:"storeStdout"`
	// The number of slots specified in the MPI hostfile. A value of 0 disables the use of slots in
	// the hostfile. -1 will defer to the server side configuration.
	Slots int32 `json:"slots"`
	// The number of max_slots specified in the MPI hostfile. A value of 0 disables the use of
	// max_slots in the hostfile. -1 will defer to the server side configuration.
	MaxSlots int32 `json:"maxSlots"`
	// The name of the data movement configuration profile to use. The above parameters (e.g. slots,
	// logStdout) will override the settings defined by the profile. This profile must exist on the
	// server otherwise the data movement operation will be invalid. Empty will default to the
	// default profile.
	DMProfile string `json:"dmProfile"`
	// Extra options to pass to `mpirun` if present in the Data Movement command.
	MpirunOptions string `json:"mpirunOptions"`
}

DMRequest represents the content of one http request. This has a one-to-one relationship with a DriverRequest object.

func (*DMRequest) Validator

func (m *DMRequest) Validator() error

type Driver

type Driver struct {
	Client     client.Client
	Log        logr.Logger
	RabbitName string

	Mock      bool
	MockCount int
	// contains filtered or unexported fields
}

Driver will have only one instance per process, shared by all threads in the process.

type DriverRequest

type DriverRequest struct {
	Drvr *Driver
	// contains filtered or unexported fields
}

DriverRequest contains the information that is collected during the initial examination of a given http request. This has a one-to-one relationship with a DMRequest object.

func (*DriverRequest) CancelRequest

func (r *DriverRequest) CancelRequest(ctx context.Context, name string) error

func (*DriverRequest) Create

func (*DriverRequest) CreateMock

func (r *DriverRequest) CreateMock(ctx context.Context, dmreq DMRequest) (*nnfv1alpha5.NnfDataMovement, error)

func (*DriverRequest) Drive

func (*DriverRequest) DriveMock

func (r *DriverRequest) DriveMock(ctx context.Context, dmreq DMRequest, dm *nnfv1alpha5.NnfDataMovement) error

func (*DriverRequest) ListRequests

func (r *DriverRequest) ListRequests(ctx context.Context) ([]string, error)

type SrvrDataMovementRecord

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

Keep track of the context and its cancel function so that we can track and cancel data movement operations in progress. These objects are stored in the Driver.contexts map.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL