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 ¶
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