multus

package
v1.11.8 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2023 License: Apache-2.0 Imports: 17 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Logger

type Logger interface {
	Infof(format string, args ...interface{})
	Debugf(format string, args ...interface{})
	Warningf(format string, args ...interface{})
}

Logger defines the log types that this library will use for outputting status information to the user. Because this library may be called interactively by a user or programmatically by another application, we allow the calling application to make a very simple Logger type that will be compatible with this library.

type SimpleStderrLogger

type SimpleStderrLogger struct{}

func (*SimpleStderrLogger) Debugf

func (*SimpleStderrLogger) Debugf(format string, args ...interface{})

func (*SimpleStderrLogger) Infof

func (*SimpleStderrLogger) Infof(format string, args ...interface{})

func (*SimpleStderrLogger) Warningf

func (*SimpleStderrLogger) Warningf(format string, args ...interface{})

type ValidationTest

type ValidationTest struct {
	Clientset kubernetes.Interface

	// Namespace is the intended namespace where the validation test will be run. This is
	// recommended to be where the Rook-Ceph cluster will be installed.
	Namespace string

	// PublicNetwork is the name of the Network Attachment Definition (NAD) which will
	// be used for the Ceph cluster's public network. This should be a namespaced name in the form
	// <namespace>/<name> if the NAD is defined in a different namespace from the cluster namespace.
	PublicNetwork string

	// ClusterNetwork is the name of the Network Attachment Definition (NAD) which will
	// be used for the Ceph cluster's cluster network. This should be a namespaced name in the form
	// <namespace>/<name> if the NAD is defined in a different namespace from the cluster namespace.
	ClusterNetwork string

	// DaemonsPerNode is the number of Multus-connected validation daemons that will run as part of
	// the test. This should be set to the largest number of Ceph daemons that may run on a node in
	// the worst case. Remember to consider failure cases where nodes or availability zones are
	// offline and their workloads must be rescheduled.
	DaemonsPerNode int

	// ResourceTimeout is the time to wait for resources to change to the expected state. For
	// example, for the test web server to start, for test clients to become ready, or for test
	// resources to be deleted. At longest, this may need to reflect the time it takes for client
	// pods to to pull images, get address assignments, and then for each client to determine that
	// its network connection is stable.
	//
	// This should be at least 1 minute. 2 minutes or more is recommended.
	ResourceTimeout time.Duration

	// Logger an instance of the basic log implementation used by this library.
	Logger Logger

	//NginxImage is the Nginx image which will be used for the web server and clients.
	NginxImage string
}

A Multus ValidationTest runs a number of Multus-connected pods to validate that a Kubernetes environment is suitable for Rook to run Ceph in.

func (*ValidationTest) CleanUp

CleanUp cleans up Multus validation test resources. It returns a suggestion for manual action if clean up was unsuccessful.

func (*ValidationTest) Run

Run the Multus validation test.

type ValidationTestResults

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

ValidationTestResults contains results from a validation test.

func (*ValidationTestResults) SuggestedDebuggingReport

func (vtr *ValidationTestResults) SuggestedDebuggingReport() string

Jump to

Keyboard shortcuts

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