Documentation
¶
Overview ¶
Package v1beta2 contains API Schema definitions for the osp-director v1beta2 API group +kubebuilder:object:generate=true +groupName=osp-director.openstack.org
Index ¶
- Variables
- func CreateVIPNetworkList(c client.Client, instance *OpenStackControlPlane) ([]string, error)
- type ControlPlaneProvisioningReason
- type CrsForBackup
- type Hash
- type Host
- type HostStatus
- type IPStatus
- type OpenStackBackup
- func (in *OpenStackBackup) DeepCopy() *OpenStackBackup
- func (in *OpenStackBackup) DeepCopyInto(out *OpenStackBackup)
- func (in *OpenStackBackup) DeepCopyObject() runtime.Object
- func (r *OpenStackBackup) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *OpenStackBackup) ValidateCreate() error
- func (r *OpenStackBackup) ValidateDelete() error
- func (r *OpenStackBackup) ValidateUpdate(old runtime.Object) error
- type OpenStackBackupList
- type OpenStackBackupSpec
- type OpenStackBackupStatus
- type OpenStackControlPlane
- func (in *OpenStackControlPlane) DeepCopy() *OpenStackControlPlane
- func (in *OpenStackControlPlane) DeepCopyInto(out *OpenStackControlPlane)
- func (in *OpenStackControlPlane) DeepCopyObject() runtime.Object
- func (r *OpenStackControlPlane) Default()
- func (instance OpenStackControlPlane) GetHostnames() map[string]string
- func (instance *OpenStackControlPlane) IsReady() bool
- func (r *OpenStackControlPlane) SetupWebhookWithManager(mgr ctrl.Manager, defaults shared.OpenStackControlPlaneDefaults) error
- func (r *OpenStackControlPlane) ValidateCreate() error
- func (r *OpenStackControlPlane) ValidateDelete() error
- func (r *OpenStackControlPlane) ValidateUpdate(old runtime.Object) error
- type OpenStackControlPlaneList
- type OpenStackControlPlaneProvisioningStatus
- type OpenStackControlPlaneSpec
- type OpenStackControlPlaneStatus
- type OpenStackVMSet
- func (in *OpenStackVMSet) DeepCopy() *OpenStackVMSet
- func (in *OpenStackVMSet) DeepCopyInto(out *OpenStackVMSet)
- func (in *OpenStackVMSet) DeepCopyObject() runtime.Object
- func (r *OpenStackVMSet) Default()
- func (instance OpenStackVMSet) GetHostnames() map[string]string
- func (instance *OpenStackVMSet) IsReady() bool
- func (r *OpenStackVMSet) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *OpenStackVMSet) ValidateCreate() error
- func (r *OpenStackVMSet) ValidateDelete() error
- func (r *OpenStackVMSet) ValidateUpdate(old runtime.Object) error
- type OpenStackVMSetDisk
- type OpenStackVMSetList
- type OpenStackVMSetProvisioningStatus
- type OpenStackVMSetSpec
- type OpenStackVMSetStatus
- type OpenStackVirtualMachineRoleSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "osp-director.openstack.org", Version: "v1beta2"} // 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 CreateVIPNetworkList ¶
func CreateVIPNetworkList( c client.Client, instance *OpenStackControlPlane, ) ([]string, error)
CreateVIPNetworkList - return list of all networks from all VM roles which has vip flag
Types ¶
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 ospdirectorv1beta1.OpenStackBaremetalSetList `json:"openStackBaremetalSets,omitempty" optional:"true"`
// OpenStackClients - list of OpenStackClients saved in the backup
OpenStackClients ospdirectorv1beta1.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 ospdirectorv1beta1.OpenStackMACAddressList `json:"openStackMACAddresses,omitempty" optional:"true"`
// OpenStackNets - list of OpenStackNets saved in the backup
OpenStackNets ospdirectorv1beta1.OpenStackNetList `json:"openStackNets,omitempty" optional:"true"`
// OpenStackNetAttachments - list of OpenStackNetAttachments saved in the backup
OpenStackNetAttachments ospdirectorv1beta1.OpenStackNetAttachmentList `json:"openStackNetAttachments,omitempty" optional:"true"`
// OpenStackNetConfigs - list of OpenStackNetConfigs saved in the backup
OpenStackNetConfigs ospdirectorv1beta1.OpenStackNetConfigList `json:"openStackNetConfigs,omitempty" optional:"true"`
// OpenStackProvisionServers - list of OpenStackProvisionServers saved in the backup
OpenStackProvisionServers ospdirectorv1beta1.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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hash.
func (*Hash) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Host.
func (*Host) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 hostname and IP info for a specific host
func SyncIPsetStatus ¶
func SyncIPsetStatus( cond *shared.Condition, instanceStatus map[string]HostStatus, ipsetHostStatus ospdirectorv1beta1.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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPStatus.
func (*IPStatus) 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.
func (*OpenStackBackup) SetupWebhookWithManager ¶
func (r *OpenStackBackup) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager - register this webhook with the controller manager
func (*OpenStackBackup) ValidateCreate ¶
func (r *OpenStackBackup) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*OpenStackBackup) ValidateDelete ¶
func (r *OpenStackBackup) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*OpenStackBackup) ValidateUpdate ¶
func (r *OpenStackBackup) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
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 (*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 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 ¶
func (in *OpenStackBackupStatus) DeepCopy() *OpenStackBackupStatus
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 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 ¶
func (in *OpenStackControlPlane) DeepCopy() *OpenStackControlPlane
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) Default ¶
func (r *OpenStackControlPlane) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
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?
func (*OpenStackControlPlane) SetupWebhookWithManager ¶
func (r *OpenStackControlPlane) SetupWebhookWithManager(mgr ctrl.Manager, defaults shared.OpenStackControlPlaneDefaults) error
SetupWebhookWithManager - register this webhook with the controller manager
func (*OpenStackControlPlane) ValidateCreate ¶
func (r *OpenStackControlPlane) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*OpenStackControlPlane) ValidateDelete ¶
func (r *OpenStackControlPlane) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*OpenStackControlPlane) ValidateUpdate ¶
func (r *OpenStackControlPlane) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
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 ¶
func (in *OpenStackControlPlaneList) DeepCopy() *OpenStackControlPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackControlPlaneList.
func (*OpenStackControlPlaneList) DeepCopyInto ¶
func (in *OpenStackControlPlaneList) DeepCopyInto(out *OpenStackControlPlaneList)
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 ¶
func (in *OpenStackControlPlaneProvisioningStatus) DeepCopy() *OpenStackControlPlaneProvisioningStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackControlPlaneProvisioningStatus.
func (*OpenStackControlPlaneProvisioningStatus) DeepCopyInto ¶
func (in *OpenStackControlPlaneProvisioningStatus) DeepCopyInto(out *OpenStackControlPlaneProvisioningStatus)
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
// +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 ¶
func (in *OpenStackControlPlaneSpec) DeepCopy() *OpenStackControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackControlPlaneSpec.
func (*OpenStackControlPlaneSpec) DeepCopyInto ¶
func (in *OpenStackControlPlaneSpec) DeepCopyInto(out *OpenStackControlPlaneSpec)
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 ¶
func (in *OpenStackControlPlaneStatus) DeepCopy() *OpenStackControlPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackControlPlaneStatus.
func (*OpenStackControlPlaneStatus) DeepCopyInto ¶
func (in *OpenStackControlPlaneStatus) DeepCopyInto(out *OpenStackControlPlaneStatus)
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) Default ¶
func (r *OpenStackVMSet) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
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?
func (*OpenStackVMSet) SetupWebhookWithManager ¶
func (r *OpenStackVMSet) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager - register this webhook with the controller manager
func (*OpenStackVMSet) ValidateCreate ¶
func (r *OpenStackVMSet) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*OpenStackVMSet) ValidateDelete ¶
func (r *OpenStackVMSet) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*OpenStackVMSet) ValidateUpdate ¶
func (r *OpenStackVMSet) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type OpenStackVMSetDisk ¶
type OpenStackVMSetDisk struct {
// Name of the disk, e.g. used to do the PVC request.
// Must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character
Name string `json:"name"`
// Disc size in GB
DiskSize uint32 `json:"diskSize"`
// StorageClass to be used for the disk
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
// +kubebuilder:default=false
// DedicatedIOThread - Disks with dedicatedIOThread set to true will be allocated an exclusive thread.
// This is generally useful if a specific Disk is expected to have heavy I/O traffic, e.g. a database spindle.
DedicatedIOThread bool `json:"dedicatedIOThread"`
// BaseImageVolumeName used as the base volume for the rootdisk of the VM
BaseImageVolumeName string `json:"baseImageVolumeName"`
}
OpenStackVMSetDisk defines additional disk properties
func (*OpenStackVMSetDisk) DeepCopy ¶
func (in *OpenStackVMSetDisk) DeepCopy() *OpenStackVMSetDisk
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackVMSetDisk.
func (*OpenStackVMSetDisk) DeepCopyInto ¶
func (in *OpenStackVMSetDisk) DeepCopyInto(out *OpenStackVMSetDisk)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *OpenStackVMSetProvisioningStatus) DeepCopy() *OpenStackVMSetProvisioningStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackVMSetProvisioningStatus.
func (*OpenStackVMSetProvisioningStatus) DeepCopyInto ¶
func (in *OpenStackVMSetProvisioningStatus) DeepCopyInto(out *OpenStackVMSetProvisioningStatus)
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"`
// RootDisk specification of the VM
RootDisk OpenStackVMSetDisk `json:"rootDisk"`
// AdditionalDisks additional disks to add to the VM
AdditionalDisks []OpenStackVMSetDisk `json:"additionalDisks,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=auto;shared
// IOThreadsPolicy - IO thread policy for the domain. Currently valid policies are shared and auto.
// However, if any disk requests a dedicated IOThread, ioThreadsPolicy will be enabled and default to shared.
// When ioThreadsPolicy is set to auto IOThreads will also be "isolated" from the vCPUs and placed on the same physical CPU as the QEMU emulator thread.
// An ioThreadsPolicy of shared indicates that KubeVirt should use one thread that will be shared by all disk devices.
IOThreadsPolicy string `json:"ioThreadsPolicy,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=false
// Block Multi-Queue is a framework for the Linux block layer that maps Device I/O queries to multiple queues.
// This splits I/O processing up across multiple threads, and therefor multiple CPUs. libvirt recommends that the
// number of queues used should match the number of CPUs allocated for optimal performance.
BlockMultiQueue bool `json:"blockMultiQueue"`
// 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"`
// +kubebuilder:validation:Optional
// NodeSelector to target subset of worker nodes running this VMset
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=Manual
// +kubebuilder:validation:Enum=Always;Halted;Manual;RerunOnFailure
// Running state indicates the requested running state of the VirtualMachineInstance
// mutually exclusive with Running
RunStrategy virtv1.VirtualMachineRunStrategy `json:"runStrategy,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=None;LiveMigrate
// EvictionStrategy defines if the VirtualMachineInstance should be
// migrated instead of shut-off.
EvictionStrategy *virtv1.EvictionStrategy `json:"evictionStrategy,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 ¶
func (in *OpenStackVMSetStatus) DeepCopy() *OpenStackVMSetStatus
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
// (deprecated) root Disc size in GB - use RootDisk.DiskSize instead
DiskSize uint32 `json:"diskSize,omitempty"`
// +kubebuilder:validation:Optional
// (deprecated) StorageClass to be used for the controller disks - use RootDisk.
StorageClass string `json:"storageClass,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=ReadWriteOnce;ReadWriteMany
// (deprecated) StorageAccessMode - use RootDisk.StorageAccessMode instead
// 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
// (deprecated) StorageVolumeMode - use RootDisk.StorageVolumeMode instead
// 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,omitempty"`
// +kubebuilder:validation:Optional
// (deprecated) BaseImageVolumeName used as the base volume for the VM - use RootDisk.BaseImageVolumeName instead
BaseImageVolumeName string `json:"baseImageVolumeName,omitempty"`
// RootDisk specification of the VM
RootDisk OpenStackVMSetDisk `json:"rootDisk"`
// AdditionalDisks additional disks to add to the VM
AdditionalDisks []OpenStackVMSetDisk `json:"additionalDisks,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=auto;shared
// IOThreadsPolicy - IO thread policy for the domain. Currently valid policies are shared and auto.
// However, if any disk requests a dedicated IOThread, ioThreadsPolicy will be enabled and default to shared.
// When ioThreadsPolicy is set to auto IOThreads will also be "isolated" from the vCPUs and placed on the same physical CPU as the QEMU emulator thread.
// An ioThreadsPolicy of shared indicates that KubeVirt should use one thread that will be shared by all disk devices.
IOThreadsPolicy string `json:"ioThreadsPolicy,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=false
// Block Multi-Queue is a framework for the Linux block layer that maps Device I/O queries to multiple queues.
// This splits I/O processing up across multiple threads, and therefor multiple CPUs. libvirt recommends that the
// number of queues used should match the number of CPUs allocated for optimal performance.
BlockMultiQueue bool `json:"blockMultiQueue"`
// +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"`
// +kubebuilder:validation:Optional
// NodeSelector to target subset of worker nodes running this VMset
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=Manual
// +kubebuilder:validation:Enum=Always;Halted;Manual;RerunOnFailure
// Running state indicates the requested running state of the VirtualMachineInstance
// mutually exclusive with Running
RunStrategy virtv1.VirtualMachineRunStrategy `json:"runStrategy,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=None;LiveMigrate
// EvictionStrategy defines if the VirtualMachineInstance should be
// migrated instead of shut-off.
EvictionStrategy *virtv1.EvictionStrategy `json:"evictionStrategy,omitempty"`
}
OpenStackVirtualMachineRoleSpec - defines the desired state of VMs
func (*OpenStackVirtualMachineRoleSpec) DeepCopy ¶
func (in *OpenStackVirtualMachineRoleSpec) DeepCopy() *OpenStackVirtualMachineRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackVirtualMachineRoleSpec.
func (*OpenStackVirtualMachineRoleSpec) DeepCopyInto ¶
func (in *OpenStackVirtualMachineRoleSpec) DeepCopyInto(out *OpenStackVirtualMachineRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.