integration

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2016 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Ubuntu1604LTS = linuxDistro("ubuntu1604LTS")
	CentOS7       = linuxDistro("centos7")

	AWSTargetRegion     = "us-east-1"
	AWSSubnetID         = "subnet-25e13d08"
	AWSKeyName          = "kismatic-integration-testing"
	AWSSecurityGroupID  = "sg-d1dc4dab"
	AMIUbuntu1604USEAST = "ami-29f96d3e"
	AMICentos7UsEast    = "ami-6d1c2007"
	AWSHostedZoneID     = "Z1LNBHSE28OF08"
)

Variables

This section is empty.

Functions

func AWSClientFromEnvironment

func AWSClientFromEnvironment() (infrastructureProvisioner, bool)

func BlockUntilSSHOpen

func BlockUntilSSHOpen(publicIP, sshUser, sshKey string)

BlockUntilSSHOpen waits until the node with the given IP is accessible via SSH.

func CopyDir

func CopyDir(src string, dst string) (err error)

CopyDir recursively copies a directory tree, attempting to preserve permissions. Source directory must exist, destination directory must *not* exist. Symlinks are ignored and skipped.

func CopyFile

func CopyFile(src, dst string) (err error)

CopyFile copies the contents of the file named src to the file named by dst. The file will be created if it does not already exist. If the destination file exists, all it's contents will be replaced by the contents of the source file. The file mode will be copied from the source and the copied data is synced/flushed to stable storage.

func ExtractKismaticToTemp

func ExtractKismaticToTemp() (string, error)

func FailIfError

func FailIfError(err error, message ...string)

func FileExists

func FileExists(path string) bool

func GetSSHKeyFile

func GetSSHKeyFile() (string, error)

func InstallKismaticRPMs

func InstallKismaticRPMs(nodes provisionedNodes, distro linuxDistro, sshKey string)

func ItOnAWS

func ItOnAWS(description string, f func(infrastructureProvisioner))

ItOnAWS runs a spec if the AWS details have been provided

func ItOnPacket

func ItOnPacket(description string, f func(infrastructureProvisioner))

ItOnPacket runs a spec if the Packet.Net details have been provided

func ValidateKismaticMiniDenyPkgInstallation

func ValidateKismaticMiniDenyPkgInstallation(node NodeDeets, sshUser, sshKey string) error

func WithInfrastructure

func WithInfrastructure(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, f infraDependentTest)

WithInfrastructure runs the spec with the requested infrastructure

func WithInfrastructureAndDNS added in v1.0.1

func WithInfrastructureAndDNS(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, f infraDependentTest)

WithInfrastructureAndDNS runs the spec with the requested infrastructure and DNS

func WithMiniInfrastructure

func WithMiniInfrastructure(distro linuxDistro, provisioner infrastructureProvisioner, f miniInfraDependentTest)

WithMiniInfrastructure runs the spec with a Minikube-like infrastructure setup.

Types

type ClusterPlan

type ClusterPlan struct {
	Cluster struct {
		Name                     string
		AdminPassword            string `yaml:"admin_password"`
		AllowPackageInstallation string `yaml:"allow_package_installation"`
		Networking               struct {
			Type             string
			PodCIDRBlock     string `yaml:"pod_cidr_block"`
			ServiceCIDRBlock string `yaml:"service_cidr_block"`
		}
		Certificates struct {
			Expiry          string
			LocationCity    string `yaml:"location_city"`
			LocationState   string `yaml:"location_state"`
			LocationCountry string `yaml:"location_country"`
		}
		SSH struct {
			User string
			Key  string `yaml:"ssh_key"`
			Port int    `yaml:"ssh_port"`
		}
	}
	Etcd struct {
		ExpectedCount int `yaml:"expected_count"`
		Nodes         []NodePlan
	}
	Master struct {
		ExpectedCount         int `yaml:"expected_count"`
		Nodes                 []NodePlan
		LoadBalancedFQDN      string `yaml:"load_balanced_fqdn"`
		LoadBalancedShortName string `yaml:"load_balanced_short_name"`
	}
	Worker struct {
		ExpectedCount int `yaml:"expected_count"`
		Nodes         []NodePlan
	}
}

type DNSRecord added in v1.0.1

type DNSRecord struct {
	Name   string
	Values []string
}

type NodeCount

type NodeCount struct {
	Etcd   uint16
	Master uint16
	Worker uint16
}

func (NodeCount) Total

func (nc NodeCount) Total() uint16

type NodeDeets

type NodeDeets struct {
	Hostname  string
	PublicIP  string
	PrivateIP string
	SSHUser   string
	// contains filtered or unexported fields
}

type NodePlan

type NodePlan struct {
	// contains filtered or unexported fields
}

type PlanAWS

type PlanAWS struct {
	Etcd                         []NodeDeets
	Master                       []NodeDeets
	Worker                       []NodeDeets
	MasterNodeFQDN               string
	MasterNodeShortName          string
	SSHUser                      string
	SSHKeyFile                   string
	HomeDirectory                string
	AllowPackageInstallation     bool
	AutoConfiguredDockerRegistry bool
	DockerRegistryIP             string
	DockerRegistryPort           int
	DockerRegistryCAPath         string
}

func ValidateKismaticMini

func ValidateKismaticMini(node NodeDeets, user, sshKey string) PlanAWS

ValidateKismaticMini runs validation against a mini Kubernetes cluster

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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