Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the StarlingX v1 API group.
The schema definitions contained within are based on the StarlingX API definitions which are documented at the following location:
https://docs.starlingx.io/api-ref/stx-config/index.html
The API documentation contained within this package is intended to provide additional information related directly to the usage of the Deployment Manager. There is only minimal information about the nature of each attribute to provide the reader with some context. For a more thorough explanation the API definition at the aforementioned URL should be referenced. +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +deepequal-gen=package +k8s:conversion-gen=github.com/wind-river/cloud-platform-deployment-manager/pkg/apis/starlingx +k8s:defaulter-gen=TypeMeta +groupName=starlingx.windriver.com
Package v1 contains API Schema definitions for the starlingx v1beta1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/wind-river/cloud-platform-deployment-manager/pkg/apis/starlingx +k8s:defaulter-gen=TypeMeta +groupName=starlingx.windriver.com
Index ¶
- Constants
- Variables
- func NewBMSecret(name string, namespace string, username string) (*v1.Secret, error)
- func NewCertificateSecret(name string, namespace string) (*v1.Secret, error)
- func NewLicenseSecret(name string, namespace string, content string) (*v1.Secret, error)
- func NewMissingSystemResource(msg string) error
- func NewNamespace(name string) (*v1.Namespace, error)
- func Resource(resource string) schema.GroupResource
- type AddressInfo
- type AddressList
- type AllocationInfo
- type AllocationRange
- type BMCredentials
- type BMInfo
- type BMPasswordInfo
- type BondInfo
- type BondList
- type CertificateInfo
- type CertificateList
- type CommonInterfaceInfo
- type ControllerFileSystemInfo
- func (in *ControllerFileSystemInfo) DeepCopy() *ControllerFileSystemInfo
- func (in *ControllerFileSystemInfo) DeepCopyInto(out *ControllerFileSystemInfo)
- func (in *ControllerFileSystemInfo) DeepEqual(other *ControllerFileSystemInfo) bool
- func (in ControllerFileSystemInfo) IsKeyEqual(x ControllerFileSystemInfo) bool
- type ControllerFileSystemList
- type DRBDConfiguration
- type DataNetwork
- type DataNetworkList
- type DataNetworkSpec
- type DataNetworkStatus
- type ErrMissingSystemResource
- type EthernetInfo
- type EthernetList
- type EthernetPortInfo
- type FileSystemInfo
- type FileSystemList
- type Host
- type HostList
- type HostProfile
- type HostProfileList
- type HostProfileSpec
- type HostSpec
- type HostStatus
- type InterfaceInfo
- type JournalInfo
- type LicenseInfo
- type MatchBMInfo
- type MatchDMIInfo
- type MatchInfo
- type MemoryFunctionInfo
- type MemoryFunctionList
- type MemoryNodeInfo
- type MemoryNodeList
- type MonitorInfo
- type OSDInfo
- type OSDList
- type PTPInfo
- type PageSize
- type PhysicalVolumeInfo
- type PhysicalVolumeList
- type PlatformNetwork
- type PlatformNetworkList
- type PlatformNetworkSpec
- type PlatformNetworkStatus
- type ProcessorFunctionInfo
- type ProcessorFunctionList
- type ProcessorInfo
- type ProcessorNodeList
- type ProfileBaseAttributes
- type ProfileStorageInfo
- type RouteInfo
- type RouteList
- type ServiceParameterInfo
- type ServiceParameterList
- type StorageBackend
- type StorageBackendList
- type StringList
- type System
- type SystemList
- type SystemSpec
- type SystemStatus
- type SystemStorageInfo
- type VFInfo
- type VFList
- type VLANInfo
- type VLANList
- type VolumeGroupInfo
- type VolumeGroupList
- type VxLANInfo
Constants ¶
const ( ControllerToolsLabel = "controller-tools.k8s.io" ControllerToolsVersion = "1.0" )
const ( // Secret map key names. SecretUsernameKey = "username" SecretPasswordKey = "password" )
const ( KindHost = "Host" KindHostProfile = "HostProfile" KindPlatformNetwork = "PlatformNetwork" KindDataNetwork = "DataNetwork" KindSystem = "System" )
Defines the current list of resource kinds.
const ( ProvioningModeStatic = "static" ProvioningModeDynamic = "dynamic" )
Defines the valid host provisioning modes
const ( // List of valid certificate types. These must align with the system // API expected values. PlatformCertificate = "ssl" PlatformCACertificate = "ssl_ca" OpenstackCertificate = "openstack" OpenstackCACertificate = "openstack_ca" DockerCertificate = "docker_registry" TPMCertificate = "tpm_mode" )
const ( // List of secret data attribute keys SecretCertKey = "tls.crt" SecretPrivKeyKey = "tls.key" SecretCaCertKey = "ca.crt" SecretLicenseContentKey = "content" )
const APIVersion = Group + "/" + Version
const Group = "starlingx.windriver.com"
group defines the current in use API group.
const SystemDefaultLicenseName = "system-license"
Defines the default Secret name used for tracking license files.
const Version = "v1"
version defines the curent in use API version.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "starlingx.windriver.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme is required by pkg/client/... AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func NewBMSecret ¶
func NewCertificateSecret ¶
func NewLicenseSecret ¶
func NewMissingSystemResource ¶
NewMissingSystemResource defines a constructor for the ErrMissingSystemResource error type.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource is required by pkg/client/listers/...
Types ¶
type AddressInfo ¶
type AddressInfo struct { // Interface is a reference to the interface name against which to configure // the address. // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\.]+$ Interface string `json:"interface"` // Address defines the IPv4 or IPv6 address value. Address string `json:"address"` // Prefix defines the IP address network prefix length. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=128 Prefix int `json:"prefix"` }
AddressInfo defines the attributes specific to a single address.
func (*AddressInfo) DeepCopy ¶
func (in *AddressInfo) DeepCopy() *AddressInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressInfo.
func (*AddressInfo) DeepCopyInto ¶
func (in *AddressInfo) DeepCopyInto(out *AddressInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddressInfo) DeepEqual ¶
func (in *AddressInfo) DeepEqual(other *AddressInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (AddressInfo) IsKeyEqual ¶
func (in AddressInfo) IsKeyEqual(x AddressInfo) bool
IsKeyEqual compares two interface address array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type AddressList ¶
type AddressList []AddressInfo
AddressList defines a type to represent a slice of addresses. +deepequal-gen:unordered-array=true
func (AddressList) DeepCopy ¶
func (in AddressList) DeepCopy() AddressList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressList.
func (AddressList) DeepCopyInto ¶
func (in AddressList) DeepCopyInto(out *AddressList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddressList) DeepEqual ¶
func (in *AddressList) DeepEqual(other *AddressList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type AllocationInfo ¶
type AllocationInfo struct { // Ranges defines the pools from which host addresses are allocated. If // omitted addresses the entire network // address space is considered available. Ranges []AllocationRange `json:"ranges,omitempty"` // Type defines whether network addresses are allocated dynamically or // statically. // +kubebuilder:validation:Enum=static,dynamic Type string `json:"type"` // Order defines whether host address are allocation randomly or sequential // from the available pool or addresses. // +kubebuilder:validation:Enum=sequential,random // +optional Order *string `json:"order,omitempty"` }
AllocationInfo defines the allocation scheme details for a network
func (*AllocationInfo) DeepCopy ¶
func (in *AllocationInfo) DeepCopy() *AllocationInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationInfo.
func (*AllocationInfo) DeepCopyInto ¶
func (in *AllocationInfo) DeepCopyInto(out *AllocationInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AllocationInfo) DeepEqual ¶
func (in *AllocationInfo) DeepEqual(other *AllocationInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type AllocationRange ¶
type AllocationRange struct { // Start defines the beginning of the address range (inclusively) Start string `json:"start"` // End defines the end of the address range (inclusively) End string `json:"end"` }
AllocationRange defines the start and end address for an allocation range
func (*AllocationRange) DeepCopy ¶
func (in *AllocationRange) DeepCopy() *AllocationRange
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationRange.
func (*AllocationRange) DeepCopyInto ¶
func (in *AllocationRange) DeepCopyInto(out *AllocationRange)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AllocationRange) DeepEqual ¶
func (in *AllocationRange) DeepEqual(other *AllocationRange) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type BMCredentials ¶
type BMCredentials struct { // Password defines the attributes specific to password based // authentication. // +optional Password *BMPasswordInfo `json:"password,omitempty"` }
BMCredentials defines attributes specific to each authentication type. +deepequal-gen:ignore-nil-fields=true
func (*BMCredentials) DeepCopy ¶
func (in *BMCredentials) DeepCopy() *BMCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCredentials.
func (*BMCredentials) DeepCopyInto ¶
func (in *BMCredentials) DeepCopyInto(out *BMCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BMCredentials) DeepEqual ¶
func (in *BMCredentials) DeepEqual(other *BMCredentials) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type BMInfo ¶
type BMInfo struct { // Type defines the board management controller type. This is left as // optional so that the address can be overridden on a per-host basis // without worrying about overwriting the type or credentials. // +kubebuilder:validation:Enum=none,bmc,dynamic,ipmi,redfish // +optional Type *string `json:"type,omitempty"` // Address defines the IP address or hostname of the board management // interface. An address is specific to a host therefore this should only // be set if the profile is only going to be used to configure a single // host; otherwise it should be set as a per-host override. // +optional Address *string `json:"address,omitempty"` // Credentials defines the authentication credentials for the board // management interface. This is left as optional so that the address can // be overridden on a per-host basis without worrying about overwriting the // type or credentials. // +optional Credentials *BMCredentials `json:"credentials,omitempty"` }
+deepequal-gen:ignore-nil-fields=true
func (*BMInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMInfo.
func (*BMInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BMPasswordInfo ¶
type BMPasswordInfo struct { // Secret defines the name of the secret which contains the username and // password for the board management // controller. Secret string `json:"secret"` }
BMPasswordInfo defines attributes specific to password based authentication.
func (*BMPasswordInfo) DeepCopy ¶
func (in *BMPasswordInfo) DeepCopy() *BMPasswordInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMPasswordInfo.
func (*BMPasswordInfo) DeepCopyInto ¶
func (in *BMPasswordInfo) DeepCopyInto(out *BMPasswordInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BMPasswordInfo) DeepEqual ¶
func (in *BMPasswordInfo) DeepEqual(other *BMPasswordInfo) bool
DeepEqual overrides the code generated DeepEqual method because the credential information built from the running configuration never includes the password since the system API does not provide it. Therefore when the BMPasswordInfo is setup dynamically we put a dummy value in the Secret name which will likely never match what is in the desired configuration so there is no point in comparing it.
type BondInfo ¶
type BondInfo struct { // CommonInterfaceInfo defines attributes common to all interface // types. CommonInterfaceInfo `json:",inline"` // Members defines the list of interfaces which, together, make up the Bond // interface. // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\.]+$ Members StringList `json:"members"` // Mode defines the Bond interface aggregation mode. // +kubebuilder:validation:Enum=balanced,active_standby,802.3ad Mode string `json:"mode"` // TransmitHashPolicy defines the transmit interface selection policy for // the Bond interface. Only applicable for 802.3ad and balanced modes. // +kubebuilder:validation:Enum=layer2,layer2+3 // +optional TransmitHashPolicy *string `json:"transmitHashPolicy,omitempty"` // PrimaryReselect defines the reselection policy for the Bond interface. // Only applicable for active_standby mode. // +kubebuilder:valiation:Enum=always,better,failure // +optional PrimaryReselect *string `json:"primaryReselect,omitempty"` }
BondInfo defines the attributes specific to a single Bond interface.
func (*BondInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BondInfo.
func (*BondInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BondInfo) DeepEqual ¶
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (BondInfo) IsKeyEqual ¶
IsKeyEqual compares two Bond interface array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type BondList ¶
type BondList []BondInfo
BondList defines a type to represent a slice of Bond interfaces. +deepequal-gen:unordered-array=true
func (BondList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BondList.
func (BondList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CertificateInfo ¶
type CertificateInfo struct { // Type represents the intended usage of the certificate // +kubebuilder:validation:Enum=ssl,ssl_ca,openstack,openstack_ca,docker_registry,tpm_mode Type string `json:"type"` // Secret is the name of a TLS secret containing the public certificate and // private key. The secret must be of type kubernetes.io/tls and must // contain specific data attributes. Specifically, all secrets must, at a // minimum contain the "tls.crt" key since all certificates will at least // require public certificate PEM data. The remaining two keys "tls.key" // and "ca.crt" are optional depending on the certificate type. For the // "platform", "openstack", "tpm", and "docker" certificate types both the // "tls.crt" and "tls.key" certificates are needed while for the "*_ca" // version of those same certificate types only the "tls.crt" attribute is // required. The "ca.crt" attribute is only required for the "platform" or // "tpm" certificate types, and only if the supplied public certificate is // signed by a non-standard root CA. Secret string `json:"secret"` // Signature is the serial number of the certificate prepended with its // type. This attribute is for internal use only, when making comparisons Signature string `json:"-"` }
CertificateInfo defines the attributes required to define an instance of a certificate to be installed via the system API. The structure of the system API is not uniform for all certificate types therefore some attention is required when defining these resources.
func (*CertificateInfo) DeepCopy ¶
func (in *CertificateInfo) DeepCopy() *CertificateInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateInfo.
func (*CertificateInfo) DeepCopyInto ¶
func (in *CertificateInfo) DeepCopyInto(out *CertificateInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CertificateInfo) DeepEqual ¶
func (in *CertificateInfo) DeepEqual(other *CertificateInfo) bool
DeepEqual overrides the code generated DeepEqual method because the credential information built from the running configuration never includes enough information to rebuild the certificate (i.e., the private key is not returned at the API) so when the profile is created dynamically it can only point to a Secret named by the system.
func (CertificateInfo) IsKeyEqual ¶
func (in CertificateInfo) IsKeyEqual(x CertificateInfo) bool
IsKeyEqual compares two CertificateInfo list elements and determines if they refer to the same instance.
func (*CertificateInfo) PrivateKeyExpected ¶
func (in *CertificateInfo) PrivateKeyExpected() bool
PrivateKeyExpected determines whether a certificate requires a private key to be supplied to the system API.
type CertificateList ¶
type CertificateList []CertificateInfo
CertificateList defines a type to represent a slice of certificate info objects. +deepequal-gen:unordered-array=true
func (CertificateList) DeepCopy ¶
func (in CertificateList) DeepCopy() CertificateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateList.
func (CertificateList) DeepCopyInto ¶
func (in CertificateList) DeepCopyInto(out *CertificateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CertificateList) DeepEqual ¶
func (in *CertificateList) DeepEqual(other *CertificateList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CommonInterfaceInfo ¶
type CommonInterfaceInfo struct { // Name defines the name of the interface to be configured. // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\.]+$ Name string `json:"name"` // Class defines the intended usage of this interface by the system. // +kubebuilder:validation:Enum=platform,data,pci-sriov,pci-passthrough,none Class string `json:"class"` // MTU defines the maximum transmit unit for this interface. // +kubebuilder:validation:Minimum=576 // +kubebuilder:validation:Maximum=9216 // +optional MTU *int `json:"mtu,omitempty"` // PlatformNetworks defines the list of platform networks to be configured // against this interface. // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_]+$ // +optional PlatformNetworks *StringList `json:"platformNetworks,omitempty"` // DataNetworks defines the list of data networks to be configured against // this interface. // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_]+$ // +optional DataNetworks *StringList `json:"dataNetworks,omitempty"` // PTPRole defines the ptp role as master, slave, or none // +kubebuilder:validation:Enum=master,slave,none PTPRole *string `json:"ptpRole,omitempty"` }
CommonInterfaceInfo defines the attributes common to all interface types. They are defined once, here, and inlined within each of the different interface type structures. +deepequal-gen:ignore-nil-fields=true
func (*CommonInterfaceInfo) DeepCopy ¶
func (in *CommonInterfaceInfo) DeepCopy() *CommonInterfaceInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonInterfaceInfo.
func (*CommonInterfaceInfo) DeepCopyInto ¶
func (in *CommonInterfaceInfo) DeepCopyInto(out *CommonInterfaceInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CommonInterfaceInfo) DeepEqual ¶
func (in *CommonInterfaceInfo) DeepEqual(other *CommonInterfaceInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type ControllerFileSystemInfo ¶
type ControllerFileSystemInfo struct { // Name defines the system defined name of the filesystem resource. Name string `json:"name"` // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:ExclusiveMinimum=false Size int `json:"size"` }
ControllerFileSystemInfo defines the attributes of a single controller filesystem resource.
func (*ControllerFileSystemInfo) DeepCopy ¶
func (in *ControllerFileSystemInfo) DeepCopy() *ControllerFileSystemInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerFileSystemInfo.
func (*ControllerFileSystemInfo) DeepCopyInto ¶
func (in *ControllerFileSystemInfo) DeepCopyInto(out *ControllerFileSystemInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControllerFileSystemInfo) DeepEqual ¶
func (in *ControllerFileSystemInfo) DeepEqual(other *ControllerFileSystemInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (ControllerFileSystemInfo) IsKeyEqual ¶
func (in ControllerFileSystemInfo) IsKeyEqual(x ControllerFileSystemInfo) bool
IsKeyEqual compares two controller file system array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type ControllerFileSystemList ¶
type ControllerFileSystemList []ControllerFileSystemInfo
ControllerFileSystemList defines a type to represent a slice of controller filesystem resources. +deepequal-gen:unordered-array=true
func (ControllerFileSystemList) DeepCopy ¶
func (in ControllerFileSystemList) DeepCopy() ControllerFileSystemList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerFileSystemList.
func (ControllerFileSystemList) DeepCopyInto ¶
func (in ControllerFileSystemList) DeepCopyInto(out *ControllerFileSystemList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControllerFileSystemList) DeepEqual ¶
func (in *ControllerFileSystemList) DeepEqual(other *ControllerFileSystemList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type DRBDConfiguration ¶
type DRBDConfiguration struct { // LinkUtilization defines the maximum link utilisation percentage during // sync activities. // +kubebuilder:validation:Minimum=20 // +kubebuilder:validation:Maximum=100 // +kubebuilder:validation:ExclusiveMinimum=false // +kubebuilder:validation:ExclusiveMaximum=false LinkUtilization int `json:"linkUtilization"` }
DRBDConfiguration defines the DRBD file system settings for the system.
func (*DRBDConfiguration) DeepCopy ¶
func (in *DRBDConfiguration) DeepCopy() *DRBDConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DRBDConfiguration.
func (*DRBDConfiguration) DeepCopyInto ¶
func (in *DRBDConfiguration) DeepCopyInto(out *DRBDConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DRBDConfiguration) DeepEqual ¶
func (in *DRBDConfiguration) DeepEqual(other *DRBDConfiguration) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type DataNetwork ¶
type DataNetwork struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DataNetworkSpec `json:"spec,omitempty"` Status DataNetworkStatus `json:"status,omitempty"` }
DataNetworks defines the attributes that represent the data network level attributes of a StarlingX system. This is a composition of the following StarlingX API endpoints.
https://docs.starlingx.io/api-ref/stx-config/api-ref-sysinv-v1-config.html#data-networks
+k8s:openapi-gen=true +deepequal-gen=false +kubebuilder:subresource:status +kubebuilder:printcolumn:name="type",type="string",JSONPath=".spec.type",description="The data network encapsulation type." +kubebuilder:printcolumn:name="insync",type="boolean",JSONPath=".status.inSync",description="The current synchronization state." +kubebuilder:printcolumn:name="reconciled",type="boolean",JSONPath=".status.reconciled",description="The current reconciliation state."
func NewDataNetwork ¶
func NewDataNetwork(name string, namespace string, net datanetworks.DataNetwork) (*DataNetwork, error)
func (*DataNetwork) DeepCopy ¶
func (in *DataNetwork) DeepCopy() *DataNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataNetwork.
func (*DataNetwork) DeepCopyInto ¶
func (in *DataNetwork) DeepCopyInto(out *DataNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataNetwork) DeepCopyObject ¶
func (in *DataNetwork) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataNetworkList ¶
type DataNetworkList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DataNetwork `json:"items"` }
DataNetworkNameList contains a list of DataNetwork +deepequal-gen=false
func (*DataNetworkList) DeepCopy ¶
func (in *DataNetworkList) DeepCopy() *DataNetworkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataNetworkList.
func (*DataNetworkList) DeepCopyInto ¶
func (in *DataNetworkList) DeepCopyInto(out *DataNetworkList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataNetworkList) DeepCopyObject ¶
func (in *DataNetworkList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataNetworkSpec ¶
type DataNetworkSpec struct { // Type defines the encapsulation method used for the data network. // +kubebuilder:validation:Enum=flat,vlan,vxlan Type string `json:"type"` // Description defines a user define description which explains the purpose // of the data network. // +optional Description *string `json:"description,omitempty"` // MTU defines the maximum transmit unit for any virtual network derived // from this data network. // +kubebuilder:validation:Minimum=576 // +kubebuilder:validation:Maximum=9216 // +optional MTU *int `json:"mtu,omitempty"` // VxLan defines VxLAN specific attributes for the data network. // +optional VxLAN *VxLANInfo `json:"vxlan,omitempty"` }
DataNetworkSpec defines the desired state of a DataNetwork resource
func NewDataNetworkSpec ¶
func NewDataNetworkSpec(net datanetworks.DataNetwork) (*DataNetworkSpec, error)
func (*DataNetworkSpec) DeepCopy ¶
func (in *DataNetworkSpec) DeepCopy() *DataNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataNetworkSpec.
func (*DataNetworkSpec) DeepCopyInto ¶
func (in *DataNetworkSpec) DeepCopyInto(out *DataNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataNetworkSpec) DeepEqual ¶
func (in *DataNetworkSpec) DeepEqual(other *DataNetworkSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type DataNetworkStatus ¶
type DataNetworkStatus struct { // ID defines the system assigned unique identifier. This will only exist // once this resource has been provisioned into the system. // +optional ID *string `json:"id,omitempty"` // Reconciled defines whether the host has been successfully reconciled // at least once. If further changes are made they will be ignored by the // reconciler. Reconciled bool `json:"reconciled"` // Defines whether the resource has been provisioned on the target system. InSync bool `json:"inSync"` }
DataNetworkStatus defines the observed state of a DataNetwork resource
func (*DataNetworkStatus) DeepCopy ¶
func (in *DataNetworkStatus) DeepCopy() *DataNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataNetworkStatus.
func (*DataNetworkStatus) DeepCopyInto ¶
func (in *DataNetworkStatus) DeepCopyInto(out *DataNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataNetworkStatus) DeepEqual ¶
func (in *DataNetworkStatus) DeepEqual(other *DataNetworkStatus) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type ErrMissingSystemResource ¶
type ErrMissingSystemResource struct {
// contains filtered or unexported fields
}
ErrMissingSystemResource defines an error to be used when reporting that an operation is unable to find a required system resource from the system API. This error is not intended for kubernetes resources that are missing. For those use ErrMissingKubernetesResource
func (*ErrMissingSystemResource) DeepCopy ¶
func (in *ErrMissingSystemResource) DeepCopy() *ErrMissingSystemResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrMissingSystemResource.
func (*ErrMissingSystemResource) DeepCopyInto ¶
func (in *ErrMissingSystemResource) DeepCopyInto(out *ErrMissingSystemResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ErrMissingSystemResource) DeepEqual ¶
func (in *ErrMissingSystemResource) DeepEqual(other *ErrMissingSystemResource) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (ErrMissingSystemResource) Error ¶
func (in ErrMissingSystemResource) Error() string
Error returns the message associated with an error of this type.
type EthernetInfo ¶
type EthernetInfo struct { // CommonInterfaceInfo defines attributes common to all interface // types. CommonInterfaceInfo `json:",inline"` // VFCount defines the number of SRIOV VF interfaces to be allocated. Only // applicable if the interface class is set to "pci-sriov". // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=128 // +optional VFCount *int `json:"vfCount,omitempty"` // VFDriver defines the device driver to be associated with each individual // SRIOV VF interface allocated. Only applicable if the interface class is // set to "pci-sriov". VFDriver *string `json:"vfDriver,omitempty"` // Port defines the attributes identifying the underlying port which defines // this Ethernet interface. Port EthernetPortInfo `json:"port"` // Lower defines the interface name over which this ethernet interface is to be // configured. // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\.]+$ Lower string `json:"lower,omitempty"` }
EthernetInfo defines the attributes specific to a single Ethernet interface. +deepequal-gen:ignore-nil-fields=true
func (*EthernetInfo) DeepCopy ¶
func (in *EthernetInfo) DeepCopy() *EthernetInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EthernetInfo.
func (*EthernetInfo) DeepCopyInto ¶
func (in *EthernetInfo) DeepCopyInto(out *EthernetInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EthernetInfo) DeepEqual ¶
func (in *EthernetInfo) DeepEqual(other *EthernetInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (EthernetInfo) IsKeyEqual ¶
func (in EthernetInfo) IsKeyEqual(x EthernetInfo) bool
IsKeyEqual compares two ethernet interface array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type EthernetList ¶
type EthernetList []EthernetInfo
EthernetList defines a type to represent a slice of ethernet interfaces. +deepequal-gen:unordered-array=true
func (EthernetList) DeepCopy ¶
func (in EthernetList) DeepCopy() EthernetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EthernetList.
func (EthernetList) DeepCopyInto ¶
func (in EthernetList) DeepCopyInto(out *EthernetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EthernetList) DeepEqual ¶
func (in *EthernetList) DeepEqual(other *EthernetList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type EthernetPortInfo ¶
type EthernetPortInfo struct { // SystemName defines the device name of the Ethernet port. // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_]+$ Name string `json:"name"` }
EthernetPortInfo defines the attributes specific to a single Ethernet port.
func (*EthernetPortInfo) DeepCopy ¶
func (in *EthernetPortInfo) DeepCopy() *EthernetPortInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EthernetPortInfo.
func (*EthernetPortInfo) DeepCopyInto ¶
func (in *EthernetPortInfo) DeepCopyInto(out *EthernetPortInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EthernetPortInfo) DeepEqual ¶
func (in *EthernetPortInfo) DeepEqual(other *EthernetPortInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type FileSystemInfo ¶
type FileSystemInfo struct { // Name defines the system defined name of the filesystem resource. Each // filesystem name may only be applicable to a subset of host personalities. // Refer to StarlingX documentation for more information. // +kubebuilder:validation:Enum=backup,docker,scratch,kubelet Name string `json:"name"` // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:ExclusiveMinimum=false Size int `json:"size"` }
FileSystemInfo defines the attributes of a single host filesystem resource.
func (*FileSystemInfo) DeepCopy ¶
func (in *FileSystemInfo) DeepCopy() *FileSystemInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSystemInfo.
func (*FileSystemInfo) DeepCopyInto ¶
func (in *FileSystemInfo) DeepCopyInto(out *FileSystemInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FileSystemInfo) DeepEqual ¶
func (in *FileSystemInfo) DeepEqual(other *FileSystemInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (FileSystemInfo) IsKeyEqual ¶
func (in FileSystemInfo) IsKeyEqual(x FileSystemInfo) bool
IsKeyEqual compares two storage file system array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type FileSystemList ¶
type FileSystemList []FileSystemInfo
FileSystemList defines a type to represent a slice of host filesystem resources. +deepequal-gen:unordered-array=true
func (FileSystemList) DeepCopy ¶
func (in FileSystemList) DeepCopy() FileSystemList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSystemList.
func (FileSystemList) DeepCopyInto ¶
func (in FileSystemList) DeepCopyInto(out *FileSystemList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FileSystemList) DeepEqual ¶
func (in *FileSystemList) DeepEqual(other *FileSystemList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type Host ¶
type Host struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HostSpec `json:"spec,omitempty"` Status HostStatus `json:"status,omitempty"` }
Host defines the attributes that represent the host level attributes of a StarlingX system.
+k8s:openapi-gen=true +deepequal-gen=false +kubebuilder:subresource:status +kubebuilder:printcolumn:name="administrative",type="string",JSONPath=".status.administrativeState",description="The administrative state of the host." +kubebuilder:printcolumn:name="operational",type="string",JSONPath=".status.operationalStatus",description="The operational status of the host." +kubebuilder:printcolumn:name="availability",type="string",JSONPath=".status.availabilityStatus",description="The availability status of the host." +kubebuilder:printcolumn:name="profile",type="string",JSONPath=".spec.profile",description="The configuration profile of the host." +kubebuilder:printcolumn:name="insync",type="boolean",JSONPath=".status.inSync",description="The current synchronization state." +kubebuilder:printcolumn:name="reconciled",type="boolean",JSONPath=".status.reconciled",description="The current reconciliation state."
func (*Host) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Host.
func (*Host) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Host) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostList ¶
type HostList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Host `json:"items"` }
HostList contains a list of Host +deepequal-gen=false
func (*HostList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostList.
func (*HostList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostProfile ¶
type HostProfile struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HostProfileSpec `json:"spec,omitempty"` }
HostProfile defines the attributes that represent the host level attributes of a StarlingX system. This is represents the bulk of the system API attributes and is the most complex part of the schema definition. Refer the full list of API documentation here:
https://docs.starlingx.io/api-ref/stx-config/index.html
+k8s:openapi-gen=true +deepequal-gen=false +kubebuilder:printcolumn:name="base",type="string",JSONPath=".spec.base",description="The parent host profile."
func NewHostProfile ¶
func (*HostProfile) DeepCopy ¶
func (in *HostProfile) DeepCopy() *HostProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostProfile.
func (*HostProfile) DeepCopyInto ¶
func (in *HostProfile) DeepCopyInto(out *HostProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostProfile) DeepCopyObject ¶
func (in *HostProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostProfileList ¶
type HostProfileList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HostProfile `json:"items"` }
HostProfileList contains a list of HostProfile +deepequal-gen=false
func (*HostProfileList) DeepCopy ¶
func (in *HostProfileList) DeepCopy() *HostProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostProfileList.
func (*HostProfileList) DeepCopyInto ¶
func (in *HostProfileList) DeepCopyInto(out *HostProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostProfileList) DeepCopyObject ¶
func (in *HostProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostProfileSpec ¶
type HostProfileSpec struct { // Base defines the name of another HostProfile from which to inherit // attributes. HostProfiles can be structured in a hierarchy so that many // HostProfiles can inherit generic attributes from a parent HostProfile. // This hierarchy can be defined in multiple layers; with lower layers // overriding attributes set in higher layers. // // At configuration time, before a Host is configured, the hierarchy of // HostProfile resources is flattened to produce a single composite profile // that represents the final attributes as they are overridden down the // HostProfile hierarchy. // // Once the HostProfile hierarchy is flattened to a composite profile. The // Deployment Manager will further refine the profile to create a final // HostProfile which serves as the final configuration for the Host // resource. To create the final HostProfile, the Deployment Manages merges // the composite profile with the initial default host attributes, and then // merges the individual host overrides into that result. The process // can be illustrated as follows: // // // Host Defaults +---------------------+ // | \ // | \ // Base Profile + \ // | \ \ // ... + Composite Profile ----+ Final Profile // | / / // Personality Profile(s) + / // | / // | / // Host / // | / // | / // Host Overrides +-----------------+ // // // Merging two HostProfileSpec resources consists of merging the attributes // of a higher precedence profile into the attributes of a lower precedences // profile. The rules for merging attributes are as follows. // // 1) A nil pointer is always overwritten by a non-nil pointer. // // 2) Two non-nil pointers are merged together according to the underlying // type. // // 2a) If the type pointed to is a primitive type (e.g., int, bool, // string, etc) then the higher precedence value is used). // // 2b) If the type pointed to is a structure then this same merge // procedure is repeated recursively on each field of the structure // with these same rules applying to each field. // // 2c) If the type pointed to is a slice/array then rule (3) is used. // // 2d) If the type pointed to is a map then higher precedence value is // used and the entire map is overwritten. // // 3) Two slices are merged together using the following sub-rules. // // 3a) If the elements of slices define the KeyEqual() method then an // attempt is made to try to merge equivalent element using this same // merge strategy. Elements from the higher precedence list that do // not have an equivalent in the lower precedence list are appended to // the list. Elements appearing in the lower precedence list but not // in the higher precedence list are kept intact. // // 3b) If the elements of the slices do not define the KeyEqual() method // then they are simply concatenated together. // // 3c) An empty slice is handled as a special case that deletes the // contents of the lower precedence slice. Do not confuse an empty // slice with a nil slice pointer. // // +optional Base *string `json:"base,omitempty"` // ProfileBaseAttributes defines the node level base attributes. They are // grouped together to take advantage of the code generated DeepEqual // method to facilitate comparisons. ProfileBaseAttributes `json:",inline"` // BoardManagement defines the attributes specific to the board management // controller configuration. // +optional BoardManagement *BMInfo `json:"boardManagement,omitempty"` // Processors defines the core allocations for each function across all NUMA // sockets/nodes. Processors ProcessorNodeList `json:"processors,omitempty"` // Memory defines the memory allocations for each function across all NUMA // sockets/nodes. Memory MemoryNodeList `json:"memory,omitempty"` // Storage defines the storage attributes for the host // +optional Storage *ProfileStorageInfo `json:"storage,omitempty"` // Interfaces defines the list of interfaces to be configured against this // host. // +optional Interfaces *InterfaceInfo `json:"interfaces,omitempty"` // Addresses defines the list of addresses to be configured against this // host. Addresses are specific to a single host therefore they should only // be specified if this profile is only going to be used to configure a // single // host. Addresses AddressList `json:"addresses,omitempty"` // Routes defines the list of routes to be configured against this host. // Routes require that the target interface be configured with a suitable // address (e.g., one that allows reachability to next hop device(s)) // therefore the host must be configured with valid addresses or configured // to for automatic address assignment from a platform network. Routes RouteList `json:"routes,omitempty"` }
HostProfileSpec defines the desired state of HostProfile
func NewHostProfileSpec ¶
func NewHostProfileSpec(host v1info.HostInfo) (*HostProfileSpec, error)
BuildHostProfile takes the current set of host attributes and builds a fake host profile that can be used as a reference for the current settings applied to the host.
func (*HostProfileSpec) DeepCopy ¶
func (in *HostProfileSpec) DeepCopy() *HostProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostProfileSpec.
func (*HostProfileSpec) DeepCopyInto ¶
func (in *HostProfileSpec) DeepCopyInto(out *HostProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostProfileSpec) DeepEqual ¶
func (in *HostProfileSpec) DeepEqual(other *HostProfileSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*HostProfileSpec) HasWorkerSubFunction ¶
func (in *HostProfileSpec) HasWorkerSubFunction() bool
HasWorkerSubfunction is a utility function that returns true if a profile is configured to require the compute subfunction.
type HostSpec ¶
type HostSpec struct { // Profile defines the name of the HostProfile to use as a configuration // template for the host. A host may point to a single HostProfile resource // or may point to a chain or hierarchy of HostProfile resources. At // configuration time the Deployment Manager will flatten the Host // attributes defined in the hierarchy of HostProfiles and produce a final // composite profile that represents the intended configuration state of // an individual Host resources. This composite profile also include any // individual host specific attributes defined in the "overrides" attribute // defined below. Profile string `json:"profile"` // Match defines the attributes used to match a system host resource to a // host CR definition. // +optional Match *MatchInfo `json:"match,omitempty"` // Overrides defines a set of HostProfile attributes that must be overridden // from the base HostProfile before configuring the host. The schema for // this field is intentionally a copy of the full HostProfileSpec schema // so that any HostProfile attribute can be overridden on a per-host basis. // // For example, it may be necessary to define IP addresses that are unique // to each host, or to override storage device paths if the installed // devices does not align completely with the HostProfile pointed to by the // "profile" attribute. // +optional Overrides *HostProfileSpec `json:"overrides,omitempty"` }
HostSpec defines the desired state of a Host resource.
func (*HostSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSpec.
func (*HostSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostStatus ¶
type HostStatus struct { // ID defines the system assigned unique identifier. This will only exist // once this resource has been provisioned into the system. ID *string `json:"id,omitempty"` // AdministrativeState is the last known administrative state of the host. AdministrativeState *string `json:"administrativeState,omitempty"` // OperationalStatus is the last known operational status of the host. OperationalStatus *string `json:"operationalStatus,omitempty"` // AvailabilityStatus is the last known availability status of the host. AvailabilityStatus *string `json:"availabilityStatus,omitempty"` // InSync defines whether the desired state matches the operational state. InSync bool `json:"inSync"` // Reconciled defines whether the host has been successfully reconciled // at least once. If further changes are made they will be ignored by the // reconciler. Reconciled bool `json:"reconciled"` // Defaults defines the configuration attributed collected before applying // any user configuration values. Defaults *string `json:"defaults,omitempty"` }
HostStatus defines the observed state of a Host resource.
func (*HostStatus) DeepCopy ¶
func (in *HostStatus) DeepCopy() *HostStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostStatus.
func (*HostStatus) DeepCopyInto ¶
func (in *HostStatus) DeepCopyInto(out *HostStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostStatus) DeepEqual ¶
func (in *HostStatus) DeepEqual(other *HostStatus) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type InterfaceInfo ¶
type InterfaceInfo struct { // Ethernet defines the list of ethernet interfaces to be configured on a // host. Ethernet EthernetList `json:"ethernet,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // VLAN defines the list of VLAN interfaces to be configured on a host. VLAN VLANList `json:"vlan,omitempty"` // Bond defines the list of Bond interfaces to be configured on a host. Bond BondList `json:"bond,omitempty"` // VF defines the list of SR-IOV VF interfaces to be configured on a host. VF VFList `json:"vf,omitempty"` }
InterfaceInfo defines the attributes specific to a single interface.
func (*InterfaceInfo) DeepCopy ¶
func (in *InterfaceInfo) DeepCopy() *InterfaceInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceInfo.
func (*InterfaceInfo) DeepCopyInto ¶
func (in *InterfaceInfo) DeepCopyInto(out *InterfaceInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InterfaceInfo) DeepEqual ¶
func (in *InterfaceInfo) DeepEqual(other *InterfaceInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type JournalInfo ¶
type JournalInfo struct { // Location defines the OSD device path to be used as the Journal OSD for // this logical device. // +kubebuilder:validation:MaxLength=255 Location string `json:"location"` // Size defines the size of the OSD journal in gibibytes. // +kubebuilder:validation:Minimum=1 Size int `json:"size"` }
JournalInfo defines attributes of an OSD journal device.
func (*JournalInfo) DeepCopy ¶
func (in *JournalInfo) DeepCopy() *JournalInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JournalInfo.
func (*JournalInfo) DeepCopyInto ¶
func (in *JournalInfo) DeepCopyInto(out *JournalInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*JournalInfo) DeepEqual ¶
func (in *JournalInfo) DeepEqual(other *JournalInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type LicenseInfo ¶
type LicenseInfo struct { // Secret is the name of a TLS secret containing the license file contents. // It must refer to a Opaque Kubernetes Secret. Secret string `json:"secret"` }
LicenseInfo defines the attributes which specify an individual License resource.
func (*LicenseInfo) DeepCopy ¶
func (in *LicenseInfo) DeepCopy() *LicenseInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LicenseInfo.
func (*LicenseInfo) DeepCopyInto ¶
func (in *LicenseInfo) DeepCopyInto(out *LicenseInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LicenseInfo) DeepEqual ¶
func (in *LicenseInfo) DeepEqual(other *LicenseInfo) bool
DeepEqual overrides the code generated DeepEqual method because the License information is stored in a Secret and we cannot compare it easily since it is not directly a part of the SystemSpec.
type MatchBMInfo ¶
type MatchBMInfo struct { // Address defines the board management IP address. Address *string `json:"address,omitempty"` // Type defines the board management type // +kubebuilder:validation:Enum=none,bmc,dynamic,ipmi,redfish // +optional Type *string `json:"type,omitempty"` }
MatchBMInfo defines the board management attributes that can be used to match a system host resource to a host CR definition.
func (*MatchBMInfo) DeepCopy ¶
func (in *MatchBMInfo) DeepCopy() *MatchBMInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchBMInfo.
func (*MatchBMInfo) DeepCopyInto ¶
func (in *MatchBMInfo) DeepCopyInto(out *MatchBMInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MatchBMInfo) DeepEqual ¶
func (in *MatchBMInfo) DeepEqual(other *MatchBMInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type MatchDMIInfo ¶
type MatchDMIInfo struct { // SerialNumber defines the board serial number as stored in the DMI block. // +kubebuilder:validation:MaxLength=255 // +optional SerialNumber *string `json:"serialNumber,omitempty"` // AssetTag defines the board asset tag as stored in the DMI block. // +kubebuilder:validation:MaxLength=255 // +optional AssetTag *string `json:"assetTag,omitempty"` }
MatchDMIInfo defines the Desktop Management Interface attributes that can be used to match a system host resource to a host CR definition.
func (*MatchDMIInfo) DeepCopy ¶
func (in *MatchDMIInfo) DeepCopy() *MatchDMIInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchDMIInfo.
func (*MatchDMIInfo) DeepCopyInto ¶
func (in *MatchDMIInfo) DeepCopyInto(out *MatchDMIInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MatchDMIInfo) DeepEqual ¶
func (in *MatchDMIInfo) DeepEqual(other *MatchDMIInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type MatchInfo ¶
type MatchInfo struct { // BootMAC defines the MAC address that a host used to perform the initial // software installation. // +kubebuilder:validation:Pattern=^([0-9a-fA-Z]{2}[:-]){5}([0-9a-fA-Z]{2})$ // +optional BootMAC *string `json:"bootMAC,omitempty"` // BoardManagement defines the board management attributes that can be used // to match a system host resource to a system CR definition. // NOTE: Not yet supported. // +optional BoardManagement *MatchBMInfo `json:"boardManagement,omitempty"` // DMI defines the Desktop Management Interface attributes that can be used // to match a system host resource to a system CR definition. // NOTE: Not yet supported. // +optional DMI *MatchDMIInfo `json:"dmi,omitempty"` }
MatchInfo defines the attributes that can be used to dynamically match a system host resource to a host CR definition. To be considered a match all of the fields defined with the match criteria must match the actual attributes of the system host resource.
func (*MatchInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchInfo.
func (*MatchInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemoryFunctionInfo ¶
type MemoryFunctionInfo struct { // Function defines the function for which to allocate a number of cores. // +kubebuilder:validation:Enum=platform,vm,vswitch Function string `json:"function"` // PageSize defines the size of individual memory pages to be allocated to // a specific function. For platform // allocations the 4KB page size is the only valid choice. // +kubebuilder:validation:Enum=4KB,2MB,1GB PageSize string `json:"pageSize"` // PageCount defines the number of pages to allocate to a specific function. PageCount int `json:"pageCount"` }
MemoryFunctionInfo defines the amount of memory to assign to a specific function.
func (*MemoryFunctionInfo) DeepCopy ¶
func (in *MemoryFunctionInfo) DeepCopy() *MemoryFunctionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryFunctionInfo.
func (*MemoryFunctionInfo) DeepCopyInto ¶
func (in *MemoryFunctionInfo) DeepCopyInto(out *MemoryFunctionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemoryFunctionInfo) DeepEqual ¶
func (in *MemoryFunctionInfo) DeepEqual(other *MemoryFunctionInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (MemoryFunctionInfo) IsKeyEqual ¶
func (in MemoryFunctionInfo) IsKeyEqual(x MemoryFunctionInfo) bool
IsKeyEqual compares two memory function array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type MemoryFunctionList ¶
type MemoryFunctionList []MemoryFunctionInfo
MemoryFunctionList defines a type to represent a slice of memory function objects. +deepequal-gen:unordered-array=true
func (MemoryFunctionList) DeepCopy ¶
func (in MemoryFunctionList) DeepCopy() MemoryFunctionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryFunctionList.
func (MemoryFunctionList) DeepCopyInto ¶
func (in MemoryFunctionList) DeepCopyInto(out *MemoryFunctionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemoryFunctionList) DeepEqual ¶
func (in *MemoryFunctionList) DeepEqual(other *MemoryFunctionList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type MemoryNodeInfo ¶
type MemoryNodeInfo struct { // Node defines the NUMA node number for which to allocate a number of // functions. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=7 Node int `json:"node"` // Functions defines a list of function specific allocations for the given // NUMA socket/node. Functions MemoryFunctionList `json:"functions"` }
MemoryNodeInfo defines the memory allocations for a specific NUMA node/socket.
func (*MemoryNodeInfo) DeepCopy ¶
func (in *MemoryNodeInfo) DeepCopy() *MemoryNodeInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryNodeInfo.
func (*MemoryNodeInfo) DeepCopyInto ¶
func (in *MemoryNodeInfo) DeepCopyInto(out *MemoryNodeInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemoryNodeInfo) DeepEqual ¶
func (in *MemoryNodeInfo) DeepEqual(other *MemoryNodeInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (MemoryNodeInfo) IsKeyEqual ¶
func (in MemoryNodeInfo) IsKeyEqual(x MemoryNodeInfo) bool
IsKeyEqual compares two memory info array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type MemoryNodeList ¶
type MemoryNodeList []MemoryNodeInfo
MemoryNodeList defines a type to represent a slice of memory node objects. +deepequal-gen:unordered-array=true
func (MemoryNodeList) DeepCopy ¶
func (in MemoryNodeList) DeepCopy() MemoryNodeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryNodeList.
func (MemoryNodeList) DeepCopyInto ¶
func (in MemoryNodeList) DeepCopyInto(out *MemoryNodeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemoryNodeList) DeepEqual ¶
func (in *MemoryNodeList) DeepEqual(other *MemoryNodeList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type MonitorInfo ¶
type MonitorInfo struct { // Size represents the storage allocated to the monitor in gibibytes // +kubebuilder:validation:Minimum=20 // +kubebuilder:validation:Maximum=40 // +optional Size *int `json:"size,omitempty"` }
MonitorInfo defines the monitor attributes used to configure a Ceph storage monitor on a node. +deepequal-gen:ignore-nil-fields=true
func (*MonitorInfo) DeepCopy ¶
func (in *MonitorInfo) DeepCopy() *MonitorInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorInfo.
func (*MonitorInfo) DeepCopyInto ¶
func (in *MonitorInfo) DeepCopyInto(out *MonitorInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitorInfo) DeepEqual ¶
func (in *MonitorInfo) DeepEqual(other *MonitorInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type OSDInfo ¶
type OSDInfo struct { // Function defines the function to be assigned to the OSD device. // +kubebuilder:validation:Enum=osd,journal Function string `json:"function"` // Path defines the disk device path to use as backing for the OSD device. // +kubebuilder:validation:MaxLength=4095 // +kubebuilder:validation:Pattern=^/dev/.+$ Path string `json:"path"` // ClusterName defines the storage cluster to which the OSD device should // be assigned. By default this is the "ceph_cluster". // +kubebuilder:validation:MaxLength=255 // +optional ClusterName *string `json:"cluster,omitempty"` // Journal defines another OSD device to be used as the journal for this // OSD device. // +optional Journal *JournalInfo `json:"journal,omitempty"` }
OSDInfo defines attributes specific to a single OSD device. +deepequal-gen:ignore-nil-fields=true
func (*OSDInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSDInfo.
func (*OSDInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OSDInfo) DeepEqual ¶
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*OSDInfo) GetClusterName ¶
GetClusterName returns the configured cluster name or the default if it wasn't specified. TODO(alegacy): this could be done with a defaulting webhook but it seems like
overkill for so few cases where a default is necessary.
func (OSDInfo) IsKeyEqual ¶
IsKeyEqual compares two storage OSD info array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type OSDList ¶
type OSDList []OSDInfo
OSDList defines a type to represent a slice of OSD objects. +deepequal-gen:unordered-array=true
func (OSDList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSDList.
func (OSDList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PTPInfo ¶
type PTPInfo struct { // Mode defines the precision time protocol mode of the system. // +kubebuilder:validation:Enum=hardware,software,legacy // +optional Mode *string `json:"mode,omitempty"` // Transport defines the network transport protocol used to implement the // precision time protocol. // +kubebuilder:validation:Enum=l2,udp // +optional Transport *string `json:"transport,omitempty"` // Mechanism defines the high level messaging architecture used to implement // the precision time procotol. // +kubebuilder:validation:Enum=p2p,e2e // +optional Mechanism *string `json:"mechanism,omitempty"` }
PTPInfo defines the system level precision time protocol attributes that are configurable. +deepequal-gen:ignore-nil-fields=true
func (*PTPInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PTPInfo.
func (*PTPInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PhysicalVolumeInfo ¶
type PhysicalVolumeInfo struct { // Type defines the type of physical volume. // +kubebuilder:validation:Enum=disk,partition Type string `json:"type"` // Path defines the device path backing the physical volume. If 'Type' is // set as disk then this attribute refers to the absolute path of a disk // device. If 'Type' is set as partition then it refers to the device path // of the disk onto which this partition will be created. // +kubebuilder:validation:MaxLength=255 Path string `json:"path"` // Size defines the size of the disk partition in gibibytes. This should be // omitted if the path refers to a disk. // +kubebuilder:validation:Minimum=1 // +optional Size *int `json:"size,omitempty"` }
PhysicalVolumeInfo defines attributes of a physical volume. +deepequal-gen:ignore-nil-fields=true
func (*PhysicalVolumeInfo) DeepCopy ¶
func (in *PhysicalVolumeInfo) DeepCopy() *PhysicalVolumeInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalVolumeInfo.
func (*PhysicalVolumeInfo) DeepCopyInto ¶
func (in *PhysicalVolumeInfo) DeepCopyInto(out *PhysicalVolumeInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PhysicalVolumeInfo) DeepEqual ¶
func (in *PhysicalVolumeInfo) DeepEqual(other *PhysicalVolumeInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type PhysicalVolumeList ¶
type PhysicalVolumeList []PhysicalVolumeInfo
PhysicalVolumeList defines a type to represent a slice of physical volumes +deepequal-gen:unordered-array=true
func (PhysicalVolumeList) DeepCopy ¶
func (in PhysicalVolumeList) DeepCopy() PhysicalVolumeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalVolumeList.
func (PhysicalVolumeList) DeepCopyInto ¶
func (in PhysicalVolumeList) DeepCopyInto(out *PhysicalVolumeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PhysicalVolumeList) DeepEqual ¶
func (in *PhysicalVolumeList) DeepEqual(other *PhysicalVolumeList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type PlatformNetwork ¶
type PlatformNetwork struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PlatformNetworkSpec `json:"spec,omitempty"` Status PlatformNetworkStatus `json:"status,omitempty"` }
PlatformNetwork defines the attributes that represent the network level attributes of a StarlingX system. This is a composition of the following StarlingX API endpoints.
https://docs.starlingx.io/api-ref/stx-config/api-ref-sysinv-v1-config.html#networks https://docs.starlingx.io/api-ref/stx-config/api-ref-sysinv-v1-config.html#address-pools
+k8s:openapi-gen=true +deepequal-gen=false +kubebuilder:subresource:status +kubebuilder:printcolumn:name="type",type="string",JSONPath=".spec.type",description="The platform network type." +kubebuilder:printcolumn:name="subnet",type="string",JSONPath=".spec.subnet",description="The platform network address subnet." +kubebuilder:printcolumn:name="prefix",type="string",JSONPath=".spec.prefix",description="The platform network address prefix." +kubebuilder:printcolumn:name="insync",type="boolean",JSONPath=".status.inSync",description="The current synchronization state." +kubebuilder:printcolumn:name="reconciled",type="boolean",JSONPath=".status.reconciled",description="The current reconciliation state."
func NewPlatformNetwork ¶
func NewPlatformNetwork(name string, namespace string, pool addresspools.AddressPool, network_type string) (*PlatformNetwork, error)
func (*PlatformNetwork) DeepCopy ¶
func (in *PlatformNetwork) DeepCopy() *PlatformNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformNetwork.
func (*PlatformNetwork) DeepCopyInto ¶
func (in *PlatformNetwork) DeepCopyInto(out *PlatformNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlatformNetwork) DeepCopyObject ¶
func (in *PlatformNetwork) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlatformNetworkList ¶
type PlatformNetworkList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PlatformNetwork `json:"items"` }
PlatformNetworkNameList contains a list of PlatformNetwork +deepequal-gen=false
func (*PlatformNetworkList) DeepCopy ¶
func (in *PlatformNetworkList) DeepCopy() *PlatformNetworkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformNetworkList.
func (*PlatformNetworkList) DeepCopyInto ¶
func (in *PlatformNetworkList) DeepCopyInto(out *PlatformNetworkList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlatformNetworkList) DeepCopyObject ¶
func (in *PlatformNetworkList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlatformNetworkSpec ¶
type PlatformNetworkSpec struct { // Type defines the intended usage of the network // +kubebuilder:validation:Enum=mgmt,pxeboot,infra,oam,multicast,system-controller,cluster-host,cluster-pod,cluster-service,storage,other Type string `json:"type"` // Subnet defines the IPv4 or IPv6 network address for the network Subnet string `json:"subnet"` // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=128 Prefix int `json:"prefix"` // Gateway defines the nexthop gateway IP address if applicable // +optional Gateway *string `json:"gateway,omitempty"` // Allocation defines the allocation scheme details for the network Allocation AllocationInfo `json:"allocation"` }
PlatformNetworkSpec defines the desired state of a PlatformNetwork resource.
func NewPlatformNetworkSpec ¶
func NewPlatformNetworkSpec(pool addresspools.AddressPool, network_type string) (*PlatformNetworkSpec, error)
func (*PlatformNetworkSpec) DeepCopy ¶
func (in *PlatformNetworkSpec) DeepCopy() *PlatformNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformNetworkSpec.
func (*PlatformNetworkSpec) DeepCopyInto ¶
func (in *PlatformNetworkSpec) DeepCopyInto(out *PlatformNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlatformNetworkSpec) DeepEqual ¶
func (in *PlatformNetworkSpec) DeepEqual(other *PlatformNetworkSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type PlatformNetworkStatus ¶
type PlatformNetworkStatus struct { // ID defines the system assigned unique identifier. This will only exist // once this resource has been provisioned into the system. // +optional ID *string `json:"id,omitempty"` // PoolUUID defines the system assigned unique identifier that is represents // the networks underlying address pool resource. This will only exist // once this resource has been provisioned into the system. // +optional PoolUUID *string `json:"poolUUID,omitempty"` // Reconciled defines whether the network has been successfully reconciled // at least once. If further changes are made they will be ignored by the // reconciler. Reconciled bool `json:"reconciled"` // Defines whether the resource has been provisioned on the target system. InSync bool `json:"inSync"` }
PlatformNetworkStatus defines the observed state of a PlatformNetwork resource.
func (*PlatformNetworkStatus) DeepCopy ¶
func (in *PlatformNetworkStatus) DeepCopy() *PlatformNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformNetworkStatus.
func (*PlatformNetworkStatus) DeepCopyInto ¶
func (in *PlatformNetworkStatus) DeepCopyInto(out *PlatformNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlatformNetworkStatus) DeepEqual ¶
func (in *PlatformNetworkStatus) DeepEqual(other *PlatformNetworkStatus) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type ProcessorFunctionInfo ¶
type ProcessorFunctionInfo struct { // Function defines the function for which to allocate a number of cores. // +kubebuilder:validation:Enum=platform,shared,vswitch,application-isolated,application Function string `json:"function"` // Count defines the number of cores to allocate to a specific function. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=64 Count int `json:"count"` }
ProcessorFunctionInfo defines the number of cores to assign to a specific function.
func (*ProcessorFunctionInfo) DeepCopy ¶
func (in *ProcessorFunctionInfo) DeepCopy() *ProcessorFunctionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessorFunctionInfo.
func (*ProcessorFunctionInfo) DeepCopyInto ¶
func (in *ProcessorFunctionInfo) DeepCopyInto(out *ProcessorFunctionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProcessorFunctionInfo) DeepEqual ¶
func (in *ProcessorFunctionInfo) DeepEqual(other *ProcessorFunctionInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (ProcessorFunctionInfo) IsKeyEqual ¶
func (in ProcessorFunctionInfo) IsKeyEqual(x ProcessorFunctionInfo) bool
IsKeyEqual compares two processor function array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type ProcessorFunctionList ¶
type ProcessorFunctionList []ProcessorFunctionInfo
ProcessorFunctionList defines a type to represent a slice of processor function objects. +deepequal-gen:unordered-array=true
func (ProcessorFunctionList) DeepCopy ¶
func (in ProcessorFunctionList) DeepCopy() ProcessorFunctionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessorFunctionList.
func (ProcessorFunctionList) DeepCopyInto ¶
func (in ProcessorFunctionList) DeepCopyInto(out *ProcessorFunctionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProcessorFunctionList) DeepEqual ¶
func (in *ProcessorFunctionList) DeepEqual(other *ProcessorFunctionList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type ProcessorInfo ¶
type ProcessorInfo struct { // Node defines the NUMA node number for which to allocate a number of // functions. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=7 Node int `json:"node"` // Functions defines a list of function specific allocations for the given // NUMA socket/node. Functions ProcessorFunctionList `json:"functions"` }
ProcessorInfo defines the processor core allocations for a specific NUMA socket/node.
func (*ProcessorInfo) DeepCopy ¶
func (in *ProcessorInfo) DeepCopy() *ProcessorInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessorInfo.
func (*ProcessorInfo) DeepCopyInto ¶
func (in *ProcessorInfo) DeepCopyInto(out *ProcessorInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProcessorInfo) DeepEqual ¶
func (in *ProcessorInfo) DeepEqual(other *ProcessorInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (ProcessorInfo) IsKeyEqual ¶
func (in ProcessorInfo) IsKeyEqual(x ProcessorInfo) bool
IsKeyEqual compares two processor info array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type ProcessorNodeList ¶
type ProcessorNodeList []ProcessorInfo
ProcessorNodeList defines a type to represent a slice of processor infos +deepequal-gen:unordered-array=true
func (ProcessorNodeList) DeepCopy ¶
func (in ProcessorNodeList) DeepCopy() ProcessorNodeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessorNodeList.
func (ProcessorNodeList) DeepCopyInto ¶
func (in ProcessorNodeList) DeepCopyInto(out *ProcessorNodeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProcessorNodeList) DeepEqual ¶
func (in *ProcessorNodeList) DeepEqual(other *ProcessorNodeList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type ProfileBaseAttributes ¶
type ProfileBaseAttributes struct { // Personality defines the role to be assigned to the host // +kubebuilder:validation:Enum=controller,worker,storage,controller-worker // +optional Personality *string `json:"personality,omitempty"` // AdministrativeState defines the desired administrative state of the host // +kubebuilder:validation:Enum=locked,unlocked // +optional AdministrativeState *string `json:"administrativeState,omitempty"` // SubFunctionList defines the set of subfunctions to be provisioned on the // node at time of initial provisioning. // +kubebuilder:validation:Enum=controller,worker,storage,lowlatency // +optional SubFunctions StringList `json:"subfunctions,omitempty"` // Location defines the physical location of the host in the data centre. // +optional Location *string `json:"location,omitempty"` // Labels defines the set of labels to be applied to the kubernetes node // resources that is running on this host. Labels map[string]string `json:"labels,omitempty"` // InstallOutput defines the install output method. The graphical mode is // only suitable when the console attribute is set to a graphical terminal. // The text mode can be used with both serial and graphical console // configurations. // +kubebuilder:validation:Enum=text,graphical // +optional InstallOutput *string `json:"installOutput,omitempty"` // Console defines the installation output device. // +kubebuilder:validation:Pattern=^(|tty[0-9]+|ttyS[0-9]+(,\d+([a-zA-Z0-9]+)?)?|ttyUSB[0-9]+(,\d+([a-zA-Z0-9]+))?|lp[0-9]+)$ // +optional Console *string `json:"console,omitempty"` // BootDevice defines the absolute device path of the device to be used for // installation. // +kubebuilder:validation:Pattern=^/dev/.+$ // +kubebuilder:validation:MaxLength=4095 // +optional BootDevice *string `json:"bootDevice,omitempty"` // PowerOn defines the initial power state of the node if static // provisioning is being used. // +optional PowerOn *bool `json:"powerOn,omitempty"` // ProvisioningMode defines whether a host is provisioned dynamically when // it appears in system host inventory or whether it is provisioned // statically and powered up explicitly. Statically provisioned hosts // require that the user supply a boot MAC address, board management IP // address, and a management IP address if the management network is // configured for static address assignment. // +kubebuilder:validation:Enum=static,dynamic // +optional ProvisioningMode *string `json:"provisioningMode,omitempty"` // BootMAC defines the MAC address that a host uses to perform the initial // software installation. This is only applicable for statically // provisioned hosts and should be set on each hosts via the overrides // attributes. // +kubebuilder:validation:Pattern=^([0-9a-fA-Z]{2}[:-]){5}([0-9a-fA-Z]{2})$ // +optional BootMAC *string `json:"bootMAC,omitempty"` // RootDevice defines the absolute device path of the device to be used as // the root file system. // +kubebuilder:validation:Pattern=^/dev/.+$ // +kubebuilder:validation:MaxLength=4095 // +optional RootDevice *string `json:"rootDevice,omitempty"` // ClockSynchronization defines the clock synchronization source of the host // resource. // +kubebuilder:validation:Enum=ntp,ptp // +optional ClockSynchronization *string `json:"clockSynchronization,omitempty"` }
+deepequal-gen:ignore-nil-fields=true
func (*ProfileBaseAttributes) DeepCopy ¶
func (in *ProfileBaseAttributes) DeepCopy() *ProfileBaseAttributes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProfileBaseAttributes.
func (*ProfileBaseAttributes) DeepCopyInto ¶
func (in *ProfileBaseAttributes) DeepCopyInto(out *ProfileBaseAttributes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProfileBaseAttributes) DeepEqual ¶
func (in *ProfileBaseAttributes) DeepEqual(other *ProfileBaseAttributes) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type ProfileStorageInfo ¶
type ProfileStorageInfo struct { // Monitor defines whether a Ceph storage monitor should be enabled on a // node. // +optional Monitor *MonitorInfo `json:"monitor,omitempty"` // OSDs defines the list of OSD devices to be created on the host. This is // only applicable to storage related nodes. // +optional OSDs *OSDList `json:"osds,omitempty"` // VolumeGroups defines the list of volume groups to be created on the host. // +optional VolumeGroups *VolumeGroupList `json:"volumeGroups,omitempty"` // FileSystems defines the list of file systems to be defined on the host. // +optional FileSystems *FileSystemList `json:"filesystems,omitempty"` }
ProfileStorageInfo defines the storage specific attributes for the host. +deepequal-gen:ignore-nil-fields=true
func (*ProfileStorageInfo) DeepCopy ¶
func (in *ProfileStorageInfo) DeepCopy() *ProfileStorageInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProfileStorageInfo.
func (*ProfileStorageInfo) DeepCopyInto ¶
func (in *ProfileStorageInfo) DeepCopyInto(out *ProfileStorageInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProfileStorageInfo) DeepEqual ¶
func (in *ProfileStorageInfo) DeepEqual(other *ProfileStorageInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type RouteInfo ¶
type RouteInfo struct { // Interface is a reference to the interface name against which to configure // the route. // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\.]+$ Interface string `json:"interface"` // Subnet defines the destination network address subnet. Network string `json:"subnet"` // Prefix defines the destination network address prefix length. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=128 Prefix int `json:"prefix"` // Gateway defines the next hop gateway IP address. Gateway string `json:"gateway"` // Metric defines the route preference metric for this route. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=255 // +optional Metric *int `json:"metric,omitempty"` }
RouteInfo defines the attributes specific to a single route. +deepequal-gen:ignore-nil-fields=true
func (*RouteInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteInfo.
func (*RouteInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouteInfo) DeepEqual ¶
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (RouteInfo) IsKeyEqual ¶
IsKeyEqual compares two interface route array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type RouteList ¶
type RouteList []RouteInfo
RouteList defines a type to represent a slice of routes. +deepequal-gen:unordered-array=true
func (RouteList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList.
func (RouteList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceParameterInfo ¶
type ServiceParameterInfo struct { // Service identifies the service for this service parameter // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_]+$ // +kubebuilder:validation:MaxLength=16 Service string `json:"service"` // Section identifies the section for this service parameter // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_]+$ // +kubebuilder:validation:MaxLength=128 Section string `json:"section"` // ParamName identifies the name for this service parameter // +kubebuilder:validation:MaxLength=255 ParamName string `json:"paramname"` // ParamValue identifies the value for this service parameter // +kubebuilder:validation:MaxLength=4096 ParamValue string `json:"paramvalue"` // Personality identifies the personality for this service parameter // +kubebuilder:validation:MaxLength=255 // +optional Personality *string `json:"personality,omitempty"` // Resource identifies the resource for this service parameter // +kubebuilder:validation:MaxLength=255 // +optional Resource *string `json:"resource,omitempty"` }
ServiceParameterInfo defines the attributes required to define an instance of a service parameter to be installed via the system API.
func (*ServiceParameterInfo) DeepCopy ¶
func (in *ServiceParameterInfo) DeepCopy() *ServiceParameterInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceParameterInfo.
func (*ServiceParameterInfo) DeepCopyInto ¶
func (in *ServiceParameterInfo) DeepCopyInto(out *ServiceParameterInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceParameterInfo) DeepEqual ¶
func (in *ServiceParameterInfo) DeepEqual(other *ServiceParameterInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (ServiceParameterInfo) IsKeyEqual ¶
func (in ServiceParameterInfo) IsKeyEqual(x ServiceParameterInfo) bool
IsKeyEqual compares two ServiceParameter if they mostly match
type ServiceParameterList ¶
type ServiceParameterList []ServiceParameterInfo
ServiceParameterList defines a type to represent a slice of service parameter info objects. +deepequal-gen:unordered-array=true
func (ServiceParameterList) DeepCopy ¶
func (in ServiceParameterList) DeepCopy() ServiceParameterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceParameterList.
func (ServiceParameterList) DeepCopyInto ¶
func (in ServiceParameterList) DeepCopyInto(out *ServiceParameterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceParameterList) DeepEqual ¶
func (in *ServiceParameterList) DeepEqual(other *ServiceParameterList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type StorageBackend ¶
type StorageBackend struct { // SystemName uniquely identifies the storage backend instance. // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_]+$ // +kubebuilder:validation:MaxLength=255 Name string `json:"name"` // Type specifies the storage backend type. // +kubebuilder:validation:Enum=file,lvm,ceph Type string `json:"type"` // Services is a list of services to enable for this backend instance. Each // backend type supports a limited set // of services. Refer to customer documentation for more information. // +kubebuilder:validation:Enum=cinder,glance,nova,swift,rbd-provisioner Services []string `json:"services,omitempty"` // ReplicationFactor is the number of storage hosts required in each // replication group for storage redundancy. // This attribute is only applicable for Ceph storage backends. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=3 // +kubebuilder:validation:ExclusiveMinimum=false // +kubebuilder:validation:ExclusiveMaximum=false // +optional ReplicationFactor *int `json:"replicationFactor,omitempty"` // PartitionSize is the controller disk partition size to be allocated for // the Ceph monitor - in gigabytes. // This attribute is only applicable for Ceph storage backends. // +kubebuilder:validation:Minimum=20 // +kubebuilder:validation:ExclusiveMinimum=false // +optional PartitionSize *int `json:"partitionSize,omitempty"` // Network is the network type associated with this backend. // At the momemnt it is used only for ceph backend. // +kubebuilder:validation:Enum=mgmt,cluster-host // +optional Network *string `json:"network,omitempty"` }
+deepequal-gen:ignore-nil-fields=true
func (*StorageBackend) DeepCopy ¶
func (in *StorageBackend) DeepCopy() *StorageBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageBackend.
func (*StorageBackend) DeepCopyInto ¶
func (in *StorageBackend) DeepCopyInto(out *StorageBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageBackend) DeepEqual ¶
func (in *StorageBackend) DeepEqual(other *StorageBackend) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type StorageBackendList ¶
type StorageBackendList []StorageBackend
StorageBackendList defines a type to represent a slice of storage backends. +deepequal-gen:unordered-array=true
func (StorageBackendList) DeepCopy ¶
func (in StorageBackendList) DeepCopy() StorageBackendList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageBackendList.
func (StorageBackendList) DeepCopyInto ¶
func (in StorageBackendList) DeepCopyInto(out *StorageBackendList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageBackendList) DeepEqual ¶
func (in *StorageBackendList) DeepEqual(other *StorageBackendList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type StringList ¶
type StringList []string
+deepequal-gen:unordered-array=true
func (StringList) DeepCopy ¶
func (in StringList) DeepCopy() StringList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringList.
func (StringList) DeepCopyInto ¶
func (in StringList) DeepCopyInto(out *StringList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StringList) DeepEqual ¶
func (in *StringList) DeepEqual(other *StringList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (StringList) ToStringList ¶
func (in StringList) ToStringList() []string
ToStringList converts from this type alias to an actual array of strings
type System ¶
type System struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SystemSpec `json:"spec,omitempty"` Status SystemStatus `json:"status,omitempty"` }
System defines the attributes that represent the system level attributes of a StarlingX system. This is a composition of the following StarlingX API endpoints.
https://docs.starlingx.io/api-ref/stx-config/api-ref-sysinv-v1-config.html#system https://docs.starlingx.io/api-ref/stx-config/api-ref-sysinv-v1-config.html#dns https://docs.starlingx.io/api-ref/stx-config/api-ref-sysinv-v1-config.html#ntp https://docs.starlingx.io/api-ref/stx-config/api-ref-sysinv-v1-config.html#system-certificate-configuration https://docs.starlingx.io/api-ref/stx-config/api-ref-sysinv-v1-config.html#storage-backends
+k8s:openapi-gen=true +deepequal-gen=false +kubebuilder:subresource:status +kubebuilder:printcolumn:name="mode",type="string",JSONPath=".status.systemMode",description="The configured system mode." +kubebuilder:printcolumn:name="type",type="string",JSONPath=".status.systemType",description="The configured system type." +kubebuilder:printcolumn:name="version",type="string",JSONPath=".status.softwareVersion",description="The current software version" +kubebuilder:printcolumn:name="insync",type="boolean",JSONPath=".status.inSync",description="The current synchronization state." +kubebuilder:printcolumn:name="reconciled",type="boolean",JSONPath=".status.reconciled",description="The current reconciliation state."
func (*System) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new System.
func (*System) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*System) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*System) HTTPSEnabled ¶
HTTPSEnabled determine whether HTTPS needs to be enabled. Rather than model this attribute explicitly we determine the result dynamically.
type SystemList ¶
type SystemList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []System `json:"items"` }
SystemList contains a list of System +deepequal-gen=false
func (*SystemList) DeepCopy ¶
func (in *SystemList) DeepCopy() *SystemList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemList.
func (*SystemList) DeepCopyInto ¶
func (in *SystemList) DeepCopyInto(out *SystemList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SystemList) DeepCopyObject ¶
func (in *SystemList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SystemSpec ¶
type SystemSpec struct { // Description is a free form string describing the intended purpose of the // system. // +optional Description *string `json:"description,omitempty"` // Location is a short description of the system's physical location. // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\. ]+$ // +kubebuilder:validation:MaxLength=255 // +optional Location *string `json:"location,omitempty"` // Latitude is the latitude geolocation coordinate of the system's physical // location. // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\. ]+$ // +kubebuilder:validation:MaxLength=30 // +optional Latitude *string `json:"latitude,omitempty"` // Longitude is the longitude geolocation coordinate of the system's physical // location. // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\. ]+$ // +kubebuilder:validation:MaxLength=30 // +optional Longitude *string `json:"longitude,omitempty"` // Contact is a method to reach the person responsible for the system. For // example it could be an email address, // phone number, or physical address. // +kubebuilder:validation:Pattern=^[a-zA-Z0-9@\-_\. ]+$ // +kubebuilder:validation:MaxLength=255 // +optional Contact *string `json:"contact,omitempty"` // Nameservers is an array of Domain SystemName servers. Each server can be // specified as either an IPv4 or IPv6 // address. // +optional DNSServers *StringList `json:"dnsServers,omitempty"` // NTPServers is an array of Network Time Protocol servers. Each server can // be specified as either an IPv4 or IPv6 // address, or a FQDN hostname. // +optional NTPServers *StringList `json:"ntpServers,omitempty"` // PTP defines the Precision Time Protocol configuration for the system. PTP *PTPInfo `json:"ptp,omitempty"` // Certificates is a list of references to certificates that must be // installed. // +optional Certificates *CertificateList `json:"certificates,omitempty"` // License is a reference to a license file that must be installed. // +optional License *LicenseInfo `json:"license,omitempty"` // ServiceParameters is a list of service parameters // +optional ServiceParameters *ServiceParameterList `json:"serviceParameters,omitempty"` // Storage is a set of storage specific attributes to be configured for the // system. // +optional Storage *SystemStorageInfo `json:"storage,omitempty"` // VSwitchType is the desired vswitch implementation to be configured. This // is intentionally left unvalidated to avoid issues with proprietary // vswitch implementation. // +optional VSwitchType *string `json:"vswitchType,omitempty"` }
SystemSpec defines the desired state of System +deepequal-gen:ignore-nil-fields=true
func NewSystemSpec ¶
func NewSystemSpec(systemInfo v1info.SystemInfo) (*SystemSpec, error)
func (*SystemSpec) DeepCopy ¶
func (in *SystemSpec) DeepCopy() *SystemSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemSpec.
func (*SystemSpec) DeepCopyInto ¶
func (in *SystemSpec) DeepCopyInto(out *SystemSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SystemSpec) DeepEqual ¶
func (in *SystemSpec) DeepEqual(other *SystemSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type SystemStatus ¶
type SystemStatus struct { // ID defines the unique identifier assigned by the system. ID string `json:"id"` // SystemType defines the current system type reported by the system API. SystemType string `json:"systemType"` // SystemMode defines the current system mode reported by the system API. SystemMode string `json:"systemMode"` // SoftwareVersion defines the current software version reported by the // system API. SoftwareVersion string `json:"softwareVersion"` // Defines whether the resource has been provisioned on the target system. InSync bool `json:"inSync"` // Reconciled defines whether the System has been successfully reconciled // at least once. If further changes are made they will be ignored by the // reconciler. Reconciled bool `json:"reconciled"` // Defaults defines the configuration attributed collected before applying // any user configuration values. // +optional Defaults *string `json:"defaults,omitempty"` }
SystemStatus defines the observed state of System
func NewSystemStatus ¶
func NewSystemStatus(systemInfo v1info.SystemInfo) (*SystemStatus, error)
func (*SystemStatus) DeepCopy ¶
func (in *SystemStatus) DeepCopy() *SystemStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemStatus.
func (*SystemStatus) DeepCopyInto ¶
func (in *SystemStatus) DeepCopyInto(out *SystemStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SystemStatus) DeepEqual ¶
func (in *SystemStatus) DeepEqual(other *SystemStatus) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type SystemStorageInfo ¶
type SystemStorageInfo struct { // Backends is a set of backend storage methods to be configured. Only Backends *StorageBackendList `json:"backends,omitempty"` // DRBD defines the set of DRBD configuration attributes for the system. DRBD *DRBDConfiguration `json:"drbd,omitempty"` // Filesystems defines the set of controller file system definitions. FileSystems *ControllerFileSystemList `json:"filesystems,omitempty"` }
SystemStorageInfo defines the system level storage attributes that are configurable. +deepequal-gen:ignore-nil-fields=true
func (*SystemStorageInfo) DeepCopy ¶
func (in *SystemStorageInfo) DeepCopy() *SystemStorageInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemStorageInfo.
func (*SystemStorageInfo) DeepCopyInto ¶
func (in *SystemStorageInfo) DeepCopyInto(out *SystemStorageInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SystemStorageInfo) DeepEqual ¶
func (in *SystemStorageInfo) DeepEqual(other *SystemStorageInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type VFInfo ¶
type VFInfo struct { // CommonInterfaceInfo defines attributes common to all interface // types. CommonInterfaceInfo `json:",inline"` // Lower defines the interface name over which this VF interface is to be // configured. // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\.]+$ Lower string `json:"lower"` // VFCount defines the number of SRIOV virtual functions for this VF interface. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=256 VFCount int `json:"vfCount"` // VFDriver defines the device driver to be associated with each individual // SRIOV VF interface allocated. Only applicable if the interface class is // set to "pci-sriov". VFDriver *string `json:"vfDriver,omitempty"` // MaxTxRate defines the maximum tx rate of SRIOV VF // interfaces. Only applicable if the interface class is set to // "pci-sriov" and interface type is set to "vf". MaxTxRate *int `json:"maxTxRate,omitempty"` }
VFInfo defines the attributes specific to a single SR-IOV vf interface.
func (*VFInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VFInfo.
func (*VFInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VFInfo) DeepEqual ¶
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (VFInfo) IsKeyEqual ¶
IsKeyEqual compares two VF interface array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type VFList ¶
type VFList []VFInfo
VFList defines a type to represent a slice of SR-IOV virtual functions. +deepequal-gen:unordered-array=true
func (VFList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VFList.
func (VFList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VLANInfo ¶
type VLANInfo struct { // CommonInterfaceInfo defines attributes common to all interface // types. CommonInterfaceInfo `json:",inline"` // Lower defines the interface name over which this VLAN interface is to be // configured. // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_\.]+$ Lower string `json:"lower"` // VID defines the VLAN ID value to be assigned to this VLAN interface. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=4095 VID int `json:"vid"` }
VLANInfo defines the attributes specific to a single VLAN interface.
func (*VLANInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLANInfo.
func (*VLANInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLANInfo) DeepEqual ¶
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (VLANInfo) IsKeyEqual ¶
IsKeyEqual compares two VLAN interface array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type VLANList ¶
type VLANList []VLANInfo
VLANList defines a type to represent a slice of VLAN interfaces. +deepequal-gen:unordered-array=true
func (VLANList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLANList.
func (VLANList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeGroupInfo ¶
type VolumeGroupInfo struct { // SystemName defines the name of the logical volume group // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern=^[a-zA-Z0-9\-_]+$ Name string `json:"name"` // ConcurrentDiskOperations defines the number of concurrent disk operations // permitted. // +kubebuilder:validation:Minimum=1 // +optional ConcurrentDiskOperations *int `json:"concurrentDiskOperations,omitempty"` // LVMType defines the provisioning type for volumes defines with 'Type' // set to 'lvm'. // +kubebuilder:validation:Enum=thin,thick // +optional LVMType *string `json:"lvmType,omitempty"` // PhysicalVolumes defines the list of volumes to be created on the host. PhysicalVolumes PhysicalVolumeList `json:"physicalVolumes"` }
VolumeGroupInfo defines the attributes specific to a single volume group. +deepequal-gen:ignore-nil-fields=true
func (*VolumeGroupInfo) DeepCopy ¶
func (in *VolumeGroupInfo) DeepCopy() *VolumeGroupInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeGroupInfo.
func (*VolumeGroupInfo) DeepCopyInto ¶
func (in *VolumeGroupInfo) DeepCopyInto(out *VolumeGroupInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeGroupInfo) DeepEqual ¶
func (in *VolumeGroupInfo) DeepEqual(other *VolumeGroupInfo) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (VolumeGroupInfo) IsKeyEqual ¶
func (in VolumeGroupInfo) IsKeyEqual(x VolumeGroupInfo) bool
IsKeyEqual compares two storage volume array elements and determines if they refer to the same instance. All other attributes will be merged during profile merging.
type VolumeGroupList ¶
type VolumeGroupList []VolumeGroupInfo
VolumeGroupList defines a type to represent a slice of volume groups +deepequal-gen:unordered-array=true
func (VolumeGroupList) DeepCopy ¶
func (in VolumeGroupList) DeepCopy() VolumeGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeGroupList.
func (VolumeGroupList) DeepCopyInto ¶
func (in VolumeGroupList) DeepCopyInto(out *VolumeGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeGroupList) DeepEqual ¶
func (in *VolumeGroupList) DeepEqual(other *VolumeGroupList) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type VxLANInfo ¶
type VxLANInfo struct { // MulticastGroup defines the multicast IP address to be used for the data // network. // +optional MulticastGroup *string `json:"multicastGroup,omitempty"` // UDPPortNumber defines the UDP protocol number to be used for the data // network. The IANA or Legacy port // number values can be used. // +kubebuilder:validation:Enum=4789,8472 UDPPortNumber *int `json:"udpPortNumber,omitempty"` // TTL defines the time-to-live value to assign to the data network. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=255 // +optional TTL *int `json:"ttl,omitempty"` // EndpointMode defines the endpoint port learning mode for the data network // network. The dynamic mode allows the virtual network to use multicast // addressing when transmitting a packet to an unknown endpoint to // dynamically discover that node's VTEP IP address. The static mode // requires that all VTEP IP addresses be programmed into the virtual switch // in advance and any packets destined to an unknown endpoint are dropped. // +kubebuilder:validation:Enum=static,dynamic // +optional EndpointMode *string `json:"endpointMode,omitempty"` }
VxLANInfo defines VxLAN specific attributes of a data network
func (*VxLANInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VxLANInfo.
func (*VxLANInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.