Documentation
¶
Index ¶
- type Coordinator
- func (co *Coordinator) CollectArtifacts() error
- func (co *Coordinator) CollectExecutionResults() error
- func (co *Coordinator) CollectLogs() error
- func (co *Coordinator) GetExitCodes(selectors ...common.ContainerSelector) (map[string]int32, error)
- func (co *Coordinator) MarkLogEOF() error
- func (co *Coordinator) NotifyResolvers() error
- func (co *Coordinator) StageSuccess() bool
- func (co *Coordinator) WaitAllOthersTerminate() error
- func (co *Coordinator) WaitRunning() error
- func (co *Coordinator) WaitWorkloadTerminate() error
- func (co *Coordinator) WorkLoadSuccess() bool
- type RuntimeExecutor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Coordinator ¶
type Coordinator struct {
// Stage related to this pod.
Stage *v1alpha1.Stage
// Wfr represents the WorkflowRun which triggered this pod.
Wfr *v1alpha1.WorkflowRun
// OutputResources represents output resources the related stage configured.
OutputResources []*v1alpha1.Resource
// contains filtered or unexported fields
}
Coordinator is a struct which contains infomations will be used in workflow sidecar named coordinator.
func NewCoordinator ¶
NewCoordinator create a coordinator instance.
func (*Coordinator) CollectArtifacts ¶
func (co *Coordinator) CollectArtifacts() error
CollectArtifacts collects workload artifacts.
func (*Coordinator) CollectExecutionResults ¶ added in v0.9.6
func (co *Coordinator) CollectExecutionResults() error
CollectExecutionResults collects execution results (key-values) and store them in pod's annotation
func (*Coordinator) CollectLogs ¶
func (co *Coordinator) CollectLogs() error
CollectLogs collects all containers' logs.
func (*Coordinator) GetExitCodes ¶
func (co *Coordinator) GetExitCodes(selectors ...common.ContainerSelector) (map[string]int32, error)
GetExitCodes gets exit codes of containers passed the selector
func (*Coordinator) MarkLogEOF ¶ added in v0.9.8
func (co *Coordinator) MarkLogEOF() error
MarkLogEOF marks end of stage logs.
func (*Coordinator) NotifyResolvers ¶
func (co *Coordinator) NotifyResolvers() error
NotifyResolvers create a file to notify output resolvers to start working.
func (*Coordinator) StageSuccess ¶
func (co *Coordinator) StageSuccess() bool
StageSuccess checks if the workload and resolver containers are succeeded.
func (*Coordinator) WaitAllOthersTerminate ¶
func (co *Coordinator) WaitAllOthersTerminate() error
WaitAllOthersTerminate waits all containers except for the coordinator container itself to become Terminated status.
func (*Coordinator) WaitRunning ¶
func (co *Coordinator) WaitRunning() error
WaitRunning waits all containers to start run.
func (*Coordinator) WaitWorkloadTerminate ¶
func (co *Coordinator) WaitWorkloadTerminate() error
WaitWorkloadTerminate waits all workload containers to be Terminated status.
func (*Coordinator) WorkLoadSuccess ¶
func (co *Coordinator) WorkLoadSuccess() bool
WorkLoadSuccess checks if the workload containers are succeeded.
type RuntimeExecutor ¶
type RuntimeExecutor interface {
// WaitContainers waits selected containers to state.
WaitContainers(state common.ContainerState, selectors ...common.ContainerSelector) error
// CollectLog collects container logs to cyclone server.
CollectLog(container, wrorkflowrun, stage string, close <-chan struct{}) error
// MarkLogEOF marks end of stage logs.
MarkLogEOF(workflowrun, stage string, close <-chan struct{}) error
// CopyFromContainer copy a file or directory from container:path to dst.
CopyFromContainer(container, path, dst string) error
// GetPod get the stage related pod.
GetPod() (*core_v1.Pod, error)
// SetResults set results (key-values) to the pod, workflow controller would sync this result
// to WorkflowRun status.
SetResults(values []v1alpha1.KeyValue) error
}
RuntimeExecutor is an interface defined some methods to communicate with k8s container runtime.