v1alpha1

package
v0.0.0-...-83c5257 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Copyright 2024.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

+k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta

Package v1alpha1 contains API Schema definitions for the odf v1alpha1 API group +kubebuilder:object:generate=true +groupName=odf.openshift.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "odf.openshift.io", Version: "v1alpha1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	EnableCephToolsPod             RecoveryConditionType = "EnableCephToolsPod"
	WaitForCephToolsPodRunning     RecoveryConditionType = "WaitForCephToolsPodRunning"
	WaitForOSDPodsStabilize        RecoveryConditionType = "WaitForOSDPodsStabilize"
	LabelNodesWithPendingPods      RecoveryConditionType = "LabelNodesWithPendingPods"
	ManageCrashLoopBackOffPods     RecoveryConditionType = "ManageCrashLoopBackOffPods"
	ForceDeleteRookCephOSDPods     RecoveryConditionType = "ForceDeleteRookCephOSDPods"
	CleanupOSDRemovalJob           RecoveryConditionType = "CleanupOSDRemovalJob"
	RetryForceCleanupOSDRemovalJob RecoveryConditionType = "RetryForceCleanupOSDRemovalJob"
	DeletePersistentVolume         RecoveryConditionType = "DeletePersistentVolume"
	RestartStorageOperator         RecoveryConditionType = "RestartStorageOperator"
	DeleteFailedPodsNodeAffinity   RecoveryConditionType = "DeleteFailedPodsNodeAffinity"
	StorageClusterFitnessCheck     RecoveryConditionType = "StorageClusterFitnessCheck"
	DisableCephTools               RecoveryConditionType = "DisableCephTools"

	RunningPhase   RecoveryPhase = "Running"
	FailedPhase    RecoveryPhase = "Failed"
	CompletedPhase RecoveryPhase = "Completed"

	StatusTrue  StatusType = "True"
	StatusFalse StatusType = "False"

	FailedCheckCephToolsPod              RecoveryConditionReason = "FailedCheckCephToolsPod"
	FailedRetrieveCephToolPod            RecoveryConditionReason = "FailedRetrieveCephToolPod"
	FailedEnableCephToolsPod             RecoveryConditionReason = "FailedEnableCephToolsPod"
	FailedDisableCephToolsPod            RecoveryConditionReason = "FailedDisableCephToolsPod"
	PodNotInRunningPhase                 RecoveryConditionReason = "PodNotInRunningPhase"
	FailedRetrievePodsPhase              RecoveryConditionReason = "FailedRetrievePodsPhase"
	WaitingForPodsToInitialize           RecoveryConditionReason = "WaitingForPodsToInitialize"
	FailedRetrievePendingPods            RecoveryConditionReason = "FailedRetrievePendingPods"
	FailedLabelNodes                     RecoveryConditionReason = "FailedLabelNodes"
	FailedRetrieveCrashLoopBackOffPods   RecoveryConditionReason = "FailedRetrieveCrashLoopBackOffPods"
	FailedHandleCrashLoopBackOffPods     RecoveryConditionReason = "FailedHandleCrashLoopBackOffPods"
	FailedRestartODFOperator             RecoveryConditionReason = "FailedRestartODFOperator"
	FailedDeleteFailedPodsNodeAffinity   RecoveryConditionReason = "FailedDeleteFailedPodsNodeAffinity"
	FailedArchiveCephDaemonCrashMessages RecoveryConditionReason = "FailedArchiveCephDaemonCrashMessages"
	FailedRetrieveCephHealthStatus       RecoveryConditionReason = "FailedRetrieveCephHealthStatus"
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type NodePV

type NodePV struct {
	NodeName             string `json:"nodeName"`
	PersistentVolumeName string `json:"pvName"`
}

func (*NodePV) DeepCopy

func (in *NodePV) DeepCopy() *NodePV

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

func (*NodePV) DeepCopyInto

func (in *NodePV) DeepCopyInto(out *NodePV)

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

type NodeRecovery

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

	Status NodeRecoveryStatus `json:"status,omitempty"`
}

NodeRecovery is the Schema for the noderecoveries API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,shortName=noderec +kubebuilder:printcolumn:name="Created At",type=string,JSONPath=.status.startTime +kubebuilder:printcolumn:name="Completed At",type=string,JSONPath=.status.completionTime +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=.status.phase,description="Status" +kubebuilder:printcolumn:name="State",type="string",JSONPath=.status.conditions[?(@.status=="True")].type

func (*NodeRecovery) DeepCopy

func (in *NodeRecovery) DeepCopy() *NodeRecovery

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

func (*NodeRecovery) DeepCopyInto

func (in *NodeRecovery) DeepCopyInto(out *NodeRecovery)

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

func (*NodeRecovery) DeepCopyObject

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

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

type NodeRecoveryList

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

+kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object NodeRecoveryList contains a list of NodeRecovery

func (*NodeRecoveryList) DeepCopy

func (in *NodeRecoveryList) DeepCopy() *NodeRecoveryList

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

func (*NodeRecoveryList) DeepCopyInto

func (in *NodeRecoveryList) DeepCopyInto(out *NodeRecoveryList)

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

func (*NodeRecoveryList) DeepCopyObject

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

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

type NodeRecoveryStatus

type NodeRecoveryStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	// +kubebuilder:validation:Enum={"Running","Completed", "Failed"}
	Phase RecoveryPhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=RecoveryPhase"`
	// Current conditions state of CR.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:Optional
	Conditions []RecoveryCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"`

	StartTime *metav1.Time `json:"startTime,omitempty" protobuf:"bytes,2,opt,name=startTime"`

	// Represents time when the job was completed. It is not guaranteed to
	// be set in happens-before order across separate operations.
	// It is represented in RFC3339 form and is in UTC.
	// The completion time is set when the reconciliation finishes successfully, and only then.
	// The value cannot be updated or removed. The value indicates the same or
	// later point in time as the startTime field.
	// +optional
	CompletionTime *metav1.Time `json:"completionTime,omitempty" protobuf:"bytes,3,opt,name=completionTime"`

	//PendingPods captures whether there were OSD pods in pending phase when reconciling the CR. This value is used by the reconciler along with `CrashLoopBackOffPods` to determine
	// if the reconciliation requires a restart of the ODF operator.
	PendingPods bool `json:"pendingPods,omitempty"`
	//CrashLoopBackOffPods captures whether there were OSD pods in CrashLoopBackOff when reconciling the CR. This value is used by the reconciler along with the `PendingPods` to determine
	// if the reconciliation requires a restart the ODF operator.
	CrashLoopBackOffPods bool `json:"crashLoopBackOffPods,omitempty"`

	//NodeDevice contains a list of node name and device name pair used by the reconciliation to track which nodes and devices have failed based on the OSD pods that are in CrashLoopbackOff
	NodeDevice []NodePV `json:"nodeDevice,omitempty"`

	// CrashedOSDDeploymentIDs contains a list of the OSD IDs that match the ceph osd pods that are in CrashLoopbackOff status. This value is used during the reconciliation loop to cleanup the
	// pods that are not being removed when the deployment is scaled down to 0
	CrashedOSDDeploymentIDs []string `json:"osdIDs,omitempty"`

	// ForcedOSDRemoval indicates if the reconciliation of the CR required to trigger the OSD Removal job with the ForcedOSDRemoval flag as true or false. If true it means the initial attempt to run the job timed out after 10 minutes
	// and the reconciliation loop triggered a second job with the flag set to true to ensure success.
	ForcedOSDRemoval bool `json:"forcedOSDRemoval,omitempty"`
}

NodeRecoveryStatus defines the observed state of NodeRecovery

func (*NodeRecoveryStatus) DeepCopy

func (in *NodeRecoveryStatus) DeepCopy() *NodeRecoveryStatus

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

func (*NodeRecoveryStatus) DeepCopyInto

func (in *NodeRecoveryStatus) DeepCopyInto(out *NodeRecoveryStatus)

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

type RecoveryCondition

type RecoveryCondition struct {
	// Type is the type of the condition.
	Type RecoveryConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=conditionType"`
	// Last time we probed the condition.
	LastProbeTime metav1.Time `json:"lastProbeTime" protobuf:"bytes,3,opt,name=lastProbeTime"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime" protobuf:"bytes,4,opt,name=lastTransitionTime"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason RecoveryConditionReason `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
	// Human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`

	// Status is the status of the condition. Can be True, False, Unknown
	// +kubebuilder:validation:Enum={"True","False"}
	Status StatusType `json:"status,omitempty"`
}

PodCondition contains details for the current condition of this pod.

func (*RecoveryCondition) DeepCopy

func (in *RecoveryCondition) DeepCopy() *RecoveryCondition

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

func (*RecoveryCondition) DeepCopyInto

func (in *RecoveryCondition) DeepCopyInto(out *RecoveryCondition)

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

type RecoveryConditionReason

type RecoveryConditionReason string

type RecoveryConditionType

type RecoveryConditionType string

type RecoveryPhase

type RecoveryPhase string

type StatusType

type StatusType string

Jump to

Keyboard shortcuts

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