Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the operator v1beta1 API group +kubebuilder:object:generate=true +groupName=operator.openstack.org
Index ¶
Constants ¶
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.
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
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 ¶
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 )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStack.
func (*OpenStack) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OpenStack) DeepCopyObject ¶
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.