Documentation ¶
Index ¶
- Constants
- Variables
- func CipherSuiteIds(names []string) []uint16
- func CipherSuiteNameMap() map[string]uint16
- func CreateContainer(name, image, verbosity, pullPolicy string) corev1.Container
- func CreateDeployment(name, matchKey, matchValue, serviceAccountName string, ...) *appsv1.Deployment
- func CreateOperatorDeployment(name, namespace, matchKey, matchValue, serviceAccount string, ...) *appsv1.Deployment
- func FilterNonScheduableResources(resourceList corev1.ResourceList) corev1.ResourceList
- func GetActiveAAQ(c client.Client) (*aaqv1alpha1.AAQ, error)
- func GetDeployment(c client.Client, deploymentName string, deploymentNS string) (*appsv1.Deployment, error)
- func GetNamespace() string
- func GetRecommendedInstallerLabelsFromCr(cr *aaqv1alpha1.AAQ) map[string]string
- func IgnoreRqErr(err string) string
- func MergeLabels(src, dest map[string]string) map[string]string
- func OnOpenshift() bool
- func PrintVersion()
- func SetRecommendedLabels(obj metav1.Object, installerLabels map[string]string, controllerName string)
- func SetupTLS(certManager certificate.Manager) *tls.Config
- func TLSVersion(version v1.TLSProtocolVersion) uint16
- func ToExternalPodOrError(obj k8sruntime.Object) (*corev1.Pod, error)
- func VerifyPodsWithOutSchedulingGates(aaqCli client2.AAQClient, podInformer cache.SharedIndexInformer, ...) (bool, error)
- type BucketingWorkQueue
Constants ¶
const ( // Default port that api listens on. DefaultPort = 8443 // Default address api listens on. DefaultHost = "0.0.0.0" DefaultAaqNs = "aaq" )
const ( // AAQLabel is the labe applied to all non operator resources AAQLabel = "aaq.kubevirt.io" // AAQPriorityClass is the priority class for all AAQ pods. AAQPriorityClass = "kubevirt-cluster-critical" // AppKubernetesManagedByLabel is the Kubernetes recommended managed-by label AppKubernetesManagedByLabel = "app.kubernetes.io/managed-by" // AppKubernetesComponentLabel is the Kubernetes recommended component label AppKubernetesComponentLabel = "app.kubernetes.io/component" // PrometheusLabelKey provides the label to indicate prometheus metrics are available in the pods. PrometheusLabelKey = "prometheus.aaq.kubevirt.io" // PrometheusLabelValue provides the label value which shouldn't be empty to avoid a prometheus WIP issue. PrometheusLabelValue = "true" // AppKubernetesPartOfLabel is the Kubernetes recommended part-of label AppKubernetesPartOfLabel = "app.kubernetes.io/part-of" // AppKubernetesVersionLabel is the Kubernetes recommended version label AppKubernetesVersionLabel = "app.kubernetes.io/version" // ControllerPodName is the label applied to aaq-controller resources ControllerPodName = "aaq-controller" // AaqServerPodName is the name of the server pods AaqServerPodName = "aaq-server" // ControllerServiceAccountName is the name of the AAQ controller service account ControllerServiceAccountName = ControllerPodName // InstallerPartOfLabel provides a constant to capture our env variable "INSTALLER_PART_OF_LABEL" InstallerPartOfLabel = "INSTALLER_PART_OF_LABEL" // InstallerVersionLabel provides a constant to capture our env variable "INSTALLER_VERSION_LABEL" InstallerVersionLabel = "INSTALLER_VERSION_LABEL" // IsOnOpenshift provides a constant to capture our env variable "IS_ON_OPENSHIFT" IsOnOpenshift = "IS_ON_OPENSHIFT" // EnableClusterQuota provides a constant to capture our env variable "ENABLE_CLUSTER_QUOTA" EnableClusterQuota = "ENABLE_CLUSTER_QUOTA" // VMICalculatorConfiguration provides a constant to capture our env variable "VMI_CALCULATOR_CONFIGURATION" //todo: should delete once sidecar container for custom evaluation is in VMICalculatorConfiguration = "VMI_CALCULATOR_CONFIGURATION" // TlsLabel provides a constant to capture our env variable "TLS" TlsLabel = "TLS" // ConfigMapName is the name of the aaq configmap that own aaq resources ConfigMapName = "aaq-config" OperatorServiceAccountName = "aaq-operator" AAQGate = "ApplicationAwareQuotaGate" ControllerResourceName = ControllerPodName SecretResourceName = "aaq-server-cert" AaqServerResourceName = "aaq-server" ControllerClusterRoleName = ControllerPodName DefaultLauncherConfig aaqv1alpha1.VmiCalcConfigName = aaqv1alpha1.VmiPodUsage LauncherConfig = "launcherConfig" SidecarEvaluatorsNumberFlag = "evaluators-sidecars" DefaultSidecarsEvaluatorsStartTimeout = 2 * time.Minute VolumeMountName = "sockets-dir" )
Variables ¶
var ResourceBuilder = utils.NewResourceBuilder(commonLabels, operatorLabels)
ResourceBuilder helps in creating k8s resources
Functions ¶
func CipherSuiteIds ¶
func CipherSuiteNameMap ¶
func CreateContainer ¶
CreateContainer creates container
func CreateDeployment ¶
func CreateDeployment(name, matchKey, matchValue, serviceAccountName string, imagePullSecrets []corev1.LocalObjectReference, replicas int32, infraNodePlacement *sdkapi.NodePlacement) *appsv1.Deployment
CreateDeployment creates deployment
func CreateOperatorDeployment ¶
func CreateOperatorDeployment(name, namespace, matchKey, matchValue, serviceAccount string, imagePullSecrets []corev1.LocalObjectReference, numReplicas int32) *appsv1.Deployment
CreateOperatorDeployment creates operator deployment
func FilterNonScheduableResources ¶
func FilterNonScheduableResources(resourceList corev1.ResourceList) corev1.ResourceList
func GetActiveAAQ ¶
func GetActiveAAQ(c client.Client) (*aaqv1alpha1.AAQ, error)
GetActiveAAQ returns the active AAQ CR
func GetDeployment ¶
func GetNamespace ¶
func GetNamespace() string
GetNamespace returns the namespace the pod is executing in
func GetRecommendedInstallerLabelsFromCr ¶
func GetRecommendedInstallerLabelsFromCr(cr *aaqv1alpha1.AAQ) map[string]string
GetRecommendedInstallerLabelsFromCr returns the recommended labels to set on AAQ resources
func IgnoreRqErr ¶ added in v1.1.5
func MergeLabels ¶
MergeLabels adds source labels to destination (does not change existing ones)
func OnOpenshift ¶
func OnOpenshift() bool
func PrintVersion ¶
func PrintVersion()
func SetRecommendedLabels ¶
func SetRecommendedLabels(obj metav1.Object, installerLabels map[string]string, controllerName string)
SetRecommendedLabels sets the recommended labels on AAQ resources (does not get rid of existing ones)
func TLSVersion ¶
func TLSVersion(version v1.TLSProtocolVersion) uint16
TLSVersion converts from human-readable TLS version (for example "1.1") to the values accepted by tls.Config (for example 0x301).
func ToExternalPodOrError ¶
func ToExternalPodOrError(obj k8sruntime.Object) (*corev1.Pod, error)
todo: ask kubernetes to make this funcs global and remove all this code:
func VerifyPodsWithOutSchedulingGates ¶
func VerifyPodsWithOutSchedulingGates(aaqCli client2.AAQClient, podInformer cache.SharedIndexInformer, namespace string, podNames []string) (bool, error)
VerifyPodsWithOutSchedulingGates checks that all pods in the specified namespace with the specified names do not have scheduling gates.
Types ¶
type BucketingWorkQueue ¶
type BucketingWorkQueue interface { AddWithData(key interface{}, data ...interface{}) AddWithDataRateLimited(key interface{}, data ...interface{}) GetWithData() (key interface{}, data []interface{}, quit bool) Done(key interface{}) Forget(key interface{}) ShutDown() }
BucketingWorkQueue gives a way to add items related to a single entry in a work queue this allows you work on a set of related work in a single UOW-style way
func NewBucketingWorkQueue ¶
func NewBucketingWorkQueue(name string) BucketingWorkQueue
Directories ¶
Path | Synopsis |
---|---|
net
|
|
generated
Package aaq_sidecar_evaluate is a generated protocol buffer package.
|
Package aaq_sidecar_evaluate is a generated protocol buffer package. |
grpc
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
|
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. |