Documentation
¶
Index ¶
- Constants
- func CorrelateDaemonSet(ds *appsv1.DaemonSet, nodePool *hyperv1.NodePool, dsName string)
- func CreateCluster(t *testing.T, ctx context.Context, client crclient.Client, ...) *hyperv1.HostedCluster
- func DeleteNamespace(t *testing.T, ctx context.Context, client crclient.Client, namespace string) error
- func EnsureAPIBudget(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func EnsureAllContainersHavePullPolicyIfNotPresent(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func EnsureAllRoutesUseHCPRouter(t *testing.T, ctx context.Context, hostClient crclient.Client, ...)
- func EnsureHCPContainersHaveResourceRequests(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func EnsureMachineDeploymentGeneration(t *testing.T, ctx context.Context, hostClient crclient.Client, ...)
- func EnsureNoCrashingPods(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func EnsureNoPodsWithTooHighPriority(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func EnsureNodeCommunication(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func EnsureNodeCountMatchesNodePoolReplicas(t *testing.T, ctx context.Context, hostClient, guestClient crclient.Client, ...)
- func EnsureSecretEncryptedUsingKMS(t *testing.T, ctx context.Context, hostedCluster *hyperv1.HostedCluster, ...)
- func GetClient() (crclient.Client, error)
- func GetConfig() (*rest.Config, error)
- func GetKMSKeyArn(awsCreds, awsRegion string) (*string, error)
- func NewLogr(t *testing.T) logr.Logger
- func NoticePreemptionOrFailedScheduling(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func WaitForConditionsOnHostedControlPlane(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func WaitForGuestClient(t *testing.T, ctx context.Context, client crclient.Client, ...) crclient.Client
- func WaitForGuestKubeConfig(t *testing.T, ctx context.Context, client crclient.Client, ...) ([]byte, error)
- func WaitForImageRollout(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func WaitForNReadyNodes(t *testing.T, ctx context.Context, client crclient.Client, n int32, ...) []corev1.Node
- func WaitForNReadyNodesByNodePool(t *testing.T, ctx context.Context, client crclient.Client, n int32, ...) []corev1.Node
- func WaitForNodePoolConditionsNotToBePresent(t *testing.T, ctx context.Context, client crclient.Client, ...)
- func WaitForNodePoolVersion(t *testing.T, ctx context.Context, client crclient.Client, ...)
- type DefaultRemoteExecutor
- type NameGenerator
- type PodExecOptions
- type RemoteExecutor
- type StreamOptions
Constants ¶
const (
KMS_KEY_ALIAS = "alias/hypershift-ci"
)
Variables ¶
This section is empty.
Functions ¶
func CorrelateDaemonSet ¶
func CreateCluster ¶
func CreateCluster(t *testing.T, ctx context.Context, client crclient.Client, opts *core.CreateOptions, platform hyperv1.PlatformType, artifactDir string) *hyperv1.HostedCluster
CreateCluster creates a new namespace and a HostedCluster in that namespace using the provided options.
CreateCluster will install a teardown handler into the provided test T by calling T.Cleanup() with a function that destroys the cluster. This function will block until teardown completes. No explicit cluster cleanup logic is expected of the caller. Note that the teardown function explicitly ignores interruption and tries forever to do its work, the rationale being that we should do everything with can to release external resources with whatever time we have before being forcibly terminated.
This function is intended (for now) to be the preferred default way of creating a hosted cluster during a test.
func DeleteNamespace ¶
func DeleteNamespace(t *testing.T, ctx context.Context, client crclient.Client, namespace string) error
DeleteNamespace deletes and finalizes the given namespace, logging any failures along the way.
func EnsureAPIBudget ¶
func EnsureNoCrashingPods ¶
func EnsureNodeCommunication ¶
func GetKMSKeyArn ¶
func WaitForGuestClient ¶
func WaitForGuestKubeConfig ¶
func WaitForImageRollout ¶
func WaitForNReadyNodes ¶
func WaitForNodePoolConditionsNotToBePresent ¶
func WaitForNodePoolConditionsNotToBePresent(t *testing.T, ctx context.Context, client crclient.Client, nodePool *hyperv1.NodePool, conditions ...string)
WaitForNodePoolConditionsNotToBePresent blocks until the given conditions are not present in the NodePool.
func WaitForNodePoolVersion ¶
func WaitForNodePoolVersion(t *testing.T, ctx context.Context, client crclient.Client, nodePool *hyperv1.NodePool, version string)
WaitForNodePoolVersion blocks until the NodePool status indicates the given version. If the context is closed before the version is observed, the given test will get an error.
Types ¶
type DefaultRemoteExecutor ¶
type DefaultRemoteExecutor struct{}
DefaultRemoteExecutor is the standard implementation of remote command execution
type NameGenerator ¶
type NameGenerator interface {
// GenerateName generates a valid name from the base name, adding a random suffix to the
// the base. If base is valid, the returned name must also be valid. The generator is
// responsible for knowing the maximum valid name length.
GenerateName(base string) string
}
NameGenerator generates names for objects. Some backends may have more information available to guide selection of new names and this interface hides those details.
var SimpleNameGenerator NameGenerator = simpleNameGenerator{}
SimpleNameGenerator is a generator that returns the name plus a random suffix of five alphanumerics when a name is requested. The string is guaranteed to not exceed the length of a standard Kubernetes name (63 characters)
type PodExecOptions ¶
type PodExecOptions struct {
StreamOptions
Command []string
PodName string
Namespace string
ContainerName string
Executor RemoteExecutor
Config *restclient.Config
}
PodExecOptions declare the arguments accepted by the Exec command
func (*PodExecOptions) Run ¶
func (p *PodExecOptions) Run() error
Run executes a validated remote execution against a pod.
func (*PodExecOptions) Validate ¶
func (p *PodExecOptions) Validate() error
Validate checks that the provided exec options are specified.
type RemoteExecutor ¶
type RemoteExecutor interface {
Execute(method string, url *url.URL, config *restclient.Config, stdin io.Reader, stdout, stderr io.Writer, tty bool) error
}
RemoteExecutor defines the interface accepted by the Exec command - provided for test stubbing
type StreamOptions ¶
type StreamOptions struct {
Stdin bool
TTY bool
genericclioptions.IOStreams
}