v1beta1

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2025 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the osp-director v1beta1 API group +kubebuilder:object:generate=true +groupName=osp-director.openstack.org

Index

Constants

View Source
const (
	// DefaultOVNChassisPhysNetName - default physnet netname used for OVNStaticBridgeMacMappings
	DefaultOVNChassisPhysNetName = "datacentre"

	// DefaultOVNChassisPhysNetMACPrefix - default prefix used to create MAC addresses for OVNStaticBridgeMacMappings
	DefaultOVNChassisPhysNetMACPrefix = "fa:16:3a"
)
View Source
const (
	// ControlPlaneName -
	ControlPlaneName string = "Control"
	// ControlPlaneNameLower -
	ControlPlaneNameLower string = "ctlplane"
	// DefaultDomainName -
	DefaultDomainName string = "localdomain"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "osp-director.openstack.org", Version: "v1beta1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func AddOSNetConfigRefLabel

func AddOSNetConfigRefLabel(
	c client.Client,
	namespace string,
	subnetName string,
	labels map[string]string,
) (map[string]string, error)

AddOSNetConfigRefLabel - add osnetcfg CR label reference which is used in the in the osnetcfg controller to watch this resource and reconcile

func AddOSNetNameLowerLabels

func AddOSNetNameLowerLabels(
	log logr.Logger,
	labels map[string]string,
	networkNameLowerNames []string,
) map[string]string

AddOSNetNameLowerLabels - add osnetcfg CR label reference which is used in the in the osnetcfg controller to watch this resource and reconcile

func CheckBackupOperationBlocksAction

func CheckBackupOperationBlocksAction(namespace string, action shared.APIAction) error

CheckBackupOperationBlocksAction -

func CreateVIPNetworkList

func CreateVIPNetworkList(
	c client.Client,
	instance *OpenStackControlPlane,
) ([]string, error)

CreateVIPNetworkList - return list of all networks from all VM roles which has vip flag

func GetBmhHosts

func GetBmhHosts(
	ctx context.Context,
	c client.Client,
	namespace string,
	labelSelector map[string]string,
) (*metal3v1.BareMetalHostList, error)

GetBmhHosts -

func GetDeletionAnnotatedBmhHosts

func GetDeletionAnnotatedBmhHosts(
	ctx context.Context,
	c client.Client,
	namespace string,
	labelSelector map[string]string,
) ([]string, error)

GetDeletionAnnotatedBmhHosts -

func GetOpenStackBackupOperationInProgress

func GetOpenStackBackupOperationInProgress(client goClient.Client, namespace string) (shared.BackupState, error)

GetOpenStackBackupOperationInProgress - If there is a backup or restore in progress, returns a string indicating the operation

func GetOpenStackNetsMapWithLabel

func GetOpenStackNetsMapWithLabel(
	c client.Client,
	namespace string,
	labelSelector map[string]string,
) (map[string]OpenStackNet, error)

GetOpenStackNetsMapWithLabel - Return a map[NameLower] of all OpenStackNets in the namespace that have (optional) labels

func IsUniqMAC

func IsUniqMAC(macNodeStatus map[string]OpenStackMACNodeReservation, mac string) bool

IsUniqMAC - check if the MAC address is uniq or already present in the reservations

func OpenStackBackupOverridesReconcile

func OpenStackBackupOverridesReconcile(client goClient.Client, namespace string, resourceReady bool) (bool, error)

OpenStackBackupOverridesReconcile - Should a controller pause reconciliation for a particular resource given potential backup operations?

func ValidateNetworks

func ValidateNetworks(namespace string, networks []string) error

ValidateNetworks - validate that for all configured subnets an osnet exists

func VerifyBaremetalSetScaleDown

func VerifyBaremetalSetScaleDown(log logr.Logger, instance *OpenStackBaremetalSet, existingBmhs *metal3v1.BareMetalHostList, removalAnnotatedBmhCount int) error

VerifyBaremetalSetScaleDown -

func VerifyBaremetalSetScaleUp

func VerifyBaremetalSetScaleUp(log logr.Logger, instance *OpenStackBaremetalSet, allBmhs *metal3v1.BareMetalHostList, existingBmhs *metal3v1.BareMetalHostList) ([]metal3v1.BareMetalHost, error)

VerifyBaremetalSetScaleUp -

func VerifyBaremetalStatusHostRefs

func VerifyBaremetalStatusHostRefs(
	ctx context.Context,
	c client.Client,
	instance *OpenStackBaremetalSet,
) error

VerifyBaremetalStatusHostRefs - Verify that assigned BMHs haven't been improperly deleted outside of our prescribed annotate-and-scale-count-down method. If bad deletions have occurred, we return an error to halt further reconciliation that could lead to an inconsistent state for instance.Status.BaremetalHosts.

Types

type AttachType

type AttachType string

AttachType -

const (
	// AttachTypeBridge -
	AttachTypeBridge AttachType = "bridge"
	// AttachTypeSriov -
	AttachTypeSriov AttachType = "sriov"
)

type CPUCountReq

type CPUCountReq struct {
	// +kubebuilder:validation:Minimum=1
	Count int `json:"count,omitempty"`
	// If ExactMatch == false, actual count > Count will match
	ExactMatch bool `json:"exactMatch,omitempty"`
}

CPUCountReq defines a specific hardware request for CPU core count

func (*CPUCountReq) DeepCopy

func (in *CPUCountReq) DeepCopy() *CPUCountReq

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

func (*CPUCountReq) DeepCopyInto

func (in *CPUCountReq) DeepCopyInto(out *CPUCountReq)

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

type CPUMhzReq

type CPUMhzReq struct {
	// +kubebuilder:validation:Minimum=1
	Mhz int `json:"mhz,omitempty"`
	// If ExactMatch == false, actual mhz > Mhz will match
	ExactMatch bool `json:"exactMatch,omitempty"`
}

CPUMhzReq defines a specific hardware request for CPU clock speed

func (*CPUMhzReq) DeepCopy

func (in *CPUMhzReq) DeepCopy() *CPUMhzReq

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

func (*CPUMhzReq) DeepCopyInto

func (in *CPUMhzReq) DeepCopyInto(out *CPUMhzReq)

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

type CPUReqs

type CPUReqs struct {
	// Arch is a scalar (string) because it wouldn't make sense to give it an "exact-match" option
	// Can be either "x86_64" or "ppc64le" if included
	// +kubebuilder:validation:Enum=x86_64;ppc64le
	Arch     string      `json:"arch,omitempty"`
	CountReq CPUCountReq `json:"countReq,omitempty"`
	MhzReq   CPUMhzReq   `json:"mhzReq,omitempty"`
}

CPUReqs defines specific CPU hardware requests

func (*CPUReqs) DeepCopy

func (in *CPUReqs) DeepCopy() *CPUReqs

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

func (*CPUReqs) DeepCopyInto

func (in *CPUReqs) DeepCopyInto(out *CPUReqs)

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

type ConfigGeneratorReason

type ConfigGeneratorReason string

ConfigGeneratorReason - the reason of the condition for this config generator

type ConfigGeneratorState

type ConfigGeneratorState string

ConfigGeneratorState - the state of the execution of this config generator

type ControlPlaneProvisioningReason

type ControlPlaneProvisioningReason string

ControlPlaneProvisioningReason - the reason of the condition for this openstack ctlplane

type CrsForBackup

type CrsForBackup struct {
	// OpenStackBaremetalSets - list of OpenStackBaremetalSets saved in the backup
	OpenStackBaremetalSets OpenStackBaremetalSetList `json:"openStackBaremetalSets,omitempty" optional:"true"`
	// OpenStackClients - list of OpenStackClients saved in the backup
	OpenStackClients OpenStackClientList `json:"openStackClients,omitempty" optional:"true"`
	// OpenStackControlPlanes - list of OpenStackControlPlanes saved in the backup
	OpenStackControlPlanes OpenStackControlPlaneList `json:"openStackControlPlanes,omitempty" optional:"true"`
	// OpenStackMACAddresses - list of OpenStackMACAddresses saved in the backup
	OpenStackMACAddresses OpenStackMACAddressList `json:"openStackMACAddresses,omitempty" optional:"true"`
	// OpenStackNets - list of OpenStackNets saved in the backup
	OpenStackNets OpenStackNetList `json:"openStackNets,omitempty" optional:"true"`
	// OpenStackNetAttachments - list of OpenStackNetAttachments saved in the backup
	OpenStackNetAttachments OpenStackNetAttachmentList `json:"openStackNetAttachments,omitempty" optional:"true"`
	// OpenStackNetConfigs - list of OpenStackNetConfigs saved in the backup
	OpenStackNetConfigs OpenStackNetConfigList `json:"openStackNetConfigs,omitempty" optional:"true"`
	// OpenStackProvisionServers - list of OpenStackProvisionServers saved in the backup
	OpenStackProvisionServers OpenStackProvisionServerList `json:"openStackProvisionServers,omitempty" optional:"true"`
	// OpenStackVMSets - list of OpenStackVMSets saved in the backup
	OpenStackVMSets OpenStackVMSetList `json:"openStackVMSets,omitempty" optional:"true"`
}

CrsForBackup -

func (*CrsForBackup) DeepCopy

func (in *CrsForBackup) DeepCopy() *CrsForBackup

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

func (*CrsForBackup) DeepCopyInto

func (in *CrsForBackup) DeepCopyInto(out *CrsForBackup)

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

type DiskGbReq

type DiskGbReq struct {
	// +kubebuilder:validation:Minimum=1
	Gb int `json:"gb,omitempty"`
	// If ExactMatch == false, actual GB > Gb will match
	ExactMatch bool `json:"exactMatch,omitempty"`
}

DiskGbReq defines a specific hardware request for disk size

func (*DiskGbReq) DeepCopy

func (in *DiskGbReq) DeepCopy() *DiskGbReq

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

func (*DiskGbReq) DeepCopyInto

func (in *DiskGbReq) DeepCopyInto(out *DiskGbReq)

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

type DiskReqs

type DiskReqs struct {
	GbReq DiskGbReq `json:"gbReq,omitempty"`
	// SSD is scalar (bool) because it wouldn't make sense to give it an "exact-match" option
	SSDReq DiskSSDReq `json:"ssdReq,omitempty"`
}

DiskReqs defines specific disk hardware requests

func (*DiskReqs) DeepCopy

func (in *DiskReqs) DeepCopy() *DiskReqs

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

func (*DiskReqs) DeepCopyInto

func (in *DiskReqs) DeepCopyInto(out *DiskReqs)

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

type DiskSSDReq

type DiskSSDReq struct {
	SSD bool `json:"ssd,omitempty"`
	// We only actually care about SSD flag if it is true or ExactMatch is set to true.
	// This second flag is necessary as SSD's bool zero-value (false) is indistinguishable
	// from it being explicitly set to false
	ExactMatch bool `json:"exactMatch,omitempty"`
}

DiskSSDReq defines a specific hardware request for disk of type SSD (true) or rotational (false)

func (*DiskSSDReq) DeepCopy

func (in *DiskSSDReq) DeepCopy() *DiskSSDReq

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

func (*DiskSSDReq) DeepCopyInto

func (in *DiskSSDReq) DeepCopyInto(out *DiskSSDReq)

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

type HardwareReqType

type HardwareReqType string

HardwareReqType is used to enumerate the various hardware requests that can be made for the set

type HardwareReqs

type HardwareReqs struct {
	CPUReqs  CPUReqs  `json:"cpuReqs,omitempty"`
	MemReqs  MemReqs  `json:"memReqs,omitempty"`
	DiskReqs DiskReqs `json:"diskReqs,omitempty"`
}

HardwareReqs defines request hardware attributes for the BaremetalHost replicas

func (*HardwareReqs) DeepCopy

func (in *HardwareReqs) DeepCopy() *HardwareReqs

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

func (*HardwareReqs) DeepCopyInto

func (in *HardwareReqs) DeepCopyInto(out *HardwareReqs)

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

type Hash

type Hash struct {
	// Name of hash referencing the parameter
	Name string `json:"name,omitempty"`
	// Hash
	Hash string `json:"hash,omitempty"`
}

Hash - struct to add hashes to status

func (*Hash) DeepCopy

func (in *Hash) DeepCopy() *Hash

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

func (*Hash) DeepCopyInto

func (in *Hash) DeepCopyInto(out *Hash)

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

type HeatConfig

type HeatConfig struct {
	// +kubebuilder:validation:Optional
	// CustomServiceConfig - customize the service config using this parameter to change service defaults,
	// or overwrite rendered information using raw OpenStack config format. The content gets added to
	// to /etc/<service>/<service>.conf.d directory as custom.conf file.
	CustomServiceConfig string `json:"customServiceConfig,omitempty"`
}

HeatConfig -

func (*HeatConfig) DeepCopy

func (in *HeatConfig) DeepCopy() *HeatConfig

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

func (*HeatConfig) DeepCopyInto

func (in *HeatConfig) DeepCopyInto(out *HeatConfig)

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

type Host

type Host struct {
	Hostname          string                                           `json:"hostname"`
	HostRef           string                                           `json:"hostRef"`
	DomainName        string                                           `json:"domainName"`
	DomainNameUniq    string                                           `json:"domainNameUniq"`
	IPAddress         string                                           `json:"ipAddress"`
	NetworkDataSecret string                                           `json:"networkDataSecret"`
	BaseImageName     string                                           `json:"baseImageName"`
	Labels            map[string]string                                `json:"labels"`
	NAD               map[string]networkv1.NetworkAttachmentDefinition `json:"nad"`
}

Host -

func (*Host) DeepCopy

func (in *Host) DeepCopy() *Host

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

func (*Host) DeepCopyInto

func (in *Host) DeepCopyInto(out *Host)

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

type HostStatus

type HostStatus struct {

	// +kubebuilder:validation:Required
	// IPStatus -
	IPStatus `json:",inline"`

	ProvisioningState shared.ProvisioningState `json:"provisioningState"`

	// +kubebuilder:default=false
	// Host annotated for deletion
	AnnotatedForDeletion bool `json:"annotatedForDeletion"`

	UserDataSecretName    string `json:"userDataSecretName"`
	NetworkDataSecretName string `json:"networkDataSecretName"`
}

HostStatus represents the IPStatus and provisioning state + deployment information

func SyncIPsetStatus

func SyncIPsetStatus(
	cond *shared.Condition,
	instanceStatus map[string]HostStatus,
	ipsetHostStatus IPStatus,
) HostStatus

SyncIPsetStatus - sync relevant information from IPSet to CR status

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.

type IPReservation

type IPReservation struct {
	IP       string `json:"ip"`
	Hostname string `json:"hostname"`
	VIP      bool   `json:"vip"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	ServiceVIP bool `json:"serviceVIP,omitempty"`
	Deleted    bool `json:"deleted"`
}

IPReservation contains an IP, Hostname, and a VIP flag

func (*IPReservation) DeepCopy

func (in *IPReservation) DeepCopy() *IPReservation

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

func (*IPReservation) DeepCopyInto

func (in *IPReservation) DeepCopyInto(out *IPReservation)

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

type IPStatus

type IPStatus struct {
	Hostname string `json:"hostname"`

	// +kubebuilder:default=unassigned
	HostRef string `json:"hostRef"`

	// +kubebuilder:validation:Optional
	IPAddresses map[string]string `json:"ipaddresses"`
}

IPStatus represents the hostname and IP info for a specific host

func (*IPStatus) DeepCopy

func (in *IPStatus) DeepCopy() *IPStatus

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

func (*IPStatus) DeepCopyInto

func (in *IPStatus) DeepCopyInto(out *IPStatus)

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

type MemGbReq

type MemGbReq struct {
	// +kubebuilder:validation:Minimum=1
	Gb int `json:"gb,omitempty"`
	// If ExactMatch == false, actual GB > Gb will match
	ExactMatch bool `json:"exactMatch,omitempty"`
}

MemGbReq defines a specific hardware request for memory size

func (*MemGbReq) DeepCopy

func (in *MemGbReq) DeepCopy() *MemGbReq

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

func (*MemGbReq) DeepCopyInto

func (in *MemGbReq) DeepCopyInto(out *MemGbReq)

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

type MemReqs

type MemReqs struct {
	GbReq MemGbReq `json:"gbReq,omitempty"`
}

MemReqs defines specific memory hardware requests

func (*MemReqs) DeepCopy

func (in *MemReqs) DeepCopy() *MemReqs

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

func (*MemReqs) DeepCopyInto

func (in *MemReqs) DeepCopyInto(out *MemReqs)

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

type NetDetails

type NetDetails struct {
	// +kubebuilder:validation:Required
	// Cidr, network Cidr e.g. 192.168.24.0/24
	Cidr string `json:"cidr"`

	// +kubebuilder:validation:Required
	// AllocationStart a set of IPs that are reserved and will not be assigned
	AllocationStart string `json:"allocationStart"`

	// +kubebuilder:validation:Required
	// AllocationEnd a set of IPs that are reserved and will not be assigned
	AllocationEnd string `json:"allocationEnd"`

	// +kubebuilder:validation:Optional
	// Gateway optional gateway for the network
	Gateway string `json:"gateway"`

	// +kubebuilder:validation:Optional
	// Routes, list of networks that should be routed via network gateway.
	Routes []Route `json:"routes"`
}

NetDetails of a subnet

func (*NetDetails) DeepCopy

func (in *NetDetails) DeepCopy() *NetDetails

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

func (*NetDetails) DeepCopyInto

func (in *NetDetails) DeepCopyInto(out *NetDetails)

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

type Network

type Network struct {

	// +kubebuilder:validation:Required
	// Name of the tripleo network this network belongs to, e.g. External, InternalApi, ...
	Name string `json:"name"`

	// +kubebuilder:validation:Required
	// NameLower the name of the subnet, name_lower name of the tripleo subnet, e.g. external, internal_api, internal_api_leaf1
	NameLower string `json:"nameLower"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// IsControlPlane indicates if this network is the overcloud control plane network
	IsControlPlane bool `json:"isControlPlane"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1500
	// MTU of the network
	MTU int `json:"mtu"`

	// +kubebuilder:validation:Required
	// Subnets of the tripleo network
	Subnets []Subnet `json:"subnets"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// VIP create virtual ip on the network
	VIP bool `json:"vip"`
}

Network describes a tripleo network

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

type NodeConfigurationPolicy

type NodeConfigurationPolicy struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default={}
	NodeNetworkConfigurationPolicy nmstateapi.NodeNetworkConfigurationPolicySpec `json:"nodeNetworkConfigurationPolicy,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={}
	NodeSriovConfigurationPolicy NodeSriovConfigurationPolicy `json:"nodeSriovConfigurationPolicy,omitempty"`
}

NodeConfigurationPolicy - policy definition to create NodeNetworkConfigurationPolicy or NodeSriovConfigurationPolicy

func (*NodeConfigurationPolicy) DeepCopy

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

func (*NodeConfigurationPolicy) DeepCopyInto

func (in *NodeConfigurationPolicy) DeepCopyInto(out *NodeConfigurationPolicy)

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

type NodeIPReservation

type NodeIPReservation struct {
	IP      string `json:"ip"`
	Deleted bool   `json:"deleted"`
}

NodeIPReservation contains an IP and Deleted flag

func (*NodeIPReservation) DeepCopy

func (in *NodeIPReservation) DeepCopy() *NodeIPReservation

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

func (*NodeIPReservation) DeepCopyInto

func (in *NodeIPReservation) DeepCopyInto(out *NodeIPReservation)

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

type NodeSriovConfigurationPolicy

type NodeSriovConfigurationPolicy struct {
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	DesiredState SriovState        `json:"desiredState,omitempty"`
}

NodeSriovConfigurationPolicy - Node selector and desired state for SRIOV network

func (*NodeSriovConfigurationPolicy) DeepCopy

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

func (*NodeSriovConfigurationPolicy) DeepCopyInto

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

type OVNBridgeMacMappingConfig

type OVNBridgeMacMappingConfig struct {
	// +kubebuilder:validation:MinItems=1
	// PhysNetworks - physical networks list to create MAC addresses per physnet per node to create OVNStaticBridgeMacMappings
	PhysNetworks []Physnet `json:"physNetworks"`
}

OVNBridgeMacMappingConfig defines the desired state of OpenStackMACAddress

func (*OVNBridgeMacMappingConfig) DeepCopy

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

func (*OVNBridgeMacMappingConfig) DeepCopyInto

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

type OpenStackBackup

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

	Spec   OpenStackBackupSpec   `json:"spec,omitempty"`
	Status OpenStackBackupStatus `json:"status,omitempty"`
}

OpenStackBackup is used to backup OpenShift resources representing an OSP overcloud

func (*OpenStackBackup) DeepCopy

func (in *OpenStackBackup) DeepCopy() *OpenStackBackup

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

func (*OpenStackBackup) DeepCopyInto

func (in *OpenStackBackup) DeepCopyInto(out *OpenStackBackup)

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

func (*OpenStackBackup) DeepCopyObject

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

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

type OpenStackBackupList

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

OpenStackBackupList contains a list of OpenStackBackup

func GetOpenStackBackupsWithLabel

func GetOpenStackBackupsWithLabel(client goClient.Client, namespace string, labelSelector map[string]string) (*OpenStackBackupList, error)

GetOpenStackBackupsWithLabel - Return a list of all OpenStackBackups in the namespace that have (optional) labels

func (*OpenStackBackupList) DeepCopy

func (in *OpenStackBackupList) DeepCopy() *OpenStackBackupList

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

func (*OpenStackBackupList) DeepCopyInto

func (in *OpenStackBackupList) DeepCopyInto(out *OpenStackBackupList)

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

func (*OpenStackBackupList) DeepCopyObject

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

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

type OpenStackBackupRequest

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

	Spec   OpenStackBackupRequestSpec   `json:"spec,omitempty"`
	Status OpenStackBackupRequestStatus `json:"status,omitempty"`
}

OpenStackBackupRequest a request to backup the OpenStack Director Operator

func (*OpenStackBackupRequest) DeepCopy

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

func (*OpenStackBackupRequest) DeepCopyInto

func (in *OpenStackBackupRequest) DeepCopyInto(out *OpenStackBackupRequest)

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

func (*OpenStackBackupRequest) DeepCopyObject

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

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

func (*OpenStackBackupRequest) SetupWebhookWithManager

func (r *OpenStackBackupRequest) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager -

func (*OpenStackBackupRequest) ValidateCreate

func (r *OpenStackBackupRequest) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackBackupRequest) ValidateDelete

func (r *OpenStackBackupRequest) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackBackupRequest) ValidateUpdate

func (r *OpenStackBackupRequest) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackBackupRequestList

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

OpenStackBackupRequestList contains a list of OpenStackBackupRequest

func GetOpenStackBackupRequestsWithLabel

func GetOpenStackBackupRequestsWithLabel(client goClient.Client, namespace string, labelSelector map[string]string) (*OpenStackBackupRequestList, error)

GetOpenStackBackupRequestsWithLabel - Return a list of all OpenStackBackupRequestss in the namespace that have (optional) labels

func (*OpenStackBackupRequestList) DeepCopy

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

func (*OpenStackBackupRequestList) DeepCopyInto

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

func (*OpenStackBackupRequestList) DeepCopyObject

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

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

type OpenStackBackupRequestSpec

type OpenStackBackupRequestSpec struct {
	// Mode - what this backup should be doing (if it hasn't already done so)
	// +kubebuilder:default=save
	// +kubebuilder:validation:Enum={"save","restore","cleanRestore"}
	Mode shared.BackupMode `json:"mode"`

	// If "Mode" is "save", optional list of additional config maps to save in the backup
	// If "Mode" is "cleanRestore", optional list of additional config maps to remove before restoring the backup
	AdditionalConfigMaps []string `json:"additionalConfigMaps,omitempty" optional:"true"`

	// If "Mode" is "save", optional list of additional secrets to save in the backup
	// If "Mode" is "cleanRestore", optional list of additional secrets to remove before restoring the backup
	AdditionalSecrets []string `json:"additionalSecrets,omitempty" optional:"true"`

	// Name of an OpenStackBackup to use if "Mode" is "restore" or "cleanRestore", in which case this field is required
	RestoreSource string `json:"restoreSource,omitempty" optional:"true"`
}

OpenStackBackupRequestSpec defines the desired state of OpenStackBackupRequest

func (*OpenStackBackupRequestSpec) DeepCopy

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

func (*OpenStackBackupRequestSpec) DeepCopyInto

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

type OpenStackBackupRequestStatus

type OpenStackBackupRequestStatus struct {
	// CompletionTimestamp - If the request succeeded, the timestamp for that completion
	CompletionTimestamp metav1.Time `json:"completionTimestamp,omitempty" optional:"true"`

	// CurrentState - the overall state of this backup request
	CurrentState shared.BackupState `json:"currentState"`

	// TODO: It would be simpler, perhaps, to just have Conditions and get rid of CurrentState,
	// but we are using the same approach in other CRDs for now anyhow
	// Conditions - conditions to display in the OpenShift GUI, which reflect CurrentState
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
}

OpenStackBackupRequestStatus defines the observed state of OpenStackBackupRequest

func (*OpenStackBackupRequestStatus) DeepCopy

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

func (*OpenStackBackupRequestStatus) DeepCopyInto

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

type OpenStackBackupSpec

type OpenStackBackupSpec struct {
	// +kubebuilder:validation:Optional
	// OSP-D-operator-specific resources saved in the backup
	Crs CrsForBackup `json:"crs,omitempty" optional:"true"`

	// +kubebuilder:validation:Optional
	// List of ConfigMaps saved in the backup
	ConfigMaps corev1.ConfigMapList `json:"configMaps,omitempty" optional:"true"`
	// +kubebuilder:validation:Optional
	// List of Secrets saved in the backup
	Secrets corev1.SecretList `json:"secrets,omitempty" optional:"true"`
}

OpenStackBackupSpec defines the desired state of OpenStackBackup

func (*OpenStackBackupSpec) DeepCopy

func (in *OpenStackBackupSpec) DeepCopy() *OpenStackBackupSpec

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

func (*OpenStackBackupSpec) DeepCopyInto

func (in *OpenStackBackupSpec) DeepCopyInto(out *OpenStackBackupSpec)

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

type OpenStackBackupStatus

type OpenStackBackupStatus struct {
}

OpenStackBackupStatus defines the observed state of OpenStackBackup

func (*OpenStackBackupStatus) DeepCopy

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

func (*OpenStackBackupStatus) DeepCopyInto

func (in *OpenStackBackupStatus) DeepCopyInto(out *OpenStackBackupStatus)

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

type OpenStackBaremetalSet

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

	Spec   OpenStackBaremetalSetSpec   `json:"spec,omitempty"`
	Status OpenStackBaremetalSetStatus `json:"status,omitempty"`
}

OpenStackBaremetalSet represent a set of baremetal hosts for a specific role within the Overcloud deployment

func (*OpenStackBaremetalSet) DeepCopy

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

func (*OpenStackBaremetalSet) DeepCopyInto

func (in *OpenStackBaremetalSet) DeepCopyInto(out *OpenStackBaremetalSet)

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

func (*OpenStackBaremetalSet) DeepCopyObject

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

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

func (*OpenStackBaremetalSet) Default

func (r *OpenStackBaremetalSet) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (OpenStackBaremetalSet) GetHostnames

func (instance OpenStackBaremetalSet) GetHostnames() map[string]string

GetHostnames -

func (*OpenStackBaremetalSet) IsReady

func (instance *OpenStackBaremetalSet) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

func (*OpenStackBaremetalSet) SetupWebhookWithManager

func (r *OpenStackBaremetalSet) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager - register this webhook with the controller manager

func (*OpenStackBaremetalSet) ValidateCreate

func (r *OpenStackBaremetalSet) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackBaremetalSet) ValidateDelete

func (r *OpenStackBaremetalSet) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackBaremetalSet) ValidateUpdate

func (r *OpenStackBaremetalSet) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackBaremetalSetList

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

OpenStackBaremetalSetList contains a list of OpenStackBaremetalSet

func (*OpenStackBaremetalSetList) DeepCopy

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

func (*OpenStackBaremetalSetList) DeepCopyInto

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

func (*OpenStackBaremetalSetList) DeepCopyObject

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

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

type OpenStackBaremetalSetProvisioningStatus

type OpenStackBaremetalSetProvisioningStatus struct {
	State      shared.ProvisioningState `json:"state,omitempty"`
	Reason     string                   `json:"reason,omitempty"`
	ReadyCount int                      `json:"readyCount,omitempty"`
}

OpenStackBaremetalSetProvisioningStatus represents the overall provisioning state of all BaremetalHosts in the OpenStackBaremetalSet (with an optional explanatory message)

func (*OpenStackBaremetalSetProvisioningStatus) DeepCopy

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

func (*OpenStackBaremetalSetProvisioningStatus) DeepCopyInto

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

type OpenStackBaremetalSetSpec

type OpenStackBaremetalSetSpec struct {
	// Count The number of baremetalhosts to attempt to aquire
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=0
	Count int `json:"count,omitempty"`
	// Remote URL pointing to desired RHEL qcow2 image
	BaseImageURL string `json:"baseImageUrl,omitempty"`
	// ProvisionServerName Optional. If supplied will be used as the base Image for the baremetalset instead of baseImageURL.
	ProvisionServerName string `json:"provisionServerName,omitempty"`
	// Name of secret holding the stack-admin ssh keys
	DeploymentSSHSecret string `json:"deploymentSSHSecret"`
	// Interface to use for ctlplane network
	CtlplaneInterface string `json:"ctlplaneInterface"`
	// BmhLabelSelector allows for a sub-selection of BaremetalHosts based on arbitrary labels
	BmhLabelSelector map[string]string `json:"bmhLabelSelector,omitempty"`
	// Hardware requests for sub-selection of BaremetalHosts with certain hardware specs
	HardwareReqs HardwareReqs `json:"hardwareReqs,omitempty"`
	// Networks the name(s) of the OpenStackNetworks used to generate IPs
	Networks []string `json:"networks"`
	// RoleName the name of the TripleO role this OpenStackBaremetalSet is associated with. If it is a TripleO role, the name must match.
	RoleName string `json:"roleName"`
	// PasswordSecret the name of the secret used to optionally set the root pwd by adding
	// NodeRootPassword: <base64 enc pwd>
	// to the secret data
	PasswordSecret string `json:"passwordSecret,omitempty"`
	// BootstrapDNS - initial DNS nameserver values to set on the BaremetalHosts when they are provisioned.
	// Note that subsequent TripleO deployment will overwrite these values
	BootstrapDNS     []string `json:"bootstrapDns,omitempty"`
	DNSSearchDomains []string `json:"dnsSearchDomains,omitempty"`
}

OpenStackBaremetalSetSpec defines the desired state of OpenStackBaremetalSet

func (*OpenStackBaremetalSetSpec) DeepCopy

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

func (*OpenStackBaremetalSetSpec) DeepCopyInto

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

type OpenStackBaremetalSetStatus

type OpenStackBaremetalSetStatus struct {
	Conditions         shared.ConditionList                    `json:"conditions,omitempty" optional:"true"`
	ProvisioningStatus OpenStackBaremetalSetProvisioningStatus `json:"provisioningStatus,omitempty"`
	BaremetalHosts     map[string]HostStatus                   `json:"baremetalHosts,omitempty"`
}

OpenStackBaremetalSetStatus defines the observed state of OpenStackBaremetalSet

func (*OpenStackBaremetalSetStatus) DeepCopy

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

func (*OpenStackBaremetalSetStatus) DeepCopyInto

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

type OpenStackClient

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

	Spec   OpenStackClientSpec   `json:"spec,omitempty"`
	Status OpenStackClientStatus `json:"status,omitempty"`
}

OpenStackClient used to create a container for deploying, scaling, and managing the OpenStack Overcloud

func (*OpenStackClient) DeepCopy

func (in *OpenStackClient) DeepCopy() *OpenStackClient

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

func (*OpenStackClient) DeepCopyInto

func (in *OpenStackClient) DeepCopyInto(out *OpenStackClient)

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

func (*OpenStackClient) DeepCopyObject

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

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

func (*OpenStackClient) Default

func (r *OpenStackClient) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (OpenStackClient) GetHostnames

func (instance OpenStackClient) GetHostnames() map[string]string

GetHostnames -

func (*OpenStackClient) IsReady

func (instance *OpenStackClient) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

func (*OpenStackClient) SetupWebhookWithManager

func (r *OpenStackClient) SetupWebhookWithManager(mgr ctrl.Manager, defaults OpenStackClientDefaults) error

SetupWebhookWithManager -

func (*OpenStackClient) ValidateCreate

func (r *OpenStackClient) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackClient) ValidateDelete

func (r *OpenStackClient) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackClient) ValidateUpdate

func (r *OpenStackClient) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackClientDefaults

type OpenStackClientDefaults struct {
	ImageURL string
}

OpenStackClientDefaults -

func (*OpenStackClientDefaults) DeepCopy

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

func (*OpenStackClientDefaults) DeepCopyInto

func (in *OpenStackClientDefaults) DeepCopyInto(out *OpenStackClientDefaults)

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

type OpenStackClientList

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

OpenStackClientList contains a list of OpenStackClient

func (*OpenStackClientList) DeepCopy

func (in *OpenStackClientList) DeepCopy() *OpenStackClientList

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

func (*OpenStackClientList) DeepCopyInto

func (in *OpenStackClientList) DeepCopyInto(out *OpenStackClientList)

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

func (*OpenStackClientList) DeepCopyObject

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

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

type OpenStackClientSpec

type OpenStackClientSpec struct {
	// +kubebuilder:validation:Optional
	// OpenStackClient image. If missing will be set to the configured OPENSTACKCLIENT_IMAGE_URL_DEFAULT in the CSV for the OSP Director Operator.
	ImageURL string `json:"imageURL,omitempty"`

	// +kubebuilder:validation:Optional
	// name of secret holding the stack-admin ssh keys
	DeploymentSSHSecret string `json:"deploymentSSHSecret"`

	// +kubebuilder:validation:Optional
	// cloudname passed in via OS_CLOUDNAME
	CloudName string `json:"cloudName"`

	// +kubebuilder:default={ctlplane,external}
	// Networks the name(s) of the OpenStackNetworks used to generate IPs
	Networks []string `json:"networks"`

	// StorageClass to be used for the openstackclient persistent storage
	StorageClass string `json:"storageClass,omitempty"`

	// +kubebuilder:default=42401
	// RunUID user ID to run the pod with
	RunUID int `json:"runUID"`

	// +kubebuilder:default=42401
	// RunGID user ID to run the pod with
	RunGID int `json:"runGID"`

	// Idm secret used to register openstack client in IPA
	IdmSecret string `json:"idmSecret,omitempty"`

	// Name of the config map containing custom CA certificates to trust
	CAConfigMap string `json:"caConfigMap,omitempty"`
}

OpenStackClientSpec defines the desired state of OpenStackClient

func (*OpenStackClientSpec) DeepCopy

func (in *OpenStackClientSpec) DeepCopy() *OpenStackClientSpec

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

func (*OpenStackClientSpec) DeepCopyInto

func (in *OpenStackClientSpec) DeepCopyInto(out *OpenStackClientSpec)

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

type OpenStackClientStatus

type OpenStackClientStatus struct {
	OpenStackClientNetStatus map[string]HostStatus `json:"netStatus,omitempty"`

	// Conditions - conditions to display in the OpenShift GUI, which reflect CurrentState
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
}

OpenStackClientStatus defines the observed state of OpenStackClient

func (*OpenStackClientStatus) DeepCopy

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

func (*OpenStackClientStatus) DeepCopyInto

func (in *OpenStackClientStatus) DeepCopyInto(out *OpenStackClientStatus)

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

type OpenStackConfigGenerator

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

	Spec   OpenStackConfigGeneratorSpec   `json:"spec,omitempty"`
	Status OpenStackConfigGeneratorStatus `json:"status,omitempty"`
}

OpenStackConfigGenerator Used to configure Heat environments and template customizations to generate Ansible playbooks for OpenStack Overcloud deployment

func (*OpenStackConfigGenerator) DeepCopy

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

func (*OpenStackConfigGenerator) DeepCopyInto

func (in *OpenStackConfigGenerator) DeepCopyInto(out *OpenStackConfigGenerator)

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

func (*OpenStackConfigGenerator) DeepCopyObject

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

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

func (*OpenStackConfigGenerator) Default

func (r *OpenStackConfigGenerator) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*OpenStackConfigGenerator) IsReady

func (instance *OpenStackConfigGenerator) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

func (*OpenStackConfigGenerator) SetupWebhookWithManager

func (r *OpenStackConfigGenerator) SetupWebhookWithManager(mgr ctrl.Manager, defaults OpenStackConfigGeneratorDefaults) error

SetupWebhookWithManager -

type OpenStackConfigGeneratorAdvancedSettings

type OpenStackConfigGeneratorAdvancedSettings struct {
	// +kubebuilder:validation:Optional
	// SkipWaiting enables the user to control if the OpenStackConfigGenerator should wait for all openstackbaremetalsets and openstackvmsets
	// to be Ready before start to generate the playbooks.
	SkipWaiting *bool `json:"skipWaiting,omitempty"`
	// +kubebuilder:validation:Optional
	// TripleoDeployConfigOverride allows to point to an existing configmap which has the files which are usually generated by the operator.
	// Note: the configmap must provide a tripleo parameter file named `rendered-tripleo-config.yaml`
	TripleoDeployConfigOverride *string `json:"tripleoDeployConfigOverride,omitempty"`
	// +kubebuilder:validation:Optional
	// OpenStackRelease to overwrite OSPrelease auto detection from the OpenStackControlPlane CR
	// Note: needs to be set when SkipWaiting is used
	OpenStackRelease string `json:"openStackRelease,omitempty"`
}

OpenStackConfigGeneratorAdvancedSettings - The main intention of these parameters are for debugging purposes to generate playbooks without the need of a full deployed environment.

func (*OpenStackConfigGeneratorAdvancedSettings) DeepCopy

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

func (*OpenStackConfigGeneratorAdvancedSettings) DeepCopyInto

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

type OpenStackConfigGeneratorDefaults

type OpenStackConfigGeneratorDefaults struct {
	ImageURL string
}

OpenStackConfigGeneratorDefaults -

func (*OpenStackConfigGeneratorDefaults) DeepCopy

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

func (*OpenStackConfigGeneratorDefaults) DeepCopyInto

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

type OpenStackConfigGeneratorList

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

OpenStackConfigGeneratorList contains a list of OpenStackConfigGenerator

func (*OpenStackConfigGeneratorList) DeepCopy

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

func (*OpenStackConfigGeneratorList) DeepCopyInto

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

func (*OpenStackConfigGeneratorList) DeepCopyObject

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

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

type OpenStackConfigGeneratorSpec

type OpenStackConfigGeneratorSpec struct {
	// +kubebuilder:validation:Optional
	// Name of the image used to generate configs. If missing will be set to the configured OPENSTACKCLIENT_IMAGE_URL_DEFAULT in the CSV for the OSP Director Operator.
	ImageURL string `json:"imageURL,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default={}
	// Optional. List of heat environment files to include from tripleo-heat-templates/environments
	HeatEnvs []string `json:"heatEnvs,omitempty"`
	// Required. the name of the config map containing Heat env file customizations
	HeatEnvConfigMap string `json:"heatEnvConfigMap"`
	// Optional. the name of the config map containing custom Heat template tarball which will be extracted prior to config generation
	TarballConfigMap string `json:"tarballConfigMap,omitempty"`
	// Advanced Heat Settings can be used to increase the Heat Engine replicas or customize container images used during config generation.
	EphemeralHeatSettings OpenStackEphemeralHeatSpec `json:"ephemeralHeatSettings,omitempty"`
	// +kubebuilder:default=false
	// Interactive enables the user to rsh into the config generator pod for interactive debugging with the ephemeral heat instance. If enabled manual execution of the script to generate playbooks will be required.
	Interactive bool `json:"interactive,omitempty"`
	// GitSecret the name of the secret used to configure the Git repository url and ssh private key credentials used to store generated Ansible playbooks. This secret should contain an entry for both 'git_url' and 'git_ssh_identity'.
	GitSecret string `json:"gitSecret"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default={}
	// Optional. List of Roles used to limit which roles have network information injected during playbook generation. By default the list is empty and all Roles are included for Baremetal/Vmsets within the project.
	Roles []string `json:"roles,omitempty"`
	// EnableFencing allows the automatic creation of required heat environment files to enable fencing.
	// Note:
	// - Production OSP environments MUST have fencing enabled.
	// - Requires the fence-agents-kubevirt package to be installed in the virtual machines for the roles running pacemaker.
	EnableFencing bool `json:"enableFencing"`
	// TripleoRoleOverride - map of TripleO role name to temporary role override to support a multi-rhel environment (valid for 17.1 only)
	TripleoRoleOverride map[string]TripleoRoleOverrideSpec `json:"tripleoRoleOverride,omitempty"`
	// +kubebuilder:validation:Optional
	Debug OpenStackConfigGeneratorAdvancedSettings `json:"debug,omitempty"`
}

OpenStackConfigGeneratorSpec defines the desired state of OpenStackConfigGenerator

func (*OpenStackConfigGeneratorSpec) DeepCopy

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

func (*OpenStackConfigGeneratorSpec) DeepCopyInto

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

type OpenStackConfigGeneratorStatus

type OpenStackConfigGeneratorStatus struct {
	// ConfigHash hash
	ConfigHash string `json:"configHash"`

	// CurrentState
	CurrentState shared.ConditionType `json:"currentState"`

	// CurrentReason
	CurrentReason shared.ConditionReason `json:"currentReason"`

	// Conditions
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
}

OpenStackConfigGeneratorStatus defines the observed state of OpenStackConfigGenerator

func (*OpenStackConfigGeneratorStatus) DeepCopy

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

func (*OpenStackConfigGeneratorStatus) DeepCopyInto

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

type OpenStackConfigVersion

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

	Spec   OpenStackConfigVersionSpec   `json:"spec,omitempty"`
	Status OpenStackConfigVersionStatus `json:"status,omitempty"`
}

OpenStackConfigVersion represents a set of executable Ansible playbooks

func (*OpenStackConfigVersion) DeepCopy

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

func (*OpenStackConfigVersion) DeepCopyInto

func (in *OpenStackConfigVersion) DeepCopyInto(out *OpenStackConfigVersion)

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

func (*OpenStackConfigVersion) DeepCopyObject

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

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

type OpenStackConfigVersionList

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

OpenStackConfigVersionList contains a list of OpenStackConfigVersion

func (*OpenStackConfigVersionList) DeepCopy

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

func (*OpenStackConfigVersionList) DeepCopyInto

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

func (*OpenStackConfigVersionList) DeepCopyObject

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

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

type OpenStackConfigVersionSpec

type OpenStackConfigVersionSpec struct {
	Hash                string `json:"hash"`
	Diff                string `json:"diff"`
	CtlplaneExports     string `json:"ctlplaneExports"`
	ConfigGeneratorName string `json:"configGeneratorName"`
}

OpenStackConfigVersionSpec defines the desired state of OpenStackConfigVersion

func (*OpenStackConfigVersionSpec) DeepCopy

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

func (*OpenStackConfigVersionSpec) DeepCopyInto

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

type OpenStackConfigVersionStatus

type OpenStackConfigVersionStatus struct {
}

OpenStackConfigVersionStatus defines the observed state of OpenStackConfigVersion

func (*OpenStackConfigVersionStatus) DeepCopy

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

func (*OpenStackConfigVersionStatus) DeepCopyInto

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

type OpenStackControlPlane

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

	Spec   OpenStackControlPlaneSpec   `json:"spec,omitempty"`
	Status OpenStackControlPlaneStatus `json:"status,omitempty"`
}

OpenStackControlPlane represents a virtualized OpenStack control plane configuration

func GetControlPlane

func GetControlPlane(
	c client.Client,
	obj metav1.Object,
) (OpenStackControlPlane, reconcile.Result, error)

GetControlPlane - Get OSP ControlPlane CR where e.g. the status information has the OSP version: controlPlane.Status.OSPVersion FIXME: We assume there is only one ControlPlane CR for now (enforced by webhook), but this might need to change

func (*OpenStackControlPlane) DeepCopy

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

func (*OpenStackControlPlane) DeepCopyInto

func (in *OpenStackControlPlane) DeepCopyInto(out *OpenStackControlPlane)

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

func (*OpenStackControlPlane) DeepCopyObject

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

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

func (OpenStackControlPlane) GetHostnames

func (instance OpenStackControlPlane) GetHostnames() map[string]string

GetHostnames -

func (*OpenStackControlPlane) IsReady

func (instance *OpenStackControlPlane) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

type OpenStackControlPlaneList

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

OpenStackControlPlaneList contains a list of OpenStackControlPlane

func (*OpenStackControlPlaneList) DeepCopy

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

func (*OpenStackControlPlaneList) DeepCopyInto

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

func (*OpenStackControlPlaneList) DeepCopyObject

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

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

type OpenStackControlPlaneProvisioningStatus

type OpenStackControlPlaneProvisioningStatus struct {
	State        shared.ProvisioningState `json:"state,omitempty"`
	Reason       string                   `json:"reason,omitempty"`
	DesiredCount int                      `json:"desiredCount,omitempty"`
	ReadyCount   int                      `json:"readyCount,omitempty"`
	ClientReady  bool                     `json:"clientReady,omitempty"`
}

OpenStackControlPlaneProvisioningStatus represents the overall provisioning state of the OpenStackControlPlane (with an optional explanatory message)

func (*OpenStackControlPlaneProvisioningStatus) DeepCopy

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

func (*OpenStackControlPlaneProvisioningStatus) DeepCopyInto

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

type OpenStackControlPlaneSpec

type OpenStackControlPlaneSpec struct {
	// List of VirtualMachine roles
	VirtualMachineRoles map[string]OpenStackVirtualMachineRoleSpec `json:"virtualMachineRoles"`
	// +kubebuilder:validation:Optional
	// OpenstackClient image. If missing will be set to the configured OPENSTACKCLIENT_IMAGE_URL_DEFAULT in the CSV for the OSP Director Operator.
	OpenStackClientImageURL string `json:"openStackClientImageURL,omitempty"`
	// OpenStackClientStorageClass storage class
	OpenStackClientStorageClass string `json:"openStackClientStorageClass,omitempty"`
	// PasswordSecret used to e.g specify root pwd
	PasswordSecret string `json:"passwordSecret,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={ctlplane,external}
	// OpenStackClientNetworks the name(s) of the OpenStackClientNetworks used to attach the openstackclient to
	OpenStackClientNetworks []string `json:"openStackClientNetworks"`

	// +kubebuilder:validation:Optional
	// EnableFencing is provided so that users have the option to disable fencing if desired
	// FIXME: Defaulting to false until Kubevirt agent merged into RHEL overcloud image
	EnableFencing bool `json:"enableFencing"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum={"train","wallaby","16.2","17.0","17.1"}
	// OpenStackRelease to overwrite OSPrelease auto detection from tripleoclient container image
	OpenStackRelease string `json:"openStackRelease"`

	// Idm secret used to register openstack client in IPA
	IdmSecret string `json:"idmSecret,omitempty"`

	// Name of the config map containing custom CA certificates to trust
	CAConfigMap string `json:"caConfigMap,omitempty"`

	// +kubebuilder:validation:Optional
	// AdditionalServiceVIPs - Map of service name <-> subnet nameLower for which a IP should get reserved on
	// These are used to create the <Service>VirtualFixedIPs environment parameters starting wallaby/OSP17.0.
	// Default "Redis":  "internal_api",
	//         "OVNDBs": "internal_api",
	// https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/deployment/network_v2.html#service-virtual-ips
	// Note: OSP17 networkv2 only
	AdditionalServiceVIPs map[string]string `json:"additionalServiceVIPs,omitempty"`
}

OpenStackControlPlaneSpec defines the desired state of OpenStackControlPlane

func (*OpenStackControlPlaneSpec) DeepCopy

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

func (*OpenStackControlPlaneSpec) DeepCopyInto

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

type OpenStackControlPlaneStatus

type OpenStackControlPlaneStatus struct {
	VIPStatus          map[string]HostStatus                   `json:"vipStatus,omitempty"`
	Conditions         shared.ConditionList                    `json:"conditions,omitempty" optional:"true"`
	ProvisioningStatus OpenStackControlPlaneProvisioningStatus `json:"provisioningStatus,omitempty"`

	// OSPVersion the OpenStack version to render templates files
	OSPVersion shared.OSPVersion `json:"ospVersion"`
}

OpenStackControlPlaneStatus defines the observed state of OpenStackControlPlane

func (*OpenStackControlPlaneStatus) DeepCopy

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

func (*OpenStackControlPlaneStatus) DeepCopyInto

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

type OpenStackDeploy

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

	Spec   OpenStackDeploySpec   `json:"spec,omitempty"`
	Status OpenStackDeployStatus `json:"status,omitempty"`
}

OpenStackDeploy executes a set of Ansible playbooks for the supplied OSConfigVersion

func (*OpenStackDeploy) DeepCopy

func (in *OpenStackDeploy) DeepCopy() *OpenStackDeploy

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

func (*OpenStackDeploy) DeepCopyInto

func (in *OpenStackDeploy) DeepCopyInto(out *OpenStackDeploy)

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

func (*OpenStackDeploy) DeepCopyObject

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

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

func (*OpenStackDeploy) Default

func (r *OpenStackDeploy) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*OpenStackDeploy) SetupWebhookWithManager

func (r *OpenStackDeploy) SetupWebhookWithManager(mgr ctrl.Manager, defaults OpenStackDeployDefaults) error

SetupWebhookWithManager -

func (*OpenStackDeploy) ValidateCreate

func (r *OpenStackDeploy) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackDeploy) ValidateDelete

func (r *OpenStackDeploy) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackDeploy) ValidateUpdate

func (r *OpenStackDeploy) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackDeployAdvancedSettingsSpec

type OpenStackDeployAdvancedSettingsSpec struct {
	// +kubebuilder:validation:Optional
	// Playbooks to run from config-download
	Playbooks []string `json:"playbook,omitempty"`
	// +kubebuilder:validation:Optional
	// Ansible inventory limit
	Limit string `json:"limit,omitempty"`
	// +kubebuilder:validation:Optional
	// Ansible include tags
	Tags []string `json:"tags,omitempty"`
	// +kubebuilder:validation:Optional
	// Ansible exclude tags
	SkipTags []string `json:"skipTags,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Skip setting a unique deploy identifier
	SkipDeployIdentifier bool `json:"skipDeployIdentifier"`
}

OpenStackDeployAdvancedSettingsSpec defines advanced deployment settings

func (*OpenStackDeployAdvancedSettingsSpec) DeepCopy

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

func (*OpenStackDeployAdvancedSettingsSpec) DeepCopyInto

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

type OpenStackDeployDefaults

type OpenStackDeployDefaults struct {
	AgentImageURL string
}

OpenStackDeployDefaults -

func (*OpenStackDeployDefaults) DeepCopy

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

func (*OpenStackDeployDefaults) DeepCopyInto

func (in *OpenStackDeployDefaults) DeepCopyInto(out *OpenStackDeployDefaults)

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

type OpenStackDeployList

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

OpenStackDeployList contains a list of OpenStackDeploy

func (*OpenStackDeployList) DeepCopy

func (in *OpenStackDeployList) DeepCopy() *OpenStackDeployList

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

func (*OpenStackDeployList) DeepCopyInto

func (in *OpenStackDeployList) DeepCopyInto(out *OpenStackDeployList)

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

func (*OpenStackDeployList) DeepCopyObject

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

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

type OpenStackDeploySpec

type OpenStackDeploySpec struct {
	// +kubebuilder:validation:Optional
	// Name of the image
	ImageURL string `json:"imageURL,omitempty"`

	// ConfigVersion the config version/git hash of the playbooks to deploy.
	ConfigVersion string `json:"configVersion,omitempty"`

	// ConfigGenerator name of the configGenerator
	ConfigGenerator string `json:"configGenerator"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=deploy
	// +kubebuilder:validation:Enum={"deploy","update","upgrade","externalUpdate","externalUpgrade"}
	// Deployment mode
	Mode string `json:"mode,omitempty"`

	// +kubebuilder:validation:Optional
	// Advanced deployment settings
	AdvancedSettings OpenStackDeployAdvancedSettingsSpec `json:"advancedSettings,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Skip NNCP validation to proceed deployment even if one NNCP status returns not all worker nodes are configured
	SkipNNCPValidation bool `json:"skipNNCPValidation"`
}

OpenStackDeploySpec defines the desired state of OpenStackDeploy

func (*OpenStackDeploySpec) DeepCopy

func (in *OpenStackDeploySpec) DeepCopy() *OpenStackDeploySpec

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

func (*OpenStackDeploySpec) DeepCopyInto

func (in *OpenStackDeploySpec) DeepCopyInto(out *OpenStackDeploySpec)

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

type OpenStackDeployStatus

type OpenStackDeployStatus struct {
	// ConfigVersion hash that has been deployed
	ConfigVersion string `json:"configVersion"`

	// CurrentState
	CurrentState shared.ProvisioningState `json:"currentState"`

	// CurrentReason
	CurrentReason shared.ConditionReason `json:"currentReason"`

	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
}

OpenStackDeployStatus defines the observed state of OpenStackDeploy

func (*OpenStackDeployStatus) DeepCopy

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

func (*OpenStackDeployStatus) DeepCopyInto

func (in *OpenStackDeployStatus) DeepCopyInto(out *OpenStackDeployStatus)

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

type OpenStackEphemeralHeat

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

	Spec   OpenStackEphemeralHeatSpec   `json:"spec,omitempty"`
	Status OpenStackEphemeralHeatStatus `json:"status,omitempty"`
}

OpenStackEphemeralHeat an ephermeral OpenStack Heat deployment used internally by the OSConfigGenerator to generate Ansible playbooks

func (*OpenStackEphemeralHeat) DeepCopy

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

func (*OpenStackEphemeralHeat) DeepCopyInto

func (in *OpenStackEphemeralHeat) DeepCopyInto(out *OpenStackEphemeralHeat)

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

func (*OpenStackEphemeralHeat) DeepCopyObject

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

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

func (*OpenStackEphemeralHeat) Default

func (r *OpenStackEphemeralHeat) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*OpenStackEphemeralHeat) SetupWebhookWithManager

func (r *OpenStackEphemeralHeat) SetupWebhookWithManager(mgr ctrl.Manager, defaults OpenStackEphemeralHeatDefaults) error

SetupWebhookWithManager -

type OpenStackEphemeralHeatDefaults

type OpenStackEphemeralHeatDefaults struct {
	HeatAPIImageURL    string
	HeatEngineImageURL string
	MariaDBImageURL    string
	RabbitImageURL     string
}

OpenStackEphemeralHeatDefaults -

func (*OpenStackEphemeralHeatDefaults) DeepCopy

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

func (*OpenStackEphemeralHeatDefaults) DeepCopyInto

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

type OpenStackEphemeralHeatList

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

OpenStackEphemeralHeatList contains a list of OpenStackEphemeralHeat

func (*OpenStackEphemeralHeatList) DeepCopy

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

func (*OpenStackEphemeralHeatList) DeepCopyInto

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

func (*OpenStackEphemeralHeatList) DeepCopyObject

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

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

type OpenStackEphemeralHeatSpec

type OpenStackEphemeralHeatSpec struct {
	// ConfigHash hash which acts as a unique identifier for this ephemeral heat instance
	ConfigHash string `json:"configHash,omitempty"`
	// Container image URL for the MySQL container image used as part of this ephemeral heat instance
	MariadbImageURL string `json:"mariadbImageURL,omitempty"`
	// Container image URL for the RabbitMQ container image used as part of this ephemeral heat instance
	RabbitImageURL string `json:"rabbitImageURL,omitempty"`
	// Container image URL for the Heat API container image used as part of this ephemeral heat instance
	HeatAPIImageURL string `json:"heatAPIImageURL,omitempty"`
	// Container image URL for the Heat Engine container image used as part of this ephemeral heat instance
	HeatEngineImageURL string `json:"heatEngineImageURL,omitempty"`
	// Number of replicas for the Heat Engine service, defaults to 3 if unset
	// +kubebuilder:default=3
	HeatEngineReplicas int32 `json:"heatEngineReplicas,omitempty"`
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// HeatOverride, provides the ability to customize ephemeral heat service configuration.
	HeatOverride HeatConfig `json:"heatOverride,omitempty"`
}

OpenStackEphemeralHeatSpec defines the desired state of OpenStackEphemeralHeat

func (*OpenStackEphemeralHeatSpec) DeepCopy

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

func (*OpenStackEphemeralHeatSpec) DeepCopyInto

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

type OpenStackEphemeralHeatStatus

type OpenStackEphemeralHeatStatus struct {
	// Active hash
	Active bool `json:"active"`

	// Conditions - conditions to display in the OpenShift GUI, which reflect CurrentState
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
}

OpenStackEphemeralHeatStatus defines the observed state of OpenStackEphemeralHeat

func (*OpenStackEphemeralHeatStatus) DeepCopy

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

func (*OpenStackEphemeralHeatStatus) DeepCopyInto

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

type OpenStackHostStatus

type OpenStackHostStatus struct {
	IPAddresses          map[string]string `json:"ipaddresses"`
	OVNBridgeMacAdresses map[string]string `json:"ovnBridgeMacAdresses"`
}

OpenStackHostStatus per host IP set

func (*OpenStackHostStatus) DeepCopy

func (in *OpenStackHostStatus) DeepCopy() *OpenStackHostStatus

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

func (*OpenStackHostStatus) DeepCopyInto

func (in *OpenStackHostStatus) DeepCopyInto(out *OpenStackHostStatus)

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

type OpenStackIPSet

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

	Spec   OpenStackIPSetSpec   `json:"spec,omitempty"`
	Status OpenStackIPSetStatus `json:"status,omitempty"`
}

OpenStackIPSet a resource to request a set of IPs for the given networks

func (*OpenStackIPSet) DeepCopy

func (in *OpenStackIPSet) DeepCopy() *OpenStackIPSet

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

func (*OpenStackIPSet) DeepCopyInto

func (in *OpenStackIPSet) DeepCopyInto(out *OpenStackIPSet)

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

func (*OpenStackIPSet) DeepCopyObject

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

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

func (*OpenStackIPSet) Default

func (r *OpenStackIPSet) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (OpenStackIPSet) GetHostnames

func (instance OpenStackIPSet) GetHostnames() map[string]string

GetHostnames -

func (*OpenStackIPSet) SetupWebhookWithManager

func (r *OpenStackIPSet) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager - register this webhook with the controller manager

func (*OpenStackIPSet) ValidateCreate

func (r *OpenStackIPSet) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackIPSet) ValidateDelete

func (r *OpenStackIPSet) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackIPSet) ValidateUpdate

func (r *OpenStackIPSet) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackIPSetList

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

OpenStackIPSetList contains a list of OpenStackIPSet

func (*OpenStackIPSetList) DeepCopy

func (in *OpenStackIPSetList) DeepCopy() *OpenStackIPSetList

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

func (*OpenStackIPSetList) DeepCopyInto

func (in *OpenStackIPSetList) DeepCopyInto(out *OpenStackIPSetList)

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

func (*OpenStackIPSetList) DeepCopyObject

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

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

type OpenStackIPSetSpec

type OpenStackIPSetSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=0
	// HostCount Host count
	HostCount int `json:"hostCount"`

	// +kubebuilder:validation:Optional
	// DeletedHosts List of hosts which got deleted
	DeletedHosts []string `json:"deletedHosts"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// VIP flag to indicate ipset is a request for a VIP
	VIP bool `json:"vip"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// ServiceVIP flag to indicate ipset is a request for a VirtualFixedIPs entry
	ServiceVIP bool `json:"serviceVIP"`

	// +kubebuilder:validation:Required
	// RoleName the name of the role this VM Spec is associated with. If it is a TripleO role, the name must match.
	RoleName string `json:"roleName"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={ctlplane}
	// Networks the name(s) of the OpenStackNetworks used to generate IPs
	Networks []string `json:"networks"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// AddToPredictableIPs add/ignore IPs to be added to Predictable IPs list
	AddToPredictableIPs bool `json:"addToPredictableIPs"`
}

OpenStackIPSetSpec defines the desired state of OpenStackIPSet

func (*OpenStackIPSetSpec) DeepCopy

func (in *OpenStackIPSetSpec) DeepCopy() *OpenStackIPSetSpec

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

func (*OpenStackIPSetSpec) DeepCopyInto

func (in *OpenStackIPSetSpec) DeepCopyInto(out *OpenStackIPSetSpec)

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

type OpenStackIPSetStatus

type OpenStackIPSetStatus struct {
	Hosts    map[string]IPStatus `json:"hosts,omitempty"`
	Reserved int                 `json:"reserved,omitempty"`
	Networks int                 `json:"networks,omitempty"`

	// Conditions - conditions to display in the OpenShift GUI, which reflect CurrentState
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
}

OpenStackIPSetStatus defines the observed state of OpenStackIPSet

func (*OpenStackIPSetStatus) DeepCopy

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

func (*OpenStackIPSetStatus) DeepCopyInto

func (in *OpenStackIPSetStatus) DeepCopyInto(out *OpenStackIPSetStatus)

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

type OpenStackMACAddress

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

	Spec   OpenStackMACAddressSpec   `json:"spec,omitempty"`
	Status OpenStackMACAddressStatus `json:"status,omitempty"`
}

OpenStackMACAddress represents Mac address reservations for static OVN bridge mappings

func (*OpenStackMACAddress) DeepCopy

func (in *OpenStackMACAddress) DeepCopy() *OpenStackMACAddress

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

func (*OpenStackMACAddress) DeepCopyInto

func (in *OpenStackMACAddress) DeepCopyInto(out *OpenStackMACAddress)

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

func (*OpenStackMACAddress) DeepCopyObject

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

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

func (*OpenStackMACAddress) IsReady

func (instance *OpenStackMACAddress) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

type OpenStackMACAddressList

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

OpenStackMACAddressList contains a list of OpenStackMACAddress

func (*OpenStackMACAddressList) DeepCopy

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

func (*OpenStackMACAddressList) DeepCopyInto

func (in *OpenStackMACAddressList) DeepCopyInto(out *OpenStackMACAddressList)

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

func (*OpenStackMACAddressList) DeepCopyObject

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

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

type OpenStackMACAddressSpec

type OpenStackMACAddressSpec struct {
	// +kubebuilder:validation:MinItems=1
	// PhysNetworks - physical networks list to create MAC addresses per physnet per node to create OVNStaticBridgeMacMappings
	PhysNetworks []Physnet `json:"physNetworks"`

	// +kubebuilder:validation:Optional
	// RoleReservations, MAC address reservations per role
	RoleReservations map[string]OpenStackMACRoleReservation `json:"roleReservations"`
}

OpenStackMACAddressSpec defines the desired state of OpenStackMACAddress

func (*OpenStackMACAddressSpec) DeepCopy

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

func (*OpenStackMACAddressSpec) DeepCopyInto

func (in *OpenStackMACAddressSpec) DeepCopyInto(out *OpenStackMACAddressSpec)

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

type OpenStackMACAddressStatus

type OpenStackMACAddressStatus struct {
	// Reservations MAC address reservations per node
	MACReservations map[string]OpenStackMACNodeReservation `json:"macReservations"`

	// ReservedMACCount - the count of all MAC addresses reserved
	ReservedMACCount int `json:"reservedMACCount"`

	// CurrentState - the overall state of the OSMAC cr
	CurrentState shared.ConditionType `json:"currentState"`

	// Conditions - conditions to display in the OpenShift GUI, which reflect CurrentState
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
}

OpenStackMACAddressStatus defines the observed state of OpenStackMACAddress

func (*OpenStackMACAddressStatus) DeepCopy

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

func (*OpenStackMACAddressStatus) DeepCopyInto

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

type OpenStackMACNodeReservation

type OpenStackMACNodeReservation struct {
	// Reservations MAC reservations per PhysNetwork
	Reservations map[string]string `json:"reservations"`

	// +kubebuilder:validation:Optional
	// Deleted - node and therefore MAC reservation are flagged as deleted
	Deleted bool `json:"deleted"`
}

OpenStackMACNodeReservation defines the observed state of the MAC addresses per PhysNetworks

func (*OpenStackMACNodeReservation) DeepCopy

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

func (*OpenStackMACNodeReservation) DeepCopyInto

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

type OpenStackMACRoleReservation

type OpenStackMACRoleReservation struct {
	// Reservations IP address reservations per role
	Reservations map[string]OpenStackMACNodeReservation `json:"reservations"`
}

OpenStackMACRoleReservation -

func (*OpenStackMACRoleReservation) DeepCopy

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

func (*OpenStackMACRoleReservation) DeepCopyInto

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

type OpenStackNet

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

	Spec   OpenStackNetSpec   `json:"spec,omitempty"`
	Status OpenStackNetStatus `json:"status,omitempty"`
}

OpenStackNet represents the IPAM configuration for baremetal and VM hosts within OpenStack Overcloud deployment

func GetOpenStackNetWithLabel

func GetOpenStackNetWithLabel(
	c client.Client,
	namespace string,
	labelSelector map[string]string,
) (*OpenStackNet, error)

GetOpenStackNetWithLabel - Return OpenStackNet with labels

func (*OpenStackNet) DeepCopy

func (in *OpenStackNet) DeepCopy() *OpenStackNet

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

func (*OpenStackNet) DeepCopyInto

func (in *OpenStackNet) DeepCopyInto(out *OpenStackNet)

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

func (*OpenStackNet) DeepCopyObject

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

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

func (*OpenStackNet) Default

func (r *OpenStackNet) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*OpenStackNet) IsReady

func (instance *OpenStackNet) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

func (*OpenStackNet) SetupWebhookWithManager

func (r *OpenStackNet) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager - register this webhook with the controller manager

func (*OpenStackNet) ValidateCreate

func (r *OpenStackNet) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackNet) ValidateDelete

func (r *OpenStackNet) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackNet) ValidateUpdate

func (r *OpenStackNet) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackNetAttachment

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

	Spec   OpenStackNetAttachmentSpec   `json:"spec,omitempty"`
	Status OpenStackNetAttachmentStatus `json:"status,omitempty"`
}

OpenStackNetAttachment are used to describe the node network configuration policy and configured as part of OSNetConfig resources

func (*OpenStackNetAttachment) DeepCopy

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

func (*OpenStackNetAttachment) DeepCopyInto

func (in *OpenStackNetAttachment) DeepCopyInto(out *OpenStackNetAttachment)

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

func (*OpenStackNetAttachment) DeepCopyObject

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

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

func (*OpenStackNetAttachment) Default

func (r *OpenStackNetAttachment) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*OpenStackNetAttachment) IsReady

func (instance *OpenStackNetAttachment) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

func (*OpenStackNetAttachment) SetupWebhookWithManager

func (r *OpenStackNetAttachment) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager - register this webhook with the controller manager

func (*OpenStackNetAttachment) ValidateCreate

func (r *OpenStackNetAttachment) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackNetAttachment) ValidateDelete

func (r *OpenStackNetAttachment) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackNetAttachment) ValidateUpdate

func (r *OpenStackNetAttachment) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackNetAttachmentList

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

OpenStackNetAttachmentList contains a list of OpenStackNetAttachment

func (*OpenStackNetAttachmentList) DeepCopy

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

func (*OpenStackNetAttachmentList) DeepCopyInto

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

func (*OpenStackNetAttachmentList) DeepCopyObject

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

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

type OpenStackNetAttachmentSpec

type OpenStackNetAttachmentSpec struct {

	// +kubebuilder:validation:Required
	// AttachConfiguration used for NodeNetworkConfigurationPolicy or NodeSriovConfigurationPolicy
	AttachConfiguration NodeConfigurationPolicy `json:"attachConfiguration"`
}

OpenStackNetAttachmentSpec defines the desired state of OpenStackNetAttachment

func (*OpenStackNetAttachmentSpec) DeepCopy

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

func (*OpenStackNetAttachmentSpec) DeepCopyInto

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

type OpenStackNetAttachmentStatus

type OpenStackNetAttachmentStatus struct {
	// CurrentState - the overall state of the network attachment
	CurrentState shared.ConditionType `json:"currentState"`

	// TODO: It would be simpler, perhaps, to just have Conditions and get rid of CurrentState,
	// but we are using the same approach in other CRDs for now anyhow
	// Conditions - conditions to display in the OpenShift GUI, which reflect CurrentState
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`

	// AttachType of the OpenStackNetAttachment
	AttachType AttachType `json:"attachType"`

	// BridgeName of the OpenStackNetAttachment
	BridgeName string `json:"bridgeName"`
}

OpenStackNetAttachmentStatus defines the observed state of OpenStackNetAttachment

func (*OpenStackNetAttachmentStatus) DeepCopy

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

func (*OpenStackNetAttachmentStatus) DeepCopyInto

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

type OpenStackNetConfig

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

	Spec   OpenStackNetConfigSpec   `json:"spec,omitempty"`
	Status OpenStackNetConfigStatus `json:"status,omitempty"`
}

OpenStackNetConfig high level CRD to specify openstacknetattachments and openstacknets to describe the full network configuration

func GetOsNetCfg

func GetOsNetCfg(
	c client.Client,
	namespace string,
	osNetCfgName string,
) (*OpenStackNetConfig, error)

GetOsNetCfg -

func (*OpenStackNetConfig) DeepCopy

func (in *OpenStackNetConfig) DeepCopy() *OpenStackNetConfig

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

func (*OpenStackNetConfig) DeepCopyInto

func (in *OpenStackNetConfig) DeepCopyInto(out *OpenStackNetConfig)

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

func (*OpenStackNetConfig) DeepCopyObject

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

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

func (*OpenStackNetConfig) Default

func (r *OpenStackNetConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*OpenStackNetConfig) IsReady

func (instance *OpenStackNetConfig) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

func (*OpenStackNetConfig) SetupWebhookWithManager

func (r *OpenStackNetConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager - register this webhook with the controller manager

func (*OpenStackNetConfig) ValidateCreate

func (r *OpenStackNetConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackNetConfig) ValidateDelete

func (r *OpenStackNetConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackNetConfig) ValidateUpdate

func (r *OpenStackNetConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackNetConfigList

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

OpenStackNetConfigList contains a list of OpenStackNetConfig

func (*OpenStackNetConfigList) DeepCopy

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

func (*OpenStackNetConfigList) DeepCopyInto

func (in *OpenStackNetConfigList) DeepCopyInto(out *OpenStackNetConfigList)

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

func (*OpenStackNetConfigList) DeepCopyObject

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

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

type OpenStackNetConfigProvisioningStatus

type OpenStackNetConfigProvisioningStatus struct {
	State               shared.ProvisioningState `json:"state,omitempty"`
	Reason              string                   `json:"reason,omitempty"`
	AttachDesiredCount  int                      `json:"attachDesiredCount,omitempty"`
	AttachReadyCount    int                      `json:"attachReadyCount,omitempty"`
	NetDesiredCount     int                      `json:"netDesiredCount,omitempty"`
	NetReadyCount       int                      `json:"netReadyCount,omitempty"`
	PhysNetDesiredCount int                      `json:"physNetDesiredCount,omitempty"`
	PhysNetReadyCount   int                      `json:"physNetReadyCount,omitempty"`
}

OpenStackNetConfigProvisioningStatus represents the overall provisioning state of the OpenStackNetConfig (with an optional explanatory message)

func (*OpenStackNetConfigProvisioningStatus) DeepCopy

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

func (*OpenStackNetConfigProvisioningStatus) DeepCopyInto

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

type OpenStackNetConfigSpec

type OpenStackNetConfigSpec struct {

	// +kubebuilder:validation:Required
	// AttachConfigurations used for NodeNetworkConfigurationPolicy or NodeSriovConfigurationPolicy
	AttachConfigurations map[string]NodeConfigurationPolicy `json:"attachConfigurations"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=localdomain
	// DomainName the name of the dns domain for the OSP environment
	DomainName string `json:"domainName"`

	// +kubebuilder:validation:Optional
	// DNSServers, list of dns servers
	DNSServers []string `json:"dnsServers"`

	// +kubebuilder:validation:Optional
	// DNSSearchDomains, list of DNS search domains
	DNSSearchDomains []string `json:"dnsSearchDomains,omitempty"`

	// +kubebuilder:validation:Required
	// Networks, list of all tripleo networks of the deployment
	Networks []Network `json:"networks"`

	// +kubebuilder:validation:Optional
	// OVNBridgeMacMappings - configuration of the physical networks used to create to create static OVN Bridge MAC address mappings.
	// Unique OVN bridge mac address is dynamically allocated by creating OpenStackMACAddress resource and create a MAC per physnet per OpenStack node.
	// This information is used to create the OVNStaticBridgeMacMappings.
	// - If PhysNetworks is not provided, the tripleo default physnet datacentre gets created.
	// - If the macPrefix is not specified for a physnet, the default macPrefix "fa:16:3a" is used.
	// - If PreserveReservations is not specified, the default is true.
	OVNBridgeMacMappings OVNBridgeMacMappingConfig `json:"ovnBridgeMacMappings"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// PreserveReservations - preserve the MAC/IP reservation of the host within a node role when the node got deleted
	// but the role itself is not deleted. The reservations of all nodes in the role get deleted when the full node
	// role is being deleted. (default: true)
	PreserveReservations *bool `json:"preserveReservations"`

	// +kubebuilder:validation:Optional
	// Reservations, manual/static MAC/IP address reservations per node
	Reservations map[string]OpenStackNetStaticNodeReservations `json:"reservations"`
}

OpenStackNetConfigSpec defines the desired state of OpenStackNetConfig

func (*OpenStackNetConfigSpec) DeepCopy

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

func (*OpenStackNetConfigSpec) DeepCopyInto

func (in *OpenStackNetConfigSpec) DeepCopyInto(out *OpenStackNetConfigSpec)

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

type OpenStackNetConfigStatus

type OpenStackNetConfigStatus struct {
	// Conditions - conditions to display in the OpenShift GUI, which reflect CurrentState
	Conditions         shared.ConditionList                 `json:"conditions,omitempty" optional:"true"`
	ProvisioningStatus OpenStackNetConfigProvisioningStatus `json:"provisioningStatus,omitempty"`

	Hosts map[string]OpenStackHostStatus `json:"hosts"`
}

OpenStackNetConfigStatus defines the observed state of OpenStackNetConfig

func (*OpenStackNetConfigStatus) DeepCopy

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

func (*OpenStackNetConfigStatus) DeepCopyInto

func (in *OpenStackNetConfigStatus) DeepCopyInto(out *OpenStackNetConfigStatus)

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

type OpenStackNetList

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

OpenStackNetList contains a list of OpenStackNet

func GetOpenStackNetsWithLabel

func GetOpenStackNetsWithLabel(
	c client.Client,
	namespace string,
	labelSelector map[string]string,
) (*OpenStackNetList, error)

GetOpenStackNetsWithLabel - Return a list of all OpenStackNets in the namespace that have (optional) labels

func (*OpenStackNetList) DeepCopy

func (in *OpenStackNetList) DeepCopy() *OpenStackNetList

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

func (*OpenStackNetList) DeepCopyInto

func (in *OpenStackNetList) DeepCopyInto(out *OpenStackNetList)

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

func (*OpenStackNetList) DeepCopyObject

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

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

type OpenStackNetRoleReservation

type OpenStackNetRoleReservation struct {
	// Reservations IP address reservations
	Reservations        []IPReservation `json:"reservations"`
	AddToPredictableIPs bool            `json:"addToPredictableIPs"`
}

OpenStackNetRoleReservation defines the observed state of the Role Net reservation

func (*OpenStackNetRoleReservation) DeepCopy

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

func (*OpenStackNetRoleReservation) DeepCopyInto

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

type OpenStackNetRoleStatus

type OpenStackNetRoleStatus struct {
	// Reservations IP address reservations
	Reservations        []IPReservation `json:"reservations"`
	AddToPredictableIPs bool            `json:"addToPredictableIPs"`
}

OpenStackNetRoleStatus defines the observed state of the Role Net status

func (*OpenStackNetRoleStatus) DeepCopy

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

func (*OpenStackNetRoleStatus) DeepCopyInto

func (in *OpenStackNetRoleStatus) DeepCopyInto(out *OpenStackNetRoleStatus)

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

type OpenStackNetSpec

type OpenStackNetSpec struct {

	// +kubebuilder:validation:Required
	// Name of the tripleo network this network belongs to, e.g. Control, External, InternalApi, ...
	Name string `json:"name"`

	// +kubebuilder:validation:Required
	// NameLower the name of the subnet, name_lower name of the tripleo subnet, e.g. ctlplane, external, internal_api, internal_api_leaf1
	NameLower string `json:"nameLower"`

	// +kubebuilder:validation:Required
	// Cidr the cidr to use for this network
	Cidr string `json:"cidr"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=4094
	// Vlan ID of the network
	Vlan int `json:"vlan"`

	// +kubebuilder:validation:Required
	// AllocationStart a set of IPs that are reserved and will not be assigned
	AllocationStart string `json:"allocationStart"`

	// +kubebuilder:validation:Required
	// AllocationEnd a set of IPs that are reserved and will not be assigned
	AllocationEnd string `json:"allocationEnd"`

	// +kubebuilder:validation:Optional
	// Gateway optional gateway for the network
	Gateway string `json:"gateway"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1500
	// MTU of the network
	MTU int `json:"mtu"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// VIP create virtual ip on the network
	VIP bool `json:"vip"`

	// +kubebuilder:validation:Optional
	// Routes, list of networks that should be routed via network gateway.
	Routes []Route `json:"routes"`

	// +kubebuilder:validation:Required
	// AttachConfiguration, used for virtual machines to attach to this network
	AttachConfiguration string `json:"attachConfiguration"`

	// +kubebuilder:validation:Required
	// DomainName the name of the domain for this network, usually lower(Name)."OSNetConfig.Spec.DomainName"
	DomainName string `json:"domainName"`

	// +kubebuilder:validation:Optional
	// Reservations, IP address reservations per role
	RoleReservations map[string]OpenStackNetRoleReservation `json:"roleReservations"`
}

OpenStackNetSpec defines the desired state of OpenStackNet

func (*OpenStackNetSpec) DeepCopy

func (in *OpenStackNetSpec) DeepCopy() *OpenStackNetSpec

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

func (*OpenStackNetSpec) DeepCopyInto

func (in *OpenStackNetSpec) DeepCopyInto(out *OpenStackNetSpec)

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

type OpenStackNetStaticNodeReservations

type OpenStackNetStaticNodeReservations struct {
	// +kubebuilder:validation:Optional
	// IPReservations, manual/static IP address reservations per network
	IPReservations map[string]string `json:"ipReservations"`

	// +kubebuilder:validation:Optional
	// MACReservations, manual/static MAC address reservations per physnet
	MACReservations map[string]string `json:"macReservations"`
}

OpenStackNetStaticNodeReservations defines the static reservations of the nodes

func (*OpenStackNetStaticNodeReservations) DeepCopy

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

func (*OpenStackNetStaticNodeReservations) DeepCopyInto

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

type OpenStackNetStatus

type OpenStackNetStatus struct {
	// Reservations MAC address reservations per node
	Reservations map[string]NodeIPReservation `json:"reservations"`

	// ReservedIPCount - the count of all IPs ever reserved on this network
	ReservedIPCount int `json:"reservedIpCount"`

	// CurrentState - the overall state of this network
	CurrentState shared.ConditionType `json:"currentState"`

	// TODO: It would be simpler, perhaps, to just have Conditions and get rid of CurrentState,
	// but we are using the same approach in other CRDs for now anyhow
	// Conditions - conditions to display in the OpenShift GUI, which reflect CurrentState
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
}

OpenStackNetStatus defines the observed state of OpenStackNet

func (*OpenStackNetStatus) DeepCopy

func (in *OpenStackNetStatus) DeepCopy() *OpenStackNetStatus

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

func (*OpenStackNetStatus) DeepCopyInto

func (in *OpenStackNetStatus) DeepCopyInto(out *OpenStackNetStatus)

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

type OpenStackProvisionServer

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

	Spec   OpenStackProvisionServerSpec   `json:"spec,omitempty"`
	Status OpenStackProvisionServerStatus `json:"status,omitempty"`
}

OpenStackProvisionServer used to serve custom images for baremetal provisioning with Metal3

func (*OpenStackProvisionServer) AssignProvisionServerPort

func (instance *OpenStackProvisionServer) AssignProvisionServerPort(
	cond *shared.Condition,
	client goClient.Client,
	portStart int,
) error

AssignProvisionServerPort - Assigns an Apache listening port for a particular OpenStackProvisionServer.

func (*OpenStackProvisionServer) DeepCopy

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

func (*OpenStackProvisionServer) DeepCopyInto

func (in *OpenStackProvisionServer) DeepCopyInto(out *OpenStackProvisionServer)

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

func (*OpenStackProvisionServer) DeepCopyObject

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

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

func (*OpenStackProvisionServer) Default

func (r *OpenStackProvisionServer) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*OpenStackProvisionServer) GetExistingProvServerPorts

func (instance *OpenStackProvisionServer) GetExistingProvServerPorts(
	cond *shared.Condition,
	client goClient.Client,
) (map[string]int, error)

GetExistingProvServerPorts - Get all ports currently in use by all OpenStackProvisionServers in this namespace

func (*OpenStackProvisionServer) IsReady

func (instance *OpenStackProvisionServer) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

func (*OpenStackProvisionServer) SetupWebhookWithManager

func (r *OpenStackProvisionServer) SetupWebhookWithManager(mgr ctrl.Manager, defaults OpenStackProvisionServerDefaults) error

SetupWebhookWithManager - register this webhook with the controller manager

func (*OpenStackProvisionServer) ValidateCreate

func (r *OpenStackProvisionServer) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackProvisionServer) ValidateDelete

func (r *OpenStackProvisionServer) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OpenStackProvisionServer) ValidateUpdate

func (r *OpenStackProvisionServer) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type OpenStackProvisionServerDefaults

type OpenStackProvisionServerDefaults struct {
	DownloaderImageURL string
	AgentImageURL      string
	ApacheImageURL     string
}

OpenStackProvisionServerDefaults -

func (*OpenStackProvisionServerDefaults) DeepCopy

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

func (*OpenStackProvisionServerDefaults) DeepCopyInto

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

type OpenStackProvisionServerList

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

OpenStackProvisionServerList contains a list of OpenStackProvisionServer

func (*OpenStackProvisionServerList) DeepCopy

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

func (*OpenStackProvisionServerList) DeepCopyInto

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

func (*OpenStackProvisionServerList) DeepCopyObject

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

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

type OpenStackProvisionServerProvisioningStatus

type OpenStackProvisionServerProvisioningStatus struct {
	State  shared.ProvisioningState `json:"state,omitempty"`
	Reason string                   `json:"reason,omitempty"`
}

OpenStackProvisionServerProvisioningStatus represents the overall provisioning state of all BaremetalHosts in the OpenStackProvisionServer (with an optional explanatory message)

func (*OpenStackProvisionServerProvisioningStatus) DeepCopy

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

func (*OpenStackProvisionServerProvisioningStatus) DeepCopyInto

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

type OpenStackProvisionServerSpec

type OpenStackProvisionServerSpec struct {
	// The port on which the Apache server should listen
	Port int `json:"port"`
	// An optional interface to use instead of the cluster's default provisioning interface (if any)
	Interface string `json:"interface,omitempty"`
	// URL for RHEL qcow2 image (compressed as gz, or uncompressed)
	BaseImageURL string `json:"baseImageUrl"`
	// Container image URL for init container that downloads the RHEL qcow2 image (baseImageUrl)
	DownloaderImageURL string `json:"downloaderImageUrl,omitempty"`
	// Container image URL for the main container that serves the downloaded RHEL qcow2 image (baseImageUrl)
	ApacheImageURL string `json:"apacheImageUrl,omitempty"`
	// Container image URL for the sidecar container that discovers provisioning network IPs
	AgentImageURL string `json:"agentImageUrl,omitempty"`
}

OpenStackProvisionServerSpec defines the desired state of OpenStackProvisionServer

func (*OpenStackProvisionServerSpec) DeepCopy

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

func (*OpenStackProvisionServerSpec) DeepCopyInto

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

type OpenStackProvisionServerStatus

type OpenStackProvisionServerStatus struct {
	// Surfaces status in GUI
	Conditions shared.ConditionList `json:"conditions,omitempty" optional:"true"`
	// Holds provisioning status for this provision server
	ProvisioningStatus OpenStackProvisionServerProvisioningStatus `json:"provisioningStatus,omitempty"`
	// IP of the provisioning interface on the node running the ProvisionServer pod
	ProvisionIP string `json:"provisionIp,omitempty"`
	// URL of provisioning image on underlying Apache web server
	LocalImageURL string `json:"localImageUrl,omitempty"`
}

OpenStackProvisionServerStatus defines the observed state of OpenStackProvisionServer

func (*OpenStackProvisionServerStatus) DeepCopy

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

func (*OpenStackProvisionServerStatus) DeepCopyInto

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

type OpenStackVMSet

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

	Spec   OpenStackVMSetSpec   `json:"spec,omitempty"`
	Status OpenStackVMSetStatus `json:"status,omitempty"`
}

OpenStackVMSet represents a set of virtual machines hosts for a specific role within the Overcloud deployment

func (*OpenStackVMSet) DeepCopy

func (in *OpenStackVMSet) DeepCopy() *OpenStackVMSet

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

func (*OpenStackVMSet) DeepCopyInto

func (in *OpenStackVMSet) DeepCopyInto(out *OpenStackVMSet)

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

func (*OpenStackVMSet) DeepCopyObject

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

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

func (OpenStackVMSet) GetHostnames

func (instance OpenStackVMSet) GetHostnames() map[string]string

GetHostnames -

func (*OpenStackVMSet) IsReady

func (instance *OpenStackVMSet) IsReady() bool

IsReady - Is this resource in its fully-configured (quiesced) state?

type OpenStackVMSetList

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

OpenStackVMSetList contains a list of OpenStackVMSet

func (*OpenStackVMSetList) DeepCopy

func (in *OpenStackVMSetList) DeepCopy() *OpenStackVMSetList

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

func (*OpenStackVMSetList) DeepCopyInto

func (in *OpenStackVMSetList) DeepCopyInto(out *OpenStackVMSetList)

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

func (*OpenStackVMSetList) DeepCopyObject

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

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

type OpenStackVMSetProvisioningStatus

type OpenStackVMSetProvisioningStatus struct {
	State      shared.ProvisioningState `json:"state,omitempty"`
	Reason     string                   `json:"reason,omitempty"`
	ReadyCount int                      `json:"readyCount,omitempty"`
}

OpenStackVMSetProvisioningStatus represents the overall provisioning state of all VMs in the OpenStackVMSet (with an optional explanatory message)

func (*OpenStackVMSetProvisioningStatus) DeepCopy

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

func (*OpenStackVMSetProvisioningStatus) DeepCopyInto

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

type OpenStackVMSetSpec

type OpenStackVMSetSpec struct {
	// Number of VMs to configure, 1 or 3
	VMCount int `json:"vmCount"`
	// number of Cores assigned to the VMs
	Cores uint32 `json:"cores"`
	// amount of Memory in GB used by the VMs
	Memory uint32 `json:"memory"`
	// +kubebuilder:validation:Optional
	// root Disc size in GB
	DiskSize uint32 `json:"diskSize"`
	// +kubebuilder:validation:Optional
	// StorageClass to be used for the disks
	StorageClass string `json:"storageClass,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=ReadWriteMany
	// +kubebuilder:validation:Enum=ReadWriteOnce;ReadWriteMany
	// StorageAccessMode - Virtual machines must have a persistent volume claim (PVC)
	// with a shared ReadWriteMany (RWX) access mode to be live migrated.
	StorageAccessMode string `json:"storageAccessMode,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=Filesystem
	// +kubebuilder:validation:Enum=Block;Filesystem
	// StorageVolumeMode - When using OpenShift Virtualization with OpenShift Container Platform Container Storage,
	// specify RBD block mode persistent volume claims (PVCs) when creating virtual machine disks. With virtual machine disks,
	// RBD block mode volumes are more efficient and provide better performance than Ceph FS or RBD filesystem-mode PVCs.
	// To specify RBD block mode PVCs, use the 'ocs-storagecluster-ceph-rbd' storage class and VolumeMode: Block.
	StorageVolumeMode string `json:"storageVolumeMode"`
	// +kubebuilder:validation:Optional
	// BaseImageVolumeName used as the base volume for the VM
	BaseImageVolumeName string `json:"baseImageVolumeName"`
	// name of secret holding the stack-admin ssh keys
	DeploymentSSHSecret string `json:"deploymentSSHSecret"`

	// +kubebuilder:default=enp2s0
	// Interface to use for ctlplane network
	CtlplaneInterface string `json:"ctlplaneInterface"`

	// +kubebuilder:default={ctlplane,external,internalapi,tenant,storage,storagemgmt}
	// Networks the name(s) of the OpenStackNetworks used to generate IPs
	Networks []string `json:"networks"`

	// RoleName the name of the TripleO role this VM Spec is associated with. If it is a TripleO role, the name must match.
	RoleName string `json:"roleName"`
	// in case of external functionality, like 3rd party network controllers, set to false to ignore role in rendered overcloud templates.
	IsTripleoRole bool `json:"isTripleoRole"`
	// PasswordSecret the name of the secret used to optionally set the root pwd by adding
	// NodeRootPassword: <base64 enc pwd>
	// to the secret data
	PasswordSecret string `json:"passwordSecret,omitempty"`

	// BootstrapDNS - initial DNS nameserver values to set on the VM when they are provisioned.
	// Note that subsequent TripleO deployment will overwrite these values
	BootstrapDNS     []string `json:"bootstrapDns,omitempty"`
	DNSSearchDomains []string `json:"dnsSearchDomains,omitempty"`
}

OpenStackVMSetSpec defines the desired state of an OpenStackVMSet

func (*OpenStackVMSetSpec) DeepCopy

func (in *OpenStackVMSetSpec) DeepCopy() *OpenStackVMSetSpec

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

func (*OpenStackVMSetSpec) DeepCopyInto

func (in *OpenStackVMSetSpec) DeepCopyInto(out *OpenStackVMSetSpec)

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

type OpenStackVMSetStatus

type OpenStackVMSetStatus struct {
	// BaseImageDVReady is the status of the BaseImage DataVolume
	BaseImageDVReady   bool                             `json:"baseImageDVReady,omitempty"`
	Conditions         shared.ConditionList             `json:"conditions,omitempty" optional:"true"`
	ProvisioningStatus OpenStackVMSetProvisioningStatus `json:"provisioningStatus,omitempty"`
	// VMpods are the names of the kubevirt controller vm pods
	VMpods  []string              `json:"vmpods,omitempty"`
	VMHosts map[string]HostStatus `json:"vmHosts,omitempty"`
}

OpenStackVMSetStatus defines the observed state of OpenStackVMSet

func (*OpenStackVMSetStatus) DeepCopy

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

func (*OpenStackVMSetStatus) DeepCopyInto

func (in *OpenStackVMSetStatus) DeepCopyInto(out *OpenStackVMSetStatus)

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

type OpenStackVirtualMachineRoleSpec

type OpenStackVirtualMachineRoleSpec struct {
	// Number of VMs for the role
	RoleCount int `json:"roleCount"`
	// number of Cores assigned to the VM
	Cores uint32 `json:"cores"`
	// amount of Memory in GB used by the VM
	Memory uint32 `json:"memory"`

	// +kubebuilder:validation:Optional
	// root Disc size in GB
	DiskSize uint32 `json:"diskSize"`
	// +kubebuilder:validation:Optional
	// StorageClass to be used for the controller disks
	StorageClass string `json:"storageClass,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=ReadWriteOnce;ReadWriteMany
	// StorageAccessMode - Virtual machines must have a persistent volume claim (PVC)
	// with a shared ReadWriteMany (RWX) access mode to be live migrated.
	StorageAccessMode string `json:"storageAccessMode,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=Block;Filesystem
	// StorageVolumeMode - When using OpenShift Virtualization with OpenShift Container Platform Container Storage,
	// specify RBD block mode persistent volume claims (PVCs) when creating virtual machine disks. With virtual machine disks,
	// RBD block mode volumes are more efficient and provide better performance than Ceph FS or RBD filesystem-mode PVCs.
	// To specify RBD block mode PVCs, use the 'ocs-storagecluster-ceph-rbd' storage class and VolumeMode: Block.
	StorageVolumeMode string `json:"storageVolumeMode"`
	// +kubebuilder:validation:Optional
	// BaseImageVolumeName used as the base volume for the VM
	BaseImageVolumeName string `json:"baseImageVolumeName"`

	// +kubebuilder:default=enp2s0
	// Interface to use for ctlplane network
	CtlplaneInterface string `json:"ctlplaneInterface"`

	// +kubebuilder:default={ctlplane,external,internalapi,tenant,storage,storagemgmt}
	// Networks the name(s) of the OpenStackNetworks used to generate IPs
	Networks []string `json:"networks"`

	// RoleName the name of the TripleO role this VM Spec is associated with. If it is a TripleO role, the name must match.
	RoleName string `json:"roleName"`
	// in case of external functionality, like 3rd party network controllers, set to false to ignore role in rendered overcloud templates.
	// +kubebuilder:default=true
	IsTripleoRole bool `json:"isTripleoRole,omitempty"`
}

OpenStackVirtualMachineRoleSpec - defines the desired state of VMs

func (*OpenStackVirtualMachineRoleSpec) DeepCopy

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

func (*OpenStackVirtualMachineRoleSpec) DeepCopyInto

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

type Physnet

type Physnet struct {
	// +kubebuilder:default="datacentre"
	// Name - the name of the physnet
	Name string `json:"name"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="fa:16:3a"
	// MACPrefix - the MAC address prefix to use
	// Locally administered addresses are distinguished from universally administered addresses by setting
	// (assigning the value of 1 to) the second-least-significant bit of the first octet of the address.
	// https://en.wikipedia.org/wiki/MAC_address#Universal_vs._local_(U/L_bit)
	MACPrefix string `json:"macPrefix"`
}

Physnet - name and prefix to be used for the physnet

func (*Physnet) DeepCopy

func (in *Physnet) DeepCopy() *Physnet

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

func (*Physnet) DeepCopyInto

func (in *Physnet) DeepCopyInto(out *Physnet)

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

type Route

type Route struct {
	// +kubebuilder:validation:Required
	// Destination, network CIDR
	Destination string `json:"destination"`

	// +kubebuilder:validation:Required
	// Nexthop, gateway for the destination
	Nexthop string `json:"nexthop"`
}

Route definition

func (*Route) DeepCopy

func (in *Route) DeepCopy() *Route

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

func (*Route) DeepCopyInto

func (in *Route) DeepCopyInto(out *Route)

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

type SriovState

type SriovState struct {
	// +kubebuilder:default=vfio-pci
	DeviceType string `json:"deviceType,omitempty"`
	// +kubebuilder:default=9000
	Mtu        uint32 `json:"mtu,omitempty"`
	NumVfs     uint32 `json:"numVfs"`
	Port       string `json:"port"`
	RootDevice string `json:"rootDevice,omitempty"`
	// +kubebuilder:validation:Enum={"on","off"}
	// +kubebuilder:default=on
	SpoofCheck string `json:"spoofCheck,omitempty"`
	// +kubebuilder:validation:Enum={"on","off"}
	// +kubebuilder:default=off
	Trust string `json:"trust,omitempty"`
}

SriovState - SRIOV-specific configuration details for an OSP network

func (*SriovState) DeepCopy

func (in *SriovState) DeepCopy() *SriovState

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

func (*SriovState) DeepCopyInto

func (in *SriovState) DeepCopyInto(out *SriovState)

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

type Subnet

type Subnet struct {
	// +kubebuilder:validation:Required
	// Name the name of the subnet, for the default ip_subnet, use the same NameLower as the osnet
	Name string `json:"name"`

	// +kubebuilder:validation:Optional
	// IPv4 subnet details
	IPv4 NetDetails `json:"ipv4"`

	// +kubebuilder:validation:Optional
	// IPv6 subnet details
	IPv6 NetDetails `json:"ipv6"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=4094
	// Vlan ID of the network
	Vlan int `json:"vlan"`

	// +kubebuilder:validation:Required
	// AttachConfiguration, which attachConfigurations this OSNet uses
	AttachConfiguration string `json:"attachConfiguration"`
}

Subnet defines the tripleo subnet

func (*Subnet) DeepCopy

func (in *Subnet) DeepCopy() *Subnet

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

func (*Subnet) DeepCopyInto

func (in *Subnet) DeepCopyInto(out *Subnet)

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

type TripleoRoleOverrideSpec

type TripleoRoleOverrideSpec struct {
	// RoleOverride - TripleO role name to apply
	RoleName string `json:"roleName"`
	// HostIndexMap - host indices from current role to override (defaults to false)
	HostIndexMap map[string]bool `json:"hostIndexMap"`
}

TripleoRoleOverrideSpec overrides the Tripleo role for specific hosts (multi-rhel suppport)

func (*TripleoRoleOverrideSpec) DeepCopy

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

func (*TripleoRoleOverrideSpec) DeepCopyInto

func (in *TripleoRoleOverrideSpec) DeepCopyInto(out *TripleoRoleOverrideSpec)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳