hcloud

package
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2024 License: Apache-2.0 Imports: 29 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunLoadBalancerTests

func RunLoadBalancerTests(t *testing.T, tests []LoadBalancerTestCase)

Types

type LoadBalancerOps

type LoadBalancerOps interface {
	GetByName(ctx context.Context, name string) (*hcloud.LoadBalancer, error)
	GetByID(ctx context.Context, id int64) (*hcloud.LoadBalancer, error)
	GetByK8SServiceUID(ctx context.Context, svc *corev1.Service) (*hcloud.LoadBalancer, error)
	Create(ctx context.Context, lbName string, service *corev1.Service) (*hcloud.LoadBalancer, error)
	Delete(ctx context.Context, lb *hcloud.LoadBalancer) error
	ReconcileHCLB(ctx context.Context, lb *hcloud.LoadBalancer, svc *corev1.Service) (bool, error)
	ReconcileHCLBTargets(ctx context.Context, lb *hcloud.LoadBalancer, svc *corev1.Service, nodes []*corev1.Node) (bool, error)
	ReconcileHCLBServices(ctx context.Context, lb *hcloud.LoadBalancer, svc *corev1.Service) (bool, error)
}

LoadBalancerOps defines the Load Balancer related operations required by the hcloud-cloud-controller-manager.

type LoadBalancerTestCase

type LoadBalancerTestCase struct {
	Name string

	// Defined in test case as needed
	ClusterName                  string
	NetworkID                    int
	ServiceUID                   string
	ServiceAnnotations           map[annotation.Name]interface{}
	DisablePrivateIngressDefault bool
	DisableIPv6Default           bool
	Nodes                        []*corev1.Node
	LB                           *hcloud.LoadBalancer
	LBCreateResult               *hcloud.LoadBalancerCreateResult
	Mock                         func(t *testing.T, tt *LoadBalancerTestCase)

	// Defines the actual test
	Perform func(t *testing.T, tt *LoadBalancerTestCase)

	Ctx context.Context // Set to context.Background by run if not defined in test

	// Set by run
	LBOps         *hcops.MockLoadBalancerOps
	LBClient      *mocks.LoadBalancerClient
	LoadBalancers *loadBalancers
	Service       *corev1.Service
}

Jump to

Keyboard shortcuts

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