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
}
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 ¶
func (vt *ValidationTest) CleanUp(ctx context.Context) (*ValidationTestResults, error)
CleanUp cleans up Multus validation test resources. It returns a suggestion for manual action if clean up was unsuccessful.
func (*ValidationTest) Run ¶
func (vt *ValidationTest) Run(ctx context.Context) (*ValidationTestResults, error)
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