common

package
v0.31.1 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Mesos is the string constant for MESOS orchestrator type
	Mesos string = "Mesos"
	// DCOS is the string constant for DCOS orchestrator type and defaults to DCOS188
	DCOS string = "DCOS"
	// Swarm is the string constant for the Swarm orchestrator type
	Swarm string = "Swarm"
	// Kubernetes is the string constant for the Kubernetes orchestrator type
	Kubernetes string = "Kubernetes"
	// SwarmMode is the string constant for the Swarm Mode orchestrator type
	SwarmMode string = "SwarmMode"
)

the orchestrators supported

View Source
const (
	// MinAgentCount are the minimum number of agents per agent pool
	MinAgentCount = 1
	// MaxAgentCount are the maximum number of agents per agent pool
	MaxAgentCount = 100
	// MinPort specifies the minimum tcp port to open
	MinPort = 1
	// MaxPort specifies the maximum tcp port to open
	MaxPort = 65535
	// MaxDisks specifies the maximum attached disks to add to the cluster
	MaxDisks = 4
	// MinDiskSizeGB specifies the minimum attached disk size
	MinDiskSizeGB = 1
	// MaxDiskSizeGB specifies the maximum attached disk size
	MaxDiskSizeGB = 1023
	// MinIPAddressCount specifies the minimum number of IP addresses per network interface
	MinIPAddressCount = 1
	// MaxIPAddressCount specifies the maximum number of IP addresses per network interface
	MaxIPAddressCount = 256
	// address relative to the first consecutive Kubernetes static IP
	DefaultInternalLbStaticIPOffset = 10
)

validation values

View Source
const (
	// AvailabilitySet means that the vms are in an availability set
	AvailabilitySet = "AvailabilitySet"
	// VirtualMachineScaleSets means that the vms are in a virtual machine scaleset
	VirtualMachineScaleSets = "VirtualMachineScaleSets"
)

Availability profiles

View Source
const (
	// StorageAccount means that the nodes use raw storage accounts for their os and attached volumes
	StorageAccount = "StorageAccount"
	// ManagedDisks means that the nodes use managed disks for their os and attached volumes
	ManagedDisks = "ManagedDisks"
)

storage profiles

View Source
const (
	// KubernetesDefaultRelease is the default Kubernetes release
	KubernetesDefaultRelease string = "1.10"
	// KubernetesDefaultReleaseWindows is the default Kubernetes release
	KubernetesDefaultReleaseWindows string = "1.9"
)
View Source
const (
	// DCOSVersion1Dot11Dot2 is the major.minor.patch string for 1.11.0 versions of DCOS
	DCOSVersion1Dot11Dot2 string = "1.11.2"
	// DCOSVersion1Dot11Dot0 is the major.minor.patch string for 1.11.0 versions of DCOS
	DCOSVersion1Dot11Dot0 string = "1.11.0"
	// DCOSVersion1Dot10Dot0 is the major.minor.patch string for 1.10.0 versions of DCOS
	DCOSVersion1Dot10Dot0 string = "1.10.0"
	// DCOSVersion1Dot9Dot0 is the major.minor.patch string for 1.9.0 versions of DCOS
	DCOSVersion1Dot9Dot0 string = "1.9.0"
	// DCOSVersion1Dot9Dot8 is the major.minor.patch string for 1.9.8 versions of DCOS
	DCOSVersion1Dot9Dot8 string = "1.9.8"
	// DCOSVersion1Dot8Dot8 is the major.minor.patch string for 1.8.8 versions of DCOS
	DCOSVersion1Dot8Dot8 string = "1.8.8"
	// DCOSDefaultVersion is the default major.minor.patch version for DCOS
	DCOSDefaultVersion string = DCOSVersion1Dot11Dot0
)
View Source
const (
	// SwarmVersion is the Swarm orchestrator version
	SwarmVersion = "swarm:1.1.0"
	// DockerCEVersion is the DockerCE orchestrator version
	DockerCEVersion = "17.03.*"
)

Variables

AllDCOSSupportedVersions maintain a list of available dcos versions in aks-engine

View Source
var AllKubernetesSupportedVersions = map[string]bool{
	"1.6.6":          false,
	"1.6.9":          true,
	"1.6.11":         false,
	"1.6.12":         false,
	"1.6.13":         false,
	"1.7.0":          false,
	"1.7.1":          false,
	"1.7.2":          false,
	"1.7.4":          false,
	"1.7.5":          false,
	"1.7.7":          false,
	"1.7.9":          false,
	"1.7.10":         false,
	"1.7.12":         false,
	"1.7.13":         false,
	"1.7.14":         false,
	"1.7.15":         true,
	"1.7.16":         true,
	"1.8.0":          false,
	"1.8.1":          false,
	"1.8.2":          false,
	"1.8.4":          false,
	"1.8.6":          false,
	"1.8.7":          false,
	"1.8.8":          false,
	"1.8.9":          false,
	"1.8.10":         false,
	"1.8.11":         false,
	"1.8.12":         false,
	"1.8.13":         false,
	"1.8.14":         true,
	"1.8.15":         true,
	"1.9.0":          false,
	"1.9.1":          false,
	"1.9.2":          false,
	"1.9.3":          false,
	"1.9.4":          false,
	"1.9.5":          false,
	"1.9.6":          false,
	"1.9.7":          false,
	"1.9.8":          false,
	"1.9.9":          false,
	"1.9.10":         true,
	"1.9.11":         true,
	"1.10.0-beta.2":  false,
	"1.10.0-beta.4":  false,
	"1.10.0-rc.1":    false,
	"1.10.0":         false,
	"1.10.1":         false,
	"1.10.2":         false,
	"1.10.3":         false,
	"1.10.4":         false,
	"1.10.5":         false,
	"1.10.6":         false,
	"1.10.7":         false,
	"1.10.8":         false,
	"1.10.9":         false,
	"1.10.12":        true,
	"1.10.13":        true,
	"1.11.0-alpha.1": false,
	"1.11.0-alpha.2": false,
	"1.11.0-beta.1":  false,
	"1.11.0-beta.2":  false,
	"1.11.0-rc.1":    false,
	"1.11.0-rc.2":    false,
	"1.11.0-rc.3":    false,
	"1.11.0":         false,
	"1.11.1":         false,
	"1.11.2":         false,
	"1.11.3":         false,
	"1.11.4":         false,
	"1.11.5":         false,
	"1.11.6":         true,
	"1.11.7":         true,
	"1.12.0-alpha.1": false,
	"1.12.0-beta.0":  false,
	"1.12.0-beta.1":  false,
	"1.12.0-rc.1":    false,
	"1.12.0-rc.2":    false,
	"1.12.0":         false,
	"1.12.1":         false,
	"1.12.2":         false,
	"1.12.4":         true,
	"1.12.5":         true,
	"1.13.0-alpha.1": false,
	"1.13.0-alpha.2": false,
	"1.13.1":         false,
	"1.13.2":         true,
	"1.13.3":         true,
	"1.14.0-alpha.1": true,
}

AllKubernetesSupportedVersions is a whitelist map of all supported Kubernetes version strings The bool value indicates if creating new clusters with this version is allowed

View Source
var AllKubernetesWindowsSupportedVersions = getAllKubernetesWindowsSupportedVersionsMap()

AllKubernetesWindowsSupportedVersions maintain a set of available k8s Windows versions in aks-engine

Functions

func CidrFirstIP

func CidrFirstIP(cidr net.IP) net.IP

CidrFirstIP returns the first IP of the provided subnet.

func CidrStringFirstIP

func CidrStringFirstIP(ip string) (net.IP, error)

CidrStringFirstIP returns the first IP of the provided subnet string. Returns an error if the string cannot be parsed.

func GetAllSupportedDCOSVersions

func GetAllSupportedDCOSVersions() []string

GetAllSupportedDCOSVersions returns a slice of all supported DCOS versions.

func GetAllSupportedDockerCEVersions

func GetAllSupportedDockerCEVersions() []string

GetAllSupportedDockerCEVersions returns a slice of all supported Docker CE versions.

func GetAllSupportedKubernetesVersions

func GetAllSupportedKubernetesVersions(isUpdate, hasWindows bool) []string

GetAllSupportedKubernetesVersions returns a slice of all supported Kubernetes versions

func GetAllSupportedSwarmVersions

func GetAllSupportedSwarmVersions() []string

GetAllSupportedSwarmVersions returns a slice of all supported Swarm versions.

func GetDefaultKubernetesVersion

func GetDefaultKubernetesVersion(hasWindows bool) string

GetDefaultKubernetesVersion returns the default Kubernetes version, that is the latest patch of the default release

func GetLatestPatchVersion

func GetLatestPatchVersion(majorMinor string, versionsList []string) (version string)

GetLatestPatchVersion gets the most recent patch version from a list of semver versions given a major.minor string

func GetMaxVersion

func GetMaxVersion(versions []string, preRelease bool) string

GetMaxVersion gets the highest semver version preRelease=true means accept a pre-release version as a max value

func GetMinVersion

func GetMinVersion(versions []string, preRelease bool) string

GetMinVersion gets the lowest semver version preRelease=true means accept a pre-release version as a min value

func GetNSeriesVMCasesForTesting

func GetNSeriesVMCasesForTesting() []struct {
	VMSKU    string
	Expected bool
}

GetNSeriesVMCasesForTesting returns a struct w/ VM SKUs and whether or not we expect them to be nvidia-enabled

func GetSupportedKubernetesVersion

func GetSupportedKubernetesVersion(version string, hasWindows bool) string

GetSupportedKubernetesVersion verifies that a passed-in version string is supported, or returns a default version string if not

func GetSupportedVersions

func GetSupportedVersions(orchType string, isUpdate, hasWindows bool) (versions []string, defaultVersion string)

GetSupportedVersions get supported version list for a certain orchestrator

func GetVNETSubnetIDComponents

func GetVNETSubnetIDComponents(vnetSubnetID string) (string, string, string, string, error)

GetVNETSubnetIDComponents extract subscription, resourcegroup, vnetname, subnetname from the vnetSubnetID

func GetValidPatchVersion

func GetValidPatchVersion(orchType, orchVer string, isUpdate, hasWindows bool) string

GetValidPatchVersion gets the current valid patch version for the minor version of the passed in version

func GetVersionsBetween

func GetVersionsBetween(versions []string, versionMin, versionMax string, inclusive, preReleases bool) []string

GetVersionsBetween returns a list of versions between a min and max inclusive=true means that we test for equality on both bounds preReleases=true means that we include pre-release versions in the list

func GetVersionsGt

func GetVersionsGt(versions []string, version string, inclusive, preReleases bool) []string

GetVersionsGt returns a list of versions greater than a semver string given a list of versions inclusive=true means that we test for equality as well preReleases=true means that we include pre-release versions in the list

func GetVersionsLt

func GetVersionsLt(versions []string, version string, inclusive, preReleases bool) []string

GetVersionsLt returns a list of versions less than than a semver string given a list of versions inclusive=true means that we test for equality as well preReleases=true means that we include pre-release versions in the list

func HandleValidationErrors

func HandleValidationErrors(e validator.ValidationErrors) error

HandleValidationErrors is the helper function to catch validator.ValidationError based on Namespace of the error, and return customized error message.

func IP4BroadcastAddress

func IP4BroadcastAddress(n *net.IPNet) net.IP

IP4BroadcastAddress returns the broadcast address for the given IP subnet.

func IsKubernetesVersionGe

func IsKubernetesVersionGe(actualVersion, version string) bool

IsKubernetesVersionGe returns true if actualVersion is greater than or equal to version

func IsNvidiaEnabledSKU

func IsNvidiaEnabledSKU(vmSize string) bool

IsNvidiaEnabledSKU determines if an VM SKU has nvidia driver support

func IsSgxEnabledSKU added in v0.30.0

func IsSgxEnabledSKU(vmSize string) bool

IsSgxEnabledSKU determines if an VM SKU has SGX driver support

func IsSupportedKubernetesVersion

func IsSupportedKubernetesVersion(version string, isUpdate, hasWindows bool) bool

IsSupportedKubernetesVersion return true if the provided Kubernetes version is supported

func RationalizeReleaseAndVersion

func RationalizeReleaseAndVersion(orchType, orchRel, orchVer string, isUpdate, hasWindows bool) (version string)

RationalizeReleaseAndVersion return a version when it can be rationalized from the input, otherwise ""

func ValidateDNSPrefix

func ValidateDNSPrefix(dnsName string) error

ValidateDNSPrefix is a helper function to check that a DNS Prefix is valid

Types

This section is empty.

Jump to

Keyboard shortcuts

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