Documentation
¶
Index ¶
- Constants
- func AWSClientFromEnvironment() (infrastructureProvisioner, bool)
- func ContainsOverrides(nodes provisionedNodes, sshKey string) error
- func CopyDir(src string, dst string) (err error)
- func CopyFile(src, dst string) (err error)
- func FailIfError(err error, message ...interface{})
- func FailIfSuccess(err error)
- func FileExists(path string) bool
- func GetSSHKeyFile() (string, error)
- func InstallDockerPackage(nodes provisionedNodes, distro linuxDistro, sshKey string)
- func InstallKismaticPackages(nodes provisionedNodes, distro linuxDistro, sshKey string, disconnected bool)
- func ItOnAWS(description string, f func(infrastructureProvisioner))
- func ItOnPacket(description string, f func(infrastructureProvisioner))
- func SubDescribe(name string) *subTest
- func ValidateKismaticMiniDenyPkgInstallation(node NodeDeets, sshUser, sshKey string) error
- func WaitUntilSSHOpen(publicIP, sshUser, sshKey string, timeout time.Duration) bool
- func WithInfrastructure(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, ...)
- func WithInfrastructureAndDNS(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, ...)
- func WithMiniInfrastructure(distro linuxDistro, provisioner infrastructureProvisioner, ...)
- func WithMiniInfrastructureAndBlockDevice(distro linuxDistro, provisioner infrastructureProvisioner, ...)
- type ClusterPlan
- type DNSRecord
- type NFSVolume
- type NodeCount
- type NodeDeets
- type NodePlan
- type PlanAWS
Constants ¶
const ( Ubuntu1604LTS = linuxDistro("ubuntu1604LTS") CentOS7 = linuxDistro("centos7") RedHat7 = linuxDistro("rhel7") AWSTargetRegion = "us-east-1" AWSSubnetID = "subnet-25e13d08" AWSKeyName = "kismatic-integration-testing" AWSSecurityGroupID = "sg-d1dc4dab" AWSHostedZoneID = "Z1U99XHRIRLO81" )
Variables ¶
This section is empty.
Functions ¶
func AWSClientFromEnvironment ¶
func AWSClientFromEnvironment() (infrastructureProvisioner, bool)
func ContainsOverrides ¶
func CopyDir ¶
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 ¶
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 FailIfError ¶
func FailIfError(err error, message ...interface{})
func FailIfSuccess ¶
func FailIfSuccess(err error)
func FileExists ¶
func GetSSHKeyFile ¶
func InstallDockerPackage ¶ added in v1.8.0
func InstallDockerPackage(nodes provisionedNodes, distro linuxDistro, sshKey string)
func InstallKismaticPackages ¶
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 SubDescribe ¶
func SubDescribe(name string) *subTest
SubDescribe allows you to define specifications inside another spec. We have found the need for this because Gingko does not support serializing a subset of tests when running in parallel. This means that we must define multiple specs inside a parent It() block. Use this when it is truly needed.
Example:
Describe("the foo service", func() { It("should be deployed successfully", func() { // some assertions here... sub := SubDescribe("should return 200", func() error { // call service and return error if not 200 }) }) })
func WaitUntilSSHOpen ¶
WaitUntilSSHOpen waits up to the given timeout for a successful SSH connection to the given node. If the connection is open, returns true. If the timeout is reached, returns false.
func WithInfrastructure ¶
func WithInfrastructure(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, f infraDependentTest)
WithInfrastructure runs the spec with the requested infrastructure
func WithInfrastructureAndDNS ¶
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.
func WithMiniInfrastructureAndBlockDevice ¶
func WithMiniInfrastructureAndBlockDevice(distro linuxDistro, provisioner infrastructureProvisioner, f miniInfraDependentTest)
WithMiniInfrastructureAndBlockDevice runs the spec with the requested infrastructure and an additiona block device The block will be under /dev/xvdb on AWS
Types ¶
type ClusterPlan ¶
type ClusterPlan struct { Cluster struct { Name string DisablePackageInstallation string `yaml:"disable_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 LoadBalancer string `yaml:"load_balancer"` } Worker struct { ExpectedCount int `yaml:"expected_count"` Nodes []NodePlan } Ingress struct { ExpectedCount int `yaml:"expected_count"` Nodes []NodePlan } Storage struct { ExpectedCount int `yaml:"expected_count"` Nodes []NodePlan } NFS struct { Volumes []NFSVolume `yaml:"nfs_volume"` } }
type PlanAWS ¶
type PlanAWS struct { Etcd []NodeDeets Master []NodeDeets Worker []NodeDeets Ingress []NodeDeets Storage []NodeDeets NFSVolume []NFSVolume LoadBalancer string SSHUser string SSHKeyFile string HomeDirectory string DisablePackageInstallation bool DisableDockerInstallation bool DisconnectedInstallation bool DockerRegistryServer string DockerRegistryCAPath string DockerRegistryUsername string DockerRegistryPassword string ModifyHostsFiles bool HTTPProxy string HTTPSProxy string NoProxy string DockerStorageDriver string ServiceCIDR string DisableCNI bool CNIProvider string DNSProvider string DisableHelm bool HeapsterReplicas int HeapsterInfluxdbPVC string CloudProvider string KubeAPIServerOptions map[string]string KubeControllerManagerOptions map[string]string KubeSchedulerOptions map[string]string KubeProxyOptions map[string]string KubeletOptions map[string]string }
func ValidateKismaticMini ¶
ValidateKismaticMini runs validation against a mini Kubernetes cluster