components

package
v1.4.0-unstable Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2021 License: Apache-2.0 Imports: 24 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetCSVBase added in v1.0.0

func GetCSVBase(params *CSVBaseParams) *csvv1alpha1.ClusterServiceVersion

GetCSVBase returns a base HCO CSV without an InstallStrategy

func GetClusterPermissions added in v1.0.0

func GetClusterPermissions() []rbacv1.PolicyRule

func GetClusterRole

func GetClusterRole() rbacv1.ClusterRole

func GetClusterRoleBinding added in v1.0.0

func GetClusterRoleBinding(namespace string) rbacv1.ClusterRoleBinding

func GetDeploymentOperator added in v1.2.0

func GetDeploymentOperator(params *DeploymentOperatorParams) appsv1.Deployment

func GetDeploymentSpecOperator added in v1.2.0

func GetDeploymentSpecOperator(params *DeploymentOperatorParams) appsv1.DeploymentSpec

func GetDeploymentSpecWebhook added in v1.2.0

func GetDeploymentSpecWebhook(namespace, image, imagePullPolicy, hcoKvIoVersion string, env []corev1.EnvVar) appsv1.DeploymentSpec

Currently we are abusing the pod readiness to signal to OLM that HCO is not ready for an upgrade. This has a lot of side effects, one of this is the validating webhook being not able to receive traffic when exposed by a pod that is not reporting ready=true. This can cause a lot of side effects if not deadlocks when the system reach a status where, for any possible reason, HCO pod cannot be ready and so HCO pod cannot validate any further update or delete request on HCO CR. A proper solution is properly use the readiness probe only to report the pod readiness and communicate status to OLM via conditions once OLM will be ready for: https://github.com/operator-framework/enhancements/blob/master/enhancements/operator-conditions.md in the meanwhile a quick (but dirty!) solution is to expose the same hco binary on two distinct pods: the first one will run only the controller and the second one (almost always ready) just the validating webhook one. A deeper code refactor to produce two distinct binaries is not worth now because we are going to use OLM operator conditions soon. TODO: remove this once we will move to OLM operator conditions

func GetDeploymentWebhook added in v1.2.0

func GetDeploymentWebhook(namespace, image, imagePullPolicy, hcoKvIoVersion string, env []corev1.EnvVar) appsv1.Deployment

func GetInstallStrategyBase added in v1.0.0

func GetInstallStrategyBase(params *DeploymentOperatorParams) *csvv1alpha1.StrategyDetailsDeployment

GetInstallStrategyBase returns the basics of an HCO InstallStrategy

func GetOperatorCR added in v1.0.0

func GetOperatorCR() *hcov1beta1.HyperConverged

func GetOperatorCRD added in v1.0.0

func GetOperatorCRD(relPath string) *extv1.CustomResourceDefinition

func GetServiceAccount added in v1.0.0

func GetServiceAccount(namespace string) v1.ServiceAccount

func GetServiceWebhook added in v1.4.0

func GetServiceWebhook(namespace string) v1.Service

func GetV2VCRD added in v1.0.0

TODO: remove once VMware provider is removed from HCO GetV2VCRD creates CRD for v2v VMWare provider

func GetV2VOvirtProviderCRD added in v1.1.0

func GetV2VOvirtProviderCRD() *extv1beta1.CustomResourceDefinition

TODO: remove once oVirt provider is removed from HCO GetV2VOvirtProviderCRD creates CRD for v2v oVirt provider

func InjectVolumesForWebHookCerts added in v1.4.0

func InjectVolumesForWebHookCerts(deploy *appsv1.Deployment)

Types

type CSVBaseParams added in v1.4.0

type CSVBaseParams struct {
	Name        string
	Namespace   string
	DisplayName string
	Description string
	Image       string
	Replaces    string
	Version     semver.Version
	CrdDisplay  string
}

type DeploymentOperatorParams added in v1.4.0

type DeploymentOperatorParams struct {
	Namespace           string
	Image               string
	WebhookImage        string
	ImagePullPolicy     string
	ConversionContainer string
	VmwareContainer     string
	Smbios              string
	Machinetype         string
	HcoKvIoVersion      string
	KubevirtVersion     string
	CdiVersion          string
	CnaoVersion         string
	SspVersion          string
	NmoVersion          string
	HppoVersion         string
	VMImportVersion     string
	Env                 []corev1.EnvVar
}

Jump to

Keyboard shortcuts

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