Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the nodecore v1alpha1 API group +kubebuilder:object:generate=true +groupName=nodecore.fluidos.eu
Index ¶
- Variables
- type Aggregatable
- type Allocation
- type AllocationList
- type AllocationSpec
- type AllocationStatus
- type Characteristics
- type Destination
- type Flavour
- type FlavourList
- type FlavourSelector
- type FlavourSpec
- type FlavourStatus
- type FlavourType
- type GenericRef
- type LiqoCredentials
- type MatchSelector
- type NodeIdentity
- type NodeType
- type OptionalFields
- type Partition
- type Partitionable
- type Phase
- type PhaseStatus
- type Policy
- type Price
- type RangeSelector
- type Solver
- func (in *Solver) DeepCopy() *Solver
- func (in *Solver) DeepCopyInto(out *Solver)
- func (in *Solver) DeepCopyObject() runtime.Object
- func (solver *Solver) SetDiscoveryStatus(phase Phase)
- func (solver *Solver) SetFindCandidateStatus(phase Phase)
- func (solver *Solver) SetPeeringStatus(phase Phase)
- func (solver *Solver) SetPhase(phase Phase, msg string)
- func (solver *Solver) SetReservationStatus(phase Phase)
- func (solver *Solver) SetReserveAndBuyStatus(phase Phase)
- type SolverList
- type SolverSpec
- type SolverStatus
- type Status
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "nodecore.fluidos.eu", 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 Aggregatable ¶
type Aggregatable struct { // MinCount is the minimum requirable number of instances of the Flavour. MinCount int `json:"minCount"` // MaxCount is the maximum requirable number of instances of the Flavour. MaxCount int `json:"maxCount"` }
Aggregatable represents the aggregation properties of a Flavour, such as the minimum instance count.
func (*Aggregatable) DeepCopy ¶
func (in *Aggregatable) DeepCopy() *Aggregatable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Aggregatable.
func (*Aggregatable) DeepCopyInto ¶
func (in *Aggregatable) DeepCopyInto(out *Aggregatable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Allocation ¶
type Allocation struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AllocationSpec `json:"spec,omitempty"` Status AllocationStatus `json:"status,omitempty"` }
Allocation is the Schema for the allocations API.
func (*Allocation) DeepCopy ¶
func (in *Allocation) DeepCopy() *Allocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Allocation.
func (*Allocation) DeepCopyInto ¶
func (in *Allocation) DeepCopyInto(out *Allocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Allocation) DeepCopyObject ¶
func (in *Allocation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Allocation) SetStatus ¶ added in v0.0.2
func (allocation *Allocation) SetStatus(status Status, msg string)
SetStatus sets the status of the allocation.
type AllocationList ¶
type AllocationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Allocation `json:"items"` }
AllocationList contains a list of Allocation
func (*AllocationList) DeepCopy ¶
func (in *AllocationList) DeepCopy() *AllocationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationList.
func (*AllocationList) DeepCopyInto ¶
func (in *AllocationList) DeepCopyInto(out *AllocationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AllocationList) DeepCopyObject ¶
func (in *AllocationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AllocationSpec ¶
type AllocationSpec struct { // This is the ID of the cluster that owns the allocation. RemoteClusterID string `json:"remoteClusterID,omitempty"` // This is the ID of the intent for which the allocation was created. // It is used by the Node Orchestrator to identify the correct allocation for a given intent IntentID string `json:"intentID"` // This is the corresponding Node or VirtualNode local name NodeName string `json:"nodeName"` // This specifies the type of the node: Node (Physical node of the cluster) or VirtualNode (Remote node owned by a different cluster) Type NodeType `json:"type"` // This specifies if the destination of the allocation is local or remote so if the allocation will be used locally or from a remote cluster Destination Destination `json:"destination"` // This flag indicates if the allocation is a forwarding allocation // if true it represents only a placeholder to undertand that the cluster is just a proxy to another cluster Forwarding bool `json:"forwarding,omitempty"` // This is the reference to the contract related to the allocation Contract GenericRef `json:"contract,omitempty"` }
AllocationSpec defines the desired state of Allocation
func (*AllocationSpec) DeepCopy ¶
func (in *AllocationSpec) DeepCopy() *AllocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationSpec.
func (*AllocationSpec) DeepCopyInto ¶
func (in *AllocationSpec) DeepCopyInto(out *AllocationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllocationStatus ¶
type AllocationStatus struct { // This allow to know the current status of the allocation Status Status `json:"status,omitempty"` // The last time the allocation was updated LastUpdateTime string `json:"lastUpdateTime,omitempty"` // Message contains the last message of the allocation Message string `json:"message,omitempty"` }
AllocationStatus defines the observed state of Allocation.
func (*AllocationStatus) DeepCopy ¶
func (in *AllocationStatus) DeepCopy() *AllocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationStatus.
func (*AllocationStatus) DeepCopyInto ¶
func (in *AllocationStatus) DeepCopyInto(out *AllocationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Characteristics ¶
type Characteristics struct { // Architecture is the architecture of the Flavour. Architecture string `json:"architecture"` // CPU is the number of CPU cores of the Flavour. Cpu resource.Quantity `json:"cpu"` // Memory is the amount of RAM of the Flavour. Memory resource.Quantity `json:"memory"` // Pods is the maximum number of pods of the Flavour. Pods resource.Quantity `json:"pods"` // GPU is the number of GPU cores of the Flavour. Gpu resource.Quantity `json:"gpu,omitempty"` // EphemeralStorage is the amount of ephemeral storage of the Flavour. EphemeralStorage resource.Quantity `json:"ephemeral-storage,omitempty"` // PersistentStorage is the amount of persistent storage of the Flavour. PersistentStorage resource.Quantity `json:"persistent-storage,omitempty"` }
func (*Characteristics) DeepCopy ¶
func (in *Characteristics) DeepCopy() *Characteristics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Characteristics.
func (*Characteristics) DeepCopyInto ¶
func (in *Characteristics) DeepCopyInto(out *Characteristics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Destination ¶ added in v0.0.2
type Destination string
const ( Remote Destination = "Remote" Local Destination = "Local" )
Destination is the destination of the allocation: Local (the allocation will be used locally) or Remote (the allocation will be used from a remote cluster).
type Flavour ¶
type Flavour struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FlavourSpec `json:"spec,omitempty"` Status FlavourStatus `json:"status,omitempty"` }
+kubebuilder:printcolumn:name="Provider ID",type=string,JSONPath=`.spec.providerID` +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type` +kubebuilder:printcolumn:name="CPU",type=string,priority=1,JSONPath=`.spec.characteristics.cpu` +kubebuilder:printcolumn:name="Memory",type=string,priority=1,JSONPath=`.spec.characteristics.memory` +kubebuilder:printcolumn:name="Owner Name",type=string,priority=1,JSONPath=`.spec.owner.nodeID` +kubebuilder:printcolumn:name="Owner Domain",type=string,priority=1,JSONPath=`.spec.owner.domain` +kubebuilder:printcolumn:name="Available",type=boolean,JSONPath=`.spec.optionalFields.availability` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` Flavour is the Schema for the flavours API.
func (*Flavour) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flavour.
func (*Flavour) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Flavour) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FlavourList ¶
type FlavourList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Flavour `json:"items"` }
FlavourList contains a list of Flavour
func (*FlavourList) DeepCopy ¶
func (in *FlavourList) DeepCopy() *FlavourList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavourList.
func (*FlavourList) DeepCopyInto ¶
func (in *FlavourList) DeepCopyInto(out *FlavourList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlavourList) DeepCopyObject ¶
func (in *FlavourList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FlavourSelector ¶
type FlavourSelector struct { FlavourType string `json:"type"` Architecture string `json:"architecture"` RangeSelector *RangeSelector `json:"rangeSelector,omitempty"` MatchSelector *MatchSelector `json:"matchSelector,omitempty"` }
func (*FlavourSelector) DeepCopy ¶
func (in *FlavourSelector) DeepCopy() *FlavourSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavourSelector.
func (*FlavourSelector) DeepCopyInto ¶
func (in *FlavourSelector) DeepCopyInto(out *FlavourSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlavourSpec ¶
type FlavourSpec struct { // ProviderID is the ID of the FLUIDOS Node ID that provides this Flavour. // It can correspond to ID of the owner FLUIDOS Node or to the ID of a FLUIDOS SuperNode that represents the entry point to a FLUIDOS Domain ProviderID string `json:"providerID"` // Type is the type of the Flavour. Currently, only K8S is supported. Type FlavourType `json:"type"` // Characteristics contains the characteristics of the Flavour. // They are based on the type of the Flavour and can change depending on it. In this case, the type is K8S so the characteristics are CPU, Memory, GPU and EphemeralStorage. Characteristics Characteristics `json:"characteristics"` // Policy contains the policy of the Flavour. The policy describes the partitioning and aggregation properties of the Flavour. Policy Policy `json:"policy"` // Owner contains the identity info of the owner of the Flavour. It can be unknown if the Flavour is provided by a reseller or a third party. Owner NodeIdentity `json:"owner"` // Price contains the price model of the Flavour. Price Price `json:"price"` // This field is used to specify the optional fields that can be retrieved from the Flavour. // In the future it will be expanded to include more optional fields defined in the REAR Protocol or custom ones. OptionalFields OptionalFields `json:"optionalFields"` }
FlavourSpec defines the desired state of Flavour
func (*FlavourSpec) DeepCopy ¶
func (in *FlavourSpec) DeepCopy() *FlavourSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavourSpec.
func (*FlavourSpec) DeepCopyInto ¶
func (in *FlavourSpec) DeepCopyInto(out *FlavourSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlavourStatus ¶
type FlavourStatus struct { // This field represents the expiration time of the Flavour. It is used to determine when the Flavour is no longer valid. ExpirationTime string `json:"expirationTime"` // This field represents the creation time of the Flavour. CreationTime string `json:"creationTime"` // This field represents the last update time of the Flavour. LastUpdateTime string `json:"lastUpdateTime"` }
FlavourStatus defines the observed state of Flavour.
func (*FlavourStatus) DeepCopy ¶
func (in *FlavourStatus) DeepCopy() *FlavourStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlavourStatus.
func (*FlavourStatus) DeepCopyInto ¶
func (in *FlavourStatus) DeepCopyInto(out *FlavourStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericRef ¶
type GenericRef struct { // The name of the resource to be referenced. Name string `json:"name,omitempty"` // The namespace containing the resource to be referenced. It should be left // empty in case of cluster-wide resources. Namespace string `json:"namespace,omitempty"` }
GenericRef represents a reference to a generic Kubernetes resource, and it is composed of the resource name and (optionally) its namespace.
func (*GenericRef) DeepCopy ¶
func (in *GenericRef) DeepCopy() *GenericRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericRef.
func (*GenericRef) DeepCopyInto ¶
func (in *GenericRef) DeepCopyInto(out *GenericRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LiqoCredentials ¶ added in v0.0.2
type LiqoCredentials struct { ClusterID string `json:"clusterID"` ClusterName string `json:"clusterName"` Token string `json:"token"` Endpoint string `json:"endpoint"` }
LiqoCredentials contains the credentials of a Liqo cluster to enstablish a peering.
func (*LiqoCredentials) DeepCopy ¶ added in v0.0.2
func (in *LiqoCredentials) DeepCopy() *LiqoCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiqoCredentials.
func (*LiqoCredentials) DeepCopyInto ¶ added in v0.0.2
func (in *LiqoCredentials) DeepCopyInto(out *LiqoCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MatchSelector ¶
type MatchSelector struct { CPU resource.Quantity `json:"cpu,omitempty"` Memory resource.Quantity `json:"memory,omitempty"` Pods resource.Quantity `json:"pods,omitempty"` Storage resource.Quantity `json:"storage,omitempty"` EphemeralStorage resource.Quantity `json:"ephemeralStorage,omitempty"` Gpu resource.Quantity `json:"gpu,omitempty"` }
MatchSelector represents the criteria for selecting Flavours through a strict match.
func (*MatchSelector) DeepCopy ¶
func (in *MatchSelector) DeepCopy() *MatchSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchSelector.
func (*MatchSelector) DeepCopyInto ¶
func (in *MatchSelector) DeepCopyInto(out *MatchSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeIdentity ¶
type NodeIdentity struct { Domain string `json:"domain"` NodeID string `json:"nodeID"` IP string `json:"ip"` }
NodeIdentity is the identity of a FLUIDOS Node.
func (*NodeIdentity) DeepCopy ¶
func (in *NodeIdentity) DeepCopy() *NodeIdentity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeIdentity.
func (*NodeIdentity) DeepCopyInto ¶
func (in *NodeIdentity) DeepCopyInto(out *NodeIdentity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OptionalFields ¶
type OptionalFields struct { // Availability is the availability flag of the Flavour. // It is a field inherited from the REAR Protocol specifications. Availability bool `json:"availability,omitempty"` // WorkerID is the ID of the worker that provides the Flavour. WorkerID string `json:"workerID,omitempty"` }
func (*OptionalFields) DeepCopy ¶
func (in *OptionalFields) DeepCopy() *OptionalFields
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionalFields.
func (*OptionalFields) DeepCopyInto ¶
func (in *OptionalFields) DeepCopyInto(out *OptionalFields)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Partition ¶ added in v0.0.2
type Partition struct { Architecture string `json:"architecture"` CPU resource.Quantity `json:"cpu"` Memory resource.Quantity `json:"memory"` Pods resource.Quantity `json:"pods"` Gpu resource.Quantity `json:"gpu,omitempty"` EphemeralStorage resource.Quantity `json:"ephemeral-storage,omitempty"` Storage resource.Quantity `json:"storage,omitempty"` }
Partition is the partition of the flavour.
func (*Partition) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Partition.
func (*Partition) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Partitionable ¶
type Partitionable struct { // CpuMin is the minimum requirable number of CPU cores of the Flavour. CpuMin resource.Quantity `json:"cpuMin"` // MemoryMin is the minimum requirable amount of RAM of the Flavour. MemoryMin resource.Quantity `json:"memoryMin"` // PodsMin is the minimum requirable number of pods of the Flavour. PodsMin resource.Quantity `json:"podsMin"` // CpuStep is the incremental value of CPU cores of the Flavour. CpuStep resource.Quantity `json:"cpuStep"` // MemoryStep is the incremental value of RAM of the Flavour. MemoryStep resource.Quantity `json:"memoryStep"` // PodsStep is the incremental value of pods of the Flavour. PodsStep resource.Quantity `json:"podsStep"` }
Partitionable represents the partitioning properties of a Flavour, such as the minimum and incremental values of CPU and RAM.
func (*Partitionable) DeepCopy ¶
func (in *Partitionable) DeepCopy() *Partitionable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Partitionable.
func (*Partitionable) DeepCopyInto ¶
func (in *Partitionable) DeepCopyInto(out *Partitionable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Phase ¶
type Phase string
const ( PhaseSolved Phase = "Solved" PhaseFailed Phase = "Failed" PhaseRunning Phase = "Running" PhaseAllocating Phase = "Allocating" PhaseIdle Phase = "Idle" PhaseTimeout Phase = "Timed Out" PhaseActive Phase = "Active" PhasePending Phase = "Pending" PhaseInactive Phase = "Inactive" )
Set of constants for the phases of the FLUIDOS Node modules.
type PhaseStatus ¶
type PhaseStatus struct { Phase Phase `json:"phase"` Message string `json:"message,omitempty"` StartTime string `json:"startTime,omitempty"` LastChangeTime string `json:"lastChangeTime,omitempty"` EndTime string `json:"endTime,omitempty"` }
PhaseStatus represents the status of a phase of the solver. I.e. the status of the REAR phases.
func (*PhaseStatus) DeepCopy ¶
func (in *PhaseStatus) DeepCopy() *PhaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhaseStatus.
func (*PhaseStatus) DeepCopyInto ¶
func (in *PhaseStatus) DeepCopyInto(out *PhaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Policy ¶
type Policy struct { // Partitionable contains the partitioning properties of the Flavour. Partitionable *Partitionable `json:"partitionable,omitempty"` // Aggregatable contains the aggregation properties of the Flavour. Aggregatable *Aggregatable `json:"aggregatable,omitempty"` }
func (*Policy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
func (*Policy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Price ¶
type Price struct { // Amount is the amount of the price. Amount string `json:"amount"` // Currency is the currency of the price. Currency string `json:"currency"` // Period is the period of the price. Period string `json:"period"` }
func (*Price) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Price.
func (*Price) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RangeSelector ¶
type RangeSelector struct { MinCpu resource.Quantity `json:"minCpu,omitempty"` MinMemory resource.Quantity `json:"minMemory,omitempty"` MinPods resource.Quantity `json:"minPods,omitempty"` MinEph resource.Quantity `json:"minEph,omitempty"` MinStorage resource.Quantity `json:"minStorage,omitempty"` MinGpu resource.Quantity `json:"minGpu,omitempty"` MaxCpu resource.Quantity `json:"MaxCpu,omitempty"` MaxMemory resource.Quantity `json:"MaxMemory,omitempty"` MaxPods resource.Quantity `json:"MaxPods,omitempty"` MaxEph resource.Quantity `json:"MaxEph,omitempty"` MaxStorage resource.Quantity `json:"MaxStorage,omitempty"` MaxGpu resource.Quantity `json:"MaxGpu,omitempty"` }
RangeSelector represents the criteria for selecting Flavours through a range.
func (*RangeSelector) DeepCopy ¶
func (in *RangeSelector) DeepCopy() *RangeSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeSelector.
func (*RangeSelector) DeepCopyInto ¶
func (in *RangeSelector) DeepCopyInto(out *RangeSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Solver ¶
type Solver struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SolverSpec `json:"spec,omitempty"` Status SolverStatus `json:"status,omitempty"` }
Solver is the Schema for the solvers API +kubebuilder:printcolumn:name="Intent ID",type=string,JSONPath=`.spec.intentID` +kubebuilder:printcolumn:name="Find Candidate",type=boolean,JSONPath=`.spec.findCandidate` +kubebuilder:printcolumn:name="Reserve and Buy",type=boolean,JSONPath=`.spec.reserveAndBuy` +kubebuilder:printcolumn:name="Peering",type=boolean,JSONPath=`.spec.enstablishPeering` +kubebuilder:printcolumn:name="Candidate Phase",type=string,priority=1,JSONPath=`.status.findCandidate` +kubebuilder:printcolumn:name="Reserving Phase",type=string,priority=1,JSONPath=`.status.reserveAndBuy` +kubebuilder:printcolumn:name="Peering Phase",type=string,priority=1,JSONPath=`.status.peering` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.solverPhase.phase` +kubebuilder:printcolumn:name="Message",type=string,JSONPath=`.status.solverPhase.message` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` Solver is the Schema for the solvers API
func (*Solver) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Solver.
func (*Solver) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Solver) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Solver) SetDiscoveryStatus ¶
SetDiscoveryStatus sets the discovery phase of the solver
func (*Solver) SetFindCandidateStatus ¶
SetFindCandidateStatus sets the FindCandidate phase of the solver
func (*Solver) SetPeeringStatus ¶ added in v0.0.2
SetPeeringStatus sets the Peering phase of the solver.
func (*Solver) SetReservationStatus ¶
SetReservationStatus sets the reservation phase of the solver
func (*Solver) SetReserveAndBuyStatus ¶
SetPurchasePhase sets the ReserveAndBuy phase of the solver
type SolverList ¶
type SolverList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Solver `json:"items"` }
SolverList contains a list of Solver
func (*SolverList) DeepCopy ¶
func (in *SolverList) DeepCopy() *SolverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolverList.
func (*SolverList) DeepCopyInto ¶
func (in *SolverList) DeepCopyInto(out *SolverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SolverList) DeepCopyObject ¶
func (in *SolverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SolverSpec ¶
type SolverSpec struct { // Selector contains the flavour requirements for the solver. Selector *FlavourSelector `json:"selector,omitempty"` // IntentID is the ID of the intent that the Node Orchestrator is trying to solve. // It is used to link the solver with the intent. IntentID string `json:"intentID"` // FindCandidate is a flag that indicates if the solver should find a candidate to solve the intent. FindCandidate bool `json:"findCandidate,omitempty"` // ReserveAndBuy is a flag that indicates if the solver should reserve and buy the resources on the candidate. ReserveAndBuy bool `json:"reserveAndBuy,omitempty"` // EnstablishPeering is a flag that indicates if the solver should enstablish a peering with the candidate. EnstablishPeering bool `json:"enstablishPeering,omitempty"` }
SolverSpec defines the desired state of Solver
func (*SolverSpec) DeepCopy ¶
func (in *SolverSpec) DeepCopy() *SolverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolverSpec.
func (*SolverSpec) DeepCopyInto ¶
func (in *SolverSpec) DeepCopyInto(out *SolverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolverStatus ¶
type SolverStatus struct { // FindCandidate describes the status of research of the candidate. // Rear Manager is looking for the best candidate Flavour to solve the Node Orchestrator request. FindCandidate Phase `json:"findCandidate,omitempty"` // ReserveAndBuy describes the status of the reservation and purchase of selected Flavour. // Rear Manager is trying to reserve and purchase the resources on the candidate FLUIDOS Node. ReserveAndBuy Phase `json:"reserveAndBuy,omitempty"` // Peering describes the status of the peering with the candidate. // Rear Manager is trying to enstablish a peering with the candidate FLUIDOS Node. Peering Phase `json:"peering,omitempty"` // DiscoveryPhase describes the status of the Discovery where the Discovery Manager // is looking for matching flavours outside the FLUIDOS Node DiscoveryPhase Phase `json:"discoveryPhase,omitempty"` // ReservationPhase describes the status of the Reservation where the Contract Manager // is reserving and purchasing the resources on the candidate node. ReservationPhase Phase `json:"reservationPhase,omitempty"` // ConsumePhase describes the status of the Consume phase where the VFM (Liqo) is enstablishing // a peering with the candidate node. ConsumePhase Phase `json:"consumePhase,omitempty"` // SolverPhase describes the status of the Solver generated by the Node Orchestrator. // It is usefull to understand if the solver is still running or if it has finished or failed. SolverPhase PhaseStatus `json:"solverPhase,omitempty"` // Allocation contains the allocation that the solver has eventually created for the intent. // It can correspond to a virtual node // The Node Orchestrator will use this allocation to fullfill the intent. Allocation GenericRef `json:"allocation,omitempty"` // Contract contains the Contract that the Contract Manager has eventually created with the candidate. Contract GenericRef `json:"contract,omitempty"` // Credentials contains the LiqoCredentials found in the Contract. Credentials LiqoCredentials `json:"credentials,omitempty"` }
SolverStatus defines the observed state of Solver
func (*SolverStatus) DeepCopy ¶
func (in *SolverStatus) DeepCopy() *SolverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolverStatus.
func (*SolverStatus) DeepCopyInto ¶
func (in *SolverStatus) DeepCopyInto(out *SolverStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.