Documentation
¶
Overview ¶
Package v1alpha1 contains API schema definitions for the O2 IMS hardware manager plugin API.
+kubebuilder:object:generate=true +groupName=o2ims-hardwaremanagement.oran.openshift.io
Index ¶
- Variables
- type BMC
- type ConditionMessage
- type ConditionReason
- type ConditionType
- type GenerationStatus
- type HardwareTemplate
- type HardwareTemplateList
- type HardwareTemplateSpec
- type HardwareTemplateStatus
- type Interface
- type LocationSpec
- type Node
- type NodeGroup
- type NodeList
- type NodePool
- type NodePoolData
- type NodePoolList
- type NodePoolSpec
- type NodePoolStatus
- type NodeSpec
- type NodeStatus
- type Properties
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "o2ims-hardwaremanagement.oran.openshift.io", Version: "v1alpha1"} // 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 )
Functions ¶
This section is empty.
Types ¶
type BMC ¶
type BMC struct { // The Address contains the URL for accessing the BMC over the network. Address string `json:"address,omitempty"` // CredentialsName is a reference to a secret containing the credentials. That secret // should contain the keys `username` and `password`. CredentialsName string `json:"credentialsName,omitempty"` }
BMC describes BMC details of a hardware server
func (*BMC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMC.
func (*BMC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionMessage ¶
type ConditionMessage string
ConditionMessage provides detailed messages associated with condition status updates.
const ( AwaitConfig ConditionMessage = "Spec updated; awaiting configuration application by the hardware plugin" ConfigSuccess ConditionMessage = "Configuration has been applied successfully" )
type ConditionReason ¶
type ConditionReason string
ConditionReason describes the reasons for a condition's status.
const ( InProgress ConditionReason = "InProgress" Completed ConditionReason = "Completed" Unprovisioned ConditionReason = "Unprovisioned" Failed ConditionReason = "Failed" NotInitialized ConditionReason = "NotInitialized" TimedOut ConditionReason = "TimedOut" ConfigUpdate ConditionReason = "ConfigurationUpdateRequested" ConfigApplied ConditionReason = "ConfigurationApplied" )
type ConditionType ¶
type ConditionType string
const ( Provisioned ConditionType = "Provisioned" Configured ConditionType = "Configured" Validation ConditionType = "Validation" Unknown ConditionType = "Unknown" // Indicates the condition has not been evaluated )
The following constants define the different types of conditions that will be set
type GenerationStatus ¶
type GenerationStatus struct {
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
GenerationStatus represents the observed generation for an operator.
func (*GenerationStatus) DeepCopy ¶
func (in *GenerationStatus) DeepCopy() *GenerationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenerationStatus.
func (*GenerationStatus) DeepCopyInto ¶
func (in *GenerationStatus) DeepCopyInto(out *GenerationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HardwareTemplate ¶
type HardwareTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HardwareTemplateSpec `json:"spec,omitempty"` Status HardwareTemplateStatus `json:"status,omitempty"` }
HardwareTemplate is the Schema for the hardwaretemplates API +kubebuilder:validation:XValidation:message="Spec changes are not allowed for a HardwareTemplate that has passed the validation", rule="!has(oldSelf.status) || oldSelf.status.conditions.exists(c, c.type=='Validation' && c.status=='False') || oldSelf.spec == self.spec" +operator-sdk:csv:customresourcedefinitions:displayName="ORAN O2IMS Hardware Template",resources={{ConfigMap, v1}}
func (*HardwareTemplate) DeepCopy ¶
func (in *HardwareTemplate) DeepCopy() *HardwareTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareTemplate.
func (*HardwareTemplate) DeepCopyInto ¶
func (in *HardwareTemplate) DeepCopyInto(out *HardwareTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HardwareTemplate) DeepCopyObject ¶
func (in *HardwareTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HardwareTemplateList ¶
type HardwareTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HardwareTemplate `json:"items"` }
HardwareTemplateList contains a list of HardwareTemplate.
+kubebuilder:object:root=true
func (*HardwareTemplateList) DeepCopy ¶
func (in *HardwareTemplateList) DeepCopy() *HardwareTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareTemplateList.
func (*HardwareTemplateList) DeepCopyInto ¶
func (in *HardwareTemplateList) DeepCopyInto(out *HardwareTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HardwareTemplateList) DeepCopyObject ¶
func (in *HardwareTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HardwareTemplateSpec ¶
type HardwareTemplateSpec struct { // HwMgrId is the identifier for the hardware manager plugin adaptor. // +kubebuilder:validation:MinLength=1 //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hardware Manager ID",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} HwMgrId string `json:"hwMgrId"` // BootInterfaceLabel is the label of the boot interface. // +kubebuilder:validation:MinLength=1 //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Boot Interface Label",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} BootInterfaceLabel string `json:"bootInterfaceLabel"` // HardwareProvisioningTimeout defines the timeout duration string for the hardware provisioning. //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hardware Provisioning Timeout",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} HardwareProvisioningTimeout string `json:"hardwareProvisioningTimeout,omitempty"` // NodePoolData defines a collection of NodePoolData items // +kubebuilder:validation:MinItems=1 //+operator-sdk:csv:customresourcedefinitions:type=spec NodePoolData []NodePoolData `json:"nodePoolData"` // Extensions holds additional custom key-value pairs that can be used to extend the node pool's configuration. //+operator-sdk:csv:customresourcedefinitions:type=spec Extensions map[string]string `json:"extensions,omitempty"` }
HardwareTemplateSpec defines the desired state of HardwareTemplate
func (*HardwareTemplateSpec) DeepCopy ¶
func (in *HardwareTemplateSpec) DeepCopy() *HardwareTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareTemplateSpec.
func (*HardwareTemplateSpec) DeepCopyInto ¶
func (in *HardwareTemplateSpec) DeepCopyInto(out *HardwareTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HardwareTemplateStatus ¶
type HardwareTemplateStatus struct { //+operator-sdk:csv:customresourcedefinitions:type=status Conditions []metav1.Condition `json:"conditions,omitempty"` }
HardwareTemplateStatus defines the observed state of HardwareTemplate
func (*HardwareTemplateStatus) DeepCopy ¶
func (in *HardwareTemplateStatus) DeepCopy() *HardwareTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareTemplateStatus.
func (*HardwareTemplateStatus) DeepCopyInto ¶
func (in *HardwareTemplateStatus) DeepCopyInto(out *HardwareTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Interface ¶
type Interface struct { Name string `json:"name"` // The name of the network interface (e.g., eth0, ens33) Label string `json:"label"` // The label of the interface // +kubebuilder:validation:Pattern=`^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$` MACAddress string `json:"macAddress"` // The MAC address of the interface }
Interface describes an interface of a hardware server
func (*Interface) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Interface.
func (*Interface) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocationSpec ¶
type LocationSpec struct { // Location //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Location",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} Location string `json:"location,omitempty"` // Site // +kubebuilder:validation:Required //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Site",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} Site string `json:"site"` }
LocationSpec is the geographical location of the requested node.
func (*LocationSpec) DeepCopy ¶
func (in *LocationSpec) DeepCopy() *LocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocationSpec.
func (*LocationSpec) DeepCopyInto ¶
func (in *LocationSpec) DeepCopyInto(out *LocationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Node ¶
type Node struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NodeSpec `json:"spec,omitempty"` Status NodeStatus `json:"status,omitempty"` }
Node is the schema for an allocated node
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=nodes,shortName=orannode +kubebuilder:printcolumn:name="HwMgr Id",type="string",JSONPath=".spec.hwMgrId" +kubebuilder:printcolumn:name="NodePool",type="string",JSONPath=".spec.nodePool" +kubebuilder:printcolumn:name="HwMgr Node Id",type="string",JSONPath=".spec.hwMgrNodeId" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.conditions[-1:].reason" +operator-sdk:csv:customresourcedefinitions:displayName="Node",resources={{Namespace, v1}}
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Node) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeGroup ¶
type NodeGroup struct { NodePoolData NodePoolData `json:"nodePoolData"` // Explicitly include as a named field Size int `json:"size" yaml:"size"` }
func (*NodeGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroup.
func (*NodeGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeList ¶
type NodeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Node `json:"items"` }
NodeList contains a list of provisioned node.
+kubebuilder:object:root=true
func (*NodeList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeList.
func (*NodeList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodePool ¶
type NodePool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NodePoolSpec `json:"spec,omitempty"` Status NodePoolStatus `json:"status,omitempty"` }
NodePool is the schema for an allocation request of nodes
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=nodepools,shortName=orannp +kubebuilder:printcolumn:name="HwMgr Id",type="string",JSONPath=".spec.hwMgrId" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.conditions[-1:].reason" +operator-sdk:csv:customresourcedefinitions:displayName="Node Pool",resources={{Namespace, v1}}
func (*NodePool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePool.
func (*NodePool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodePool) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodePoolData ¶
type NodePoolData struct { // +kubebuilder:validation:MinLength=1 Name string `json:"name"` // +kubebuilder:validation:Enum=master;worker Role string `json:"role"` // +kubebuilder:validation:MinLength=1 HwProfile string `json:"hwProfile"` // ResourcePoolId is the identifier for the Resource Pool in the hardware manager instance. // +optional ResourcePoolId string `json:"resourcePoolId,omitempty"` // +optional ResourceSelector string `json:"resourceSelector,omitempty"` }
NodePoolData provides the necessary information for populating a node pool
func (*NodePoolData) DeepCopy ¶
func (in *NodePoolData) DeepCopy() *NodePoolData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolData.
func (*NodePoolData) DeepCopyInto ¶
func (in *NodePoolData) DeepCopyInto(out *NodePoolData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolList ¶
type NodePoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NodePool `json:"items"` }
NodePoolList contains a list of node allocation requests.
+kubebuilder:object:root=true
func (*NodePoolList) DeepCopy ¶
func (in *NodePoolList) DeepCopy() *NodePoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolList.
func (*NodePoolList) DeepCopyInto ¶
func (in *NodePoolList) DeepCopyInto(out *NodePoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodePoolList) DeepCopyObject ¶
func (in *NodePoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodePoolSpec ¶
type NodePoolSpec struct { // CloudID is the identifier of the O-Cloud that generated this request. The hardware // manager may want to use this to tag the nodes in its database, and to generate // statistics. // // +kubebuilder:validation:Required //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Cloud ID",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} CloudID string `json:"cloudID"` // LocationSpec is the geographical location of the requested node. //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Location Spec",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} LocationSpec `json:",inline"` // HwMgrId is the identifier for the hardware manager plugin instance. //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hardware Manager ID",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} HwMgrId string `json:"hwMgrId,omitempty"` //+operator-sdk:csv:customresourcedefinitions:type=spec NodeGroup []NodeGroup `json:"nodeGroup"` //+operator-sdk:csv:customresourcedefinitions:type=spec Extensions map[string]string `json:"extensions,omitempty"` }
NodePoolSpec describes a pool of nodes to allocate
func (*NodePoolSpec) DeepCopy ¶
func (in *NodePoolSpec) DeepCopy() *NodePoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolSpec.
func (*NodePoolSpec) DeepCopyInto ¶
func (in *NodePoolSpec) DeepCopyInto(out *NodePoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolStatus ¶
type NodePoolStatus struct { // Properties represent the node properties in the pool //+operator-sdk:csv:customresourcedefinitions:type=status Properties Properties `json:"properties,omitempty"` // Conditions represent the latest available observations of an NodePool's state. // +optional // +kubebuilder:validation:Type=array // +kubebuilder:validation:Items=Type=object //+operator-sdk:csv:customresourcedefinitions:type=status Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` //+operator-sdk:csv:customresourcedefinitions:type=status HwMgrPlugin GenerationStatus `json:"hwMgrPlugin,omitempty"` //+operator-sdk:csv:customresourcedefinitions:type=status SelectedPools map[string]string `json:"selectedPools,omitempty"` }
NodePoolStatus describes the observed state of a request to allocate and prepare a node that will eventually be part of a deployment manager.
func (*NodePoolStatus) DeepCopy ¶
func (in *NodePoolStatus) DeepCopy() *NodePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolStatus.
func (*NodePoolStatus) DeepCopyInto ¶
func (in *NodePoolStatus) DeepCopyInto(out *NodePoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeSpec ¶
type NodeSpec struct { // NodePool //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Pool",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} NodePool string `json:"nodePool"` // GroupName //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Group Name",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} GroupName string `json:"groupName"` // HwProfile //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hardware Profile",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} HwProfile string `json:"hwProfile"` // HwMgrId is the identifier for the hardware manager instance. //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hardware Manager ID",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} HwMgrId string `json:"hwMgrId,omitempty"` // HwMgrNodeId is the node identifier from the hardware manager. //+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hardware Manager Node ID",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"} HwMgrNodeId string `json:"hwMgrNodeId,omitempty"` //+operator-sdk:csv:customresourcedefinitions:type=spec Extensions map[string]string `json:"extensions,omitempty"` }
NodeSpec describes a node presents a hardware server
func (*NodeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSpec.
func (*NodeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeStatus ¶
type NodeStatus struct { //+operator-sdk:csv:customresourcedefinitions:type=status BMC *BMC `json:"bmc,omitempty"` //+operator-sdk:csv:customresourcedefinitions:type=status Interfaces []*Interface `json:"interfaces,omitempty"` //+operator-sdk:csv:customresourcedefinitions:type=status Hostname string `json:"hostname,omitempty"` //+operator-sdk:csv:customresourcedefinitions:type=status HwProfile string `json:"hwProfile,omitempty"` // Conditions represent the observations of the NodeStatus's current state. // Possible values of the condition type are `Provisioned`, `Unprovisioned`, `Updating` and `Failed`. //+operator-sdk:csv:customresourcedefinitions:type=status Conditions []metav1.Condition `json:"conditions,omitempty"` }
NodeStatus describes the observed state of a request to allocate and prepare a node that will eventually be part of a deployment manager.
func (*NodeStatus) DeepCopy ¶
func (in *NodeStatus) DeepCopy() *NodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.
func (*NodeStatus) DeepCopyInto ¶
func (in *NodeStatus) DeepCopyInto(out *NodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Properties ¶
type Properties struct {
NodeNames []string `json:"nodeNames,omitempty"`
}
func (*Properties) DeepCopy ¶
func (in *Properties) DeepCopy() *Properties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Properties.
func (*Properties) DeepCopyInto ¶
func (in *Properties) DeepCopyInto(out *Properties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.