v1beta1

package
v0.0.0-...-e872d7c Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the operator v1beta1 API group +kubebuilder:object:generate=true +groupName=operator.openstack.org

Index

Constants

View Source
const (
	// OpenStackOperatorReadyCondition Status=True condition which indicates if operators have been deployed
	OpenStackOperatorReadyCondition condition.Type = "OpenStackOperatorReadyCondition"

	// OpenStackOperatorDeploymentsReadyCondition Status=True condition which indicates if operator deployments are ready
	OpenStackOperatorDeploymentsReadyCondition condition.Type = "OpenStackOperatorDeploymentsReadyCondition"
)

OpenStack Condition Types used by API objects.

View Source
const (

	// OpenStackOperatorErrorMessage
	OpenStackOperatorErrorMessage = "OpenStackOperator error occured %s"

	// OpenStackOperatorReadyInitMessage
	OpenStackOperatorReadyInitMessage = "OpenStackOperator not started"

	// OpenStackOperatorReadyRunningMessage
	OpenStackOperatorReadyRunningMessage = "OpenStackOperator in progress"

	// OpenStackOperatorReadyMessage
	OpenStackOperatorReadyMessage = "OpenStackOperator completed"

	// OpenStackOperatorDeploymentsErrorMessage
	OpenStackOperatorDeploymentsErrorMessage = "OpenStackOperatorDeployments error occured %s"

	// OpenStackOperatorDeploymentsReadyInitMessage
	OpenStackOperatorDeploymentsReadyInitMessage = "OpenStackOperatorDeployments not started"

	// OpenStackOperatorDeploymentsReadyRunningMessage
	OpenStackOperatorDeploymentsReadyRunningMessage = "OpenStackOperatorDeployments still in progress: %s"

	// OpenStackOperatorDeploymentsReadyMessage
	OpenStackOperatorDeploymentsReadyMessage = "OpenStackOperatorDeployments completed"
)

Common Messages used by Openstack operator

View Source
const (
	OpenStackOperatorName          = "openstack"
	BarbicanOperatorName           = "barbican"
	CinderOperatorName             = "cinder"
	DesignateOperatorName          = "designate"
	GlanceOperatorName             = "glance"
	HeatOperatorName               = "heat"
	HorizonOperatorName            = "horizon"
	InfraOperatorName              = "infra"
	IronicOperatorName             = "ironic"
	KeystoneOperatorName           = "keystone"
	ManilaOperatorName             = "manila"
	MariaDBOperatorName            = "mariadb"
	NeutronOperatorName            = "neutron"
	NovaOperatorName               = "nova"
	OctaviaOperatorName            = "octavia"
	OpenStackBaremetalOperatorName = "openstack-baremetal"
	OvnOperatorName                = "ovn"
	PlacementOperatorName          = "placement"
	RabbitMQOperatorName           = "rabbitmq-cluster"
	SwiftOperatorName              = "swift"
	TelemetryOperatorName          = "telemetry"
	TestOperatorName               = "test"
	WatcherOperatorName            = "watcher"
	// ReplicasEnabled - default replicas count when enabled
	ReplicasEnabled int32 = 1
	// ReplicasDisabled - replicas when disabled
	ReplicasDisabled int32 = 0
)

Operator names for OpenStack components

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "operator.openstack.org", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// DefaultManagerCPULimit - Default controller manager container CPU limit
	DefaultManagerCPULimit resource.Quantity = resource.MustParse("500m")
	// DefaultManagerCPURequests - Default controller manager container CPU requests
	DefaultManagerCPURequests resource.Quantity = resource.MustParse("10m")
	// DefaultManagerMemoryLimit - Default controller manager container memory limit
	DefaultManagerMemoryLimit resource.Quantity = resource.MustParse("512Mi")
	// DefaultManagerMemoryRequests - Default controller manager container memory requests
	DefaultManagerMemoryRequests resource.Quantity = resource.MustParse("256Mi")

	// DefaultTolerations - Default tolerations for all operators
	DefaultTolerations = []corev1.Toleration{
		{
			Key:               corev1.TaintNodeNotReady,
			Operator:          corev1.TolerationOpExists,
			Effect:            corev1.TaintEffectNoExecute,
			TolerationSeconds: ptr.To[int64](120),
		},
		{
			Key:               corev1.TaintNodeUnreachable,
			Operator:          corev1.TolerationOpExists,
			Effect:            corev1.TaintEffectNoExecute,
			TolerationSeconds: ptr.To[int64](120),
		},
	}

	// OperatorList - list of all operators with optional different defaults then the above.
	// NOTE: test-operator was deployed as a independant package so it may or may not be installed
	// NOTE: depending on how watcher-operator is released for FR2 and then in FR3 it may need to be
	// added into this list in the future
	// IMPORTANT: have this list in sync with the Enum in OperatorSpec.Name parameter
	OperatorList []OperatorSpec = []OperatorSpec{
		{
			Name: OpenStackOperatorName,
			ControllerManager: ContainerSpec{
				Resources: corev1.ResourceRequirements{
					Requests: corev1.ResourceList{
						corev1.ResourceMemory: resource.MustParse("512Mi"),
					},
					Limits: corev1.ResourceList{
						corev1.ResourceMemory: resource.MustParse("1Gi"),
					},
				},
			},
		},
		{
			Name: BarbicanOperatorName,
		},
		{
			Name: CinderOperatorName,
		},
		{
			Name: DesignateOperatorName,
		},
		{
			Name: GlanceOperatorName,
		},
		{
			Name: HeatOperatorName,
		},
		{
			Name: HorizonOperatorName,
		},
		{
			Name: InfraOperatorName,
			ControllerManager: ContainerSpec{
				Resources: corev1.ResourceRequirements{
					Requests: corev1.ResourceList{
						corev1.ResourceMemory: resource.MustParse("512Mi"),
					},
					Limits: corev1.ResourceList{
						corev1.ResourceMemory: resource.MustParse("1Gi"),
					},
				},
			},
		},
		{
			Name: IronicOperatorName,
		},
		{
			Name: KeystoneOperatorName,
		},
		{
			Name: ManilaOperatorName,
		},
		{
			Name: MariaDBOperatorName,
		},
		{
			Name: NeutronOperatorName,
		},
		{
			Name: NovaOperatorName,
		},
		{
			Name: OctaviaOperatorName,
		},
		{
			Name: OpenStackBaremetalOperatorName,
		},
		{
			Name: OvnOperatorName,
		},
		{
			Name: PlacementOperatorName,
		},
		{
			Name: RabbitMQOperatorName,
			ControllerManager: ContainerSpec{
				Resources: corev1.ResourceRequirements{
					Requests: corev1.ResourceList{
						corev1.ResourceCPU:    resource.MustParse("5m"),
						corev1.ResourceMemory: resource.MustParse("64Mi"),
					},
					Limits: corev1.ResourceList{
						corev1.ResourceCPU:    resource.MustParse("200m"),
						corev1.ResourceMemory: resource.MustParse("500Mi"),
					},
				},
			},
		},
		{
			Name: SwiftOperatorName,
		},
		{
			Name: TelemetryOperatorName,
		},
		{
			Name: TestOperatorName,
		},
		{
			Name: WatcherOperatorName,
		},
	}
)

Functions

This section is empty.

Types

type ContainerSpec

type ContainerSpec struct {
	// +kubebuilder:validation:Optional
	// Resources - Compute Resources for the service operator controller manager
	// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

ContainerSpec - customization for the container spec

func (*ContainerSpec) DeepCopy

func (in *ContainerSpec) DeepCopy() *ContainerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerSpec.

func (*ContainerSpec) DeepCopyInto

func (in *ContainerSpec) DeepCopyInto(out *ContainerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenStack

type OpenStack struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OpenStackSpec   `json:"spec,omitempty"`
	Status OpenStackStatus `json:"status,omitempty"`
}

OpenStack defines the Schema for the openstacks API

func (*OpenStack) DeepCopy

func (in *OpenStack) DeepCopy() *OpenStack

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStack.

func (*OpenStack) DeepCopyInto

func (in *OpenStack) DeepCopyInto(out *OpenStack)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStack) DeepCopyObject

func (in *OpenStack) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OpenStackList

type OpenStackList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OpenStack `json:"items"`
}

OpenStackList contains a list of OpenStack

func (*OpenStackList) DeepCopy

func (in *OpenStackList) DeepCopy() *OpenStackList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackList.

func (*OpenStackList) DeepCopyInto

func (in *OpenStackList) DeepCopyInto(out *OpenStackList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OpenStackList) DeepCopyObject

func (in *OpenStackList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OpenStackSpec

type OpenStackSpec struct {
	// +kubebuilder:validation:Optional
	// +listType=map
	// +listMapKey=name
	// OperatorOverrides - list of OperatorSpec which allows to customize operator deployments
	OperatorOverrides []OperatorSpec `json:"operatorOverrides"`
}

OpenStackSpec defines the desired state of OpenStack

func (*OpenStackSpec) DeepCopy

func (in *OpenStackSpec) DeepCopy() *OpenStackSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackSpec.

func (*OpenStackSpec) DeepCopyInto

func (in *OpenStackSpec) DeepCopyInto(out *OpenStackSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenStackStatus

type OpenStackStatus struct {

	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:io.kubernetes.conditions"}
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// DeployedOperatorCount - the number of operators deployed
	DeployedOperatorCount *int `json:"deployedOperatorCount,omitempty"`

	// DisabledOperatorCount - the number of operators which has replicas set to 0
	DisabledOperatorCount *int `json:"disabledOperatorCount,omitempty"`

	// EnabledOperatorCount - the number of operators which has replicas set to 1
	EnabledOperatorCount *int `json:"enabledOperatorCount,omitempty"`

	// TotalOperatorCount - the number all operators available
	TotalOperatorCount *int `json:"totalOperatorCount,omitempty"`

	// ObservedGeneration - the most recent generation observed for this object.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"` // no spec yet so maybe we don't need this

	// ContainerImage - the container image that has been successfully deployed
	ContainerImage *string `json:"containerImage,omitempty"`

	// ReleaseVersion - the OpenStack release version that has been successfully deployed
	ReleaseVersion *string `json:"releaseVersion,omitempty"`
}

OpenStackStatus defines the observed state of OpenStack

func (*OpenStackStatus) DeepCopy

func (in *OpenStackStatus) DeepCopy() *OpenStackStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackStatus.

func (*OpenStackStatus) DeepCopyInto

func (in *OpenStackStatus) DeepCopyInto(out *OpenStackStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OperatorSpec

type OperatorSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum:=openstack;barbican;cinder;designate;glance;heat;horizon;infra;ironic;keystone;manila;mariadb;neutron;nova;octavia;openstack-baremetal;ovn;placement;rabbitmq-cluster;swift;telemetry;test;watcher
	// Name of the service operators.
	Name string `json:"name"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=1
	// +kubebuilder:validation:Minimum=0
	// Replicas of the operator deployment
	Replicas *int32 `json:"replicas,omitempty"`

	// +kubebuilder:validation:Optional
	// ControllerManager - tunings for the controller manager container
	ControllerManager ContainerSpec `json:"controllerManager,omitempty"`

	// +kubebuilder:validation:Optional
	// Tolerations - Tolerations for the service operator deployment pods
	// https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

OperatorSpec - customization for the operator deployment

func (*OperatorSpec) DeepCopy

func (in *OperatorSpec) DeepCopy() *OperatorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorSpec.

func (*OperatorSpec) DeepCopyInto

func (in *OperatorSpec) DeepCopyInto(out *OperatorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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