kubernetes: k8s.io/kubernetes/test/e2e/framework/providers/gce Index | Files

package gce

import "k8s.io/kubernetes/test/e2e/framework/providers/gce"

Index

Package Files

firewall.go gce.go ingress.go recreate_node.go util.go

func ConstructFirewallForLBService Uses

func ConstructFirewallForLBService(svc *v1.Service, nodeTag string) *compute.Firewall

ConstructFirewallForLBService returns the expected GCE firewall rule for a loadbalancer type service

func ConstructHealthCheckFirewallForLBService Uses

func ConstructHealthCheckFirewallForLBService(clusterID string, svc *v1.Service, nodeTag string, isNodesHealthCheck bool) *compute.Firewall

ConstructHealthCheckFirewallForLBService returns the expected GCE firewall rule for a loadbalancer type service

func GcloudComputeResourceCreate Uses

func GcloudComputeResourceCreate(resource, name, project string, args ...string) error

GcloudComputeResourceCreate creates a compute resource with a name and arguments.

func GcloudComputeResourceDelete Uses

func GcloudComputeResourceDelete(resource, name, project string, args ...string) error

GcloudComputeResourceDelete deletes the specified compute resource by name and project.

func GetClusterID Uses

func GetClusterID(c clientset.Interface) (string, error)

GetClusterID returns cluster ID

func GetClusterName Uses

func GetClusterName(instancePrefix string) string

GetClusterName returns the CLUSTER_NAME env we set for e2e cluster. From cluster/gce/config-test.sh, cluster name is set up using below format: CLUSTER_NAME="${CLUSTER_NAME:-${INSTANCE_PREFIX}}"

func GetE2eFirewalls Uses

func GetE2eFirewalls(masterName, masterTag, nodeTag, network, clusterIPRange string) []*compute.Firewall

GetE2eFirewalls returns all firewall rules we create for an e2e cluster. From cluster/gce/util.sh, all firewall rules should be consistent with the ones created by startup scripts.

func GetGCECloud Uses

func GetGCECloud() (*gcecloud.Cloud, error)

GetGCECloud returns GCE cloud provider

func GetInstancePrefix Uses

func GetInstancePrefix(masterName string) (string, error)

GetInstancePrefix returns the INSTANCE_PREFIX env we set for e2e cluster. From cluster/gce/config-test.sh, master name is set up using below format: MASTER_NAME="${INSTANCE_PREFIX}-master"

func GetInstanceTags Uses

func GetInstanceTags(cloudConfig framework.CloudConfig, instanceName string) *compute.Tags

GetInstanceTags gets tags from GCE instance with given name.

func IsGoogleAPIHTTPErrorCode Uses

func IsGoogleAPIHTTPErrorCode(err error, code int) bool

IsGoogleAPIHTTPErrorCode returns true if the error is a google api error matching the corresponding HTTP error code.

func MakeFirewallNameForLBService Uses

func MakeFirewallNameForLBService(name string) string

MakeFirewallNameForLBService return the expected firewall name for a LB service. This should match the formatting of makeFirewallName() in pkg/cloudprovider/providers/gce/gce_loadbalancer.go

func MakeHealthCheckFirewallNameForLBService Uses

func MakeHealthCheckFirewallNameForLBService(clusterID, name string, isNodesHealthCheck bool) string

MakeHealthCheckFirewallNameForLBService returns the firewall name used by the GCE load balancers for performing health checks.

func NewProvider Uses

func NewProvider(gceCloud *gcecloud.Cloud) framework.ProviderInterface

NewProvider returns a cloud provider interface for GCE

func PackProtocolsPortsFromFirewall Uses

func PackProtocolsPortsFromFirewall(alloweds []*compute.FirewallAllowed) []string

PackProtocolsPortsFromFirewall packs protocols and ports in an unified way for verification.

func RecreateNodes Uses

func RecreateNodes(c clientset.Interface, nodes []v1.Node) error

RecreateNodes recreates the given nodes in a managed instance group.

func SameStringArray Uses

func SameStringArray(result, expected []string, include bool) error

SameStringArray verifies whether two string arrays have the same strings, return error if not. Order does not matter. When `include` is set to true, verifies whether result includes all elements from expected.

func SetInstanceTags Uses

func SetInstanceTags(cloudConfig framework.CloudConfig, instanceName, zone string, tags []string) []string

SetInstanceTags sets tags on GCE instance with given name.

func VerifyFirewallRule Uses

func VerifyFirewallRule(res, exp *compute.Firewall, network string, portsSubset bool) error

VerifyFirewallRule verifies whether the result firewall is consistent with the expected firewall. When `portsSubset` is false, match given ports exactly. Otherwise, only check ports are included.

func WaitForFirewallRule Uses

func WaitForFirewallRule(gceCloud *gcecloud.Cloud, fwName string, exist bool, timeout time.Duration) (*compute.Firewall, error)

WaitForFirewallRule waits for the specified firewall existence

func WaitForNodeBootIdsToChange Uses

func WaitForNodeBootIdsToChange(c clientset.Interface, nodes []v1.Node, timeout time.Duration) error

WaitForNodeBootIdsToChange waits for the boot ids of the given nodes to change in order to verify the node has been recreated.

type IngressController Uses

type IngressController struct {
    Ns  string
    UID string

    Client clientset.Interface
    Cloud  framework.CloudConfig
    // contains filtered or unexported fields
}

IngressController manages implementation details of Ingress on GCE/GKE.

func (*IngressController) BackendServiceUsingIG Uses

func (cont *IngressController) BackendServiceUsingIG(svcPorts map[string]v1.ServicePort) error

BackendServiceUsingIG returns true only if all global backend service with matching svcPorts pointing to IG as backend

func (*IngressController) BackendServiceUsingNEG Uses

func (cont *IngressController) BackendServiceUsingNEG(svcPorts map[string]v1.ServicePort) error

BackendServiceUsingNEG returns true only if all global backend service with matching svcPorts pointing to NEG as backend

func (*IngressController) Cleanup Uses

func (cont *IngressController) Cleanup(del bool) error

Cleanup cleans up cloud resources. If del is false, it simply reports existing resources without deleting them. If dle is true, it deletes resources it finds acceptable (see canDelete func).

func (*IngressController) CleanupIngressController Uses

func (cont *IngressController) CleanupIngressController() error

CleanupIngressController calls cont.CleanupIngressControllerWithTimeout with hard-coded timeout

func (*IngressController) CleanupIngressControllerWithTimeout Uses

func (cont *IngressController) CleanupIngressControllerWithTimeout(timeout time.Duration) error

CleanupIngressControllerWithTimeout calls the IngressController.Cleanup(false) followed with deleting the static ip, and then a final IngressController.Cleanup(true)

func (*IngressController) CreateStaticIP Uses

func (cont *IngressController) CreateStaticIP(name string) string

CreateStaticIP allocates a random static ip with the given name. Returns a string representation of the ip. Caller is expected to manage cleanup of the ip by invoking deleteStaticIPs.

func (*IngressController) GetFirewallRule Uses

func (cont *IngressController) GetFirewallRule() *compute.Firewall

GetFirewallRule returns the firewall used by the IngressController. Causes a fatal error incase of an error. TODO: Rename this to GetFirewallRuleOrDie and similarly rename all other methods here to be consistent with rest of the code in this repo.

func (*IngressController) GetFirewallRuleName Uses

func (cont *IngressController) GetFirewallRuleName() string

GetFirewallRuleName returns the name of the firewall used for the IngressController.

func (*IngressController) GetFirewallRuleOrError Uses

func (cont *IngressController) GetFirewallRuleOrError() (*compute.Firewall, error)

GetFirewallRuleOrError returns the firewall used by the IngressController. Returns an error if that fails. TODO: Rename this to GetFirewallRule when the above method with that name is renamed.

func (*IngressController) GetGlobalAddress Uses

func (cont *IngressController) GetGlobalAddress(ipName string) *compute.Address

GetGlobalAddress returns the global address by name.

func (*IngressController) Init Uses

func (cont *IngressController) Init() error

Init initializes the IngressController with an UID

func (*IngressController) ListGlobalBackendServices Uses

func (cont *IngressController) ListGlobalBackendServices() []*compute.BackendService

ListGlobalBackendServices lists all global backend services

func (*IngressController) ListGlobalForwardingRules Uses

func (cont *IngressController) ListGlobalForwardingRules() []*compute.ForwardingRule

ListGlobalForwardingRules returns a list of global forwarding rules

func (*IngressController) ListInstanceGroups Uses

func (cont *IngressController) ListInstanceGroups() []*compute.InstanceGroup

ListInstanceGroups lists all instance groups

func (*IngressController) ListSslCertificates Uses

func (cont *IngressController) ListSslCertificates() []*compute.SslCertificate

ListSslCertificates lists all SSL certificates

func (*IngressController) ListTargetHTTPProxies Uses

func (cont *IngressController) ListTargetHTTPProxies() []*compute.TargetHttpProxy

ListTargetHTTPProxies lists all target HTTP proxies in the project

func (*IngressController) ListTargetHTTPSProxies Uses

func (cont *IngressController) ListTargetHTTPSProxies() []*compute.TargetHttpsProxy

ListTargetHTTPSProxies lists all target HTTPS proxies

func (*IngressController) ListURLMaps Uses

func (cont *IngressController) ListURLMaps() []*compute.UrlMap

ListURLMaps lists all URL maps

func (*IngressController) WaitForIgBackendService Uses

func (cont *IngressController) WaitForIgBackendService(svcPorts map[string]v1.ServicePort) error

WaitForIgBackendService returns true only if all global backend service with matching svcPorts pointing to IG as backend

func (*IngressController) WaitForNegBackendService Uses

func (cont *IngressController) WaitForNegBackendService(svcPorts map[string]v1.ServicePort) error

WaitForNegBackendService waits for the expected backend service to become

type Provider Uses

type Provider struct {
    framework.NullProvider
    // contains filtered or unexported fields
}

Provider is a structure to handle GCE clouds for e2e testing

func (*Provider) CleanupServiceResources Uses

func (p *Provider) CleanupServiceResources(c clientset.Interface, loadBalancerName, region, zone string)

CleanupServiceResources cleans up GCE Service Type=LoadBalancer resources with the given name. The name is usually the UUID of the Service prefixed with an alpha-numeric character ('a') to work around cloudprovider rules.

func (*Provider) CreatePD Uses

func (p *Provider) CreatePD(zone string) (string, error)

CreatePD creates a persistent volume

func (*Provider) CreatePVSource Uses

func (p *Provider) CreatePVSource(zone, diskName string) (*v1.PersistentVolumeSource, error)

CreatePVSource creates a persistent volume source

func (*Provider) DeleteNode Uses

func (p *Provider) DeleteNode(node *v1.Node) error

DeleteNode deletes a node which is specified as the argument

func (*Provider) DeletePD Uses

func (p *Provider) DeletePD(pdName string) error

DeletePD deletes a persistent volume

func (*Provider) DeletePVSource Uses

func (p *Provider) DeletePVSource(pvSource *v1.PersistentVolumeSource) error

DeletePVSource deletes a persistent volume source

func (*Provider) EnableAndDisableInternalLB Uses

func (p *Provider) EnableAndDisableInternalLB() (enable, disable func(svc *v1.Service))

EnableAndDisableInternalLB returns functions for both enabling and disabling internal Load Balancer

func (*Provider) EnsureLoadBalancerResourcesDeleted Uses

func (p *Provider) EnsureLoadBalancerResourcesDeleted(ip, portRange string) error

EnsureLoadBalancerResourcesDeleted ensures that cloud load balancer resources that were created

func (*Provider) GetGroupNodes Uses

func (p *Provider) GetGroupNodes(group string) ([]string, error)

GetGroupNodes returns a node name for the specified node group

func (*Provider) GroupSize Uses

func (p *Provider) GroupSize(group string) (int, error)

GroupSize returns the size of an instance group

func (*Provider) L4LoadBalancerSrcRanges Uses

func (p *Provider) L4LoadBalancerSrcRanges() []string

L4LoadBalancerSrcRanges contains the ranges of ips used by the GCE L4 load balancers for proxying client requests and performing health checks.

func (*Provider) ResizeGroup Uses

func (p *Provider) ResizeGroup(group string, size int32) error

ResizeGroup resizes an instance group

Package gce imports 29 packages (graph) and is imported by 128 packages. Updated 2019-11-09. Refresh now. Tools for package owners.