github.com/openshift/installer@v1.4.17/pkg/types/ovirt/platform.go (about) 1 package ovirt 2 3 import ( 4 configv1 "github.com/openshift/api/config/v1" 5 ) 6 7 // Platform stores all the global configuration that all 8 // machinesets use. 9 type Platform struct { 10 // The target cluster under which all VMs will run 11 ClusterID string `json:"ovirt_cluster_id"` 12 13 // The target storage domain under which all VM disk would be created. 14 StorageDomainID string `json:"ovirt_storage_domain_id"` 15 16 // NetworkName is the target network of all the network interfaces of the nodes. 17 // When no ovirt_network_name is provided it defaults to `ovirtmgmt` network, which is a default network for every ovirt cluster. 18 // +optional 19 NetworkName string `json:"ovirt_network_name,omitempty"` 20 21 // VNICProfileID defines the VNIC profile ID to use the the VM network interfaces. 22 // When no vnicProfileID is provided it will be set to the profile of the network. If there are multiple 23 // profiles for the network, the installer requires you to explicitly set the vnicProfileID. 24 // +optional 25 VNICProfileID string `json:"vnicProfileID,omitempty"` 26 27 // DeprecatedAPIVIP is an IP which will be served by bootstrap and then pivoted masters, using keepalived 28 // Deprecated: Use APIVIPs 29 // 30 // +kubebuilder:validation:Format=ip 31 // +optional 32 DeprecatedAPIVIP string `json:"api_vip,omitempty"` 33 34 // APIVIPs contains the VIP(s) which will be served by bootstrap and then 35 // pivoted masters, using keepalived. In dual stack clusters it contains an 36 // IPv4 and IPv6 address, otherwise only one VIP 37 // 38 // +kubebuilder:validation:MaxItems=2 39 // +kubebuilder:validation:UniqueItems=true 40 // +kubebuilder:validation:Format=ip 41 // +optional 42 APIVIPs []string `json:"api_vips,omitempty"` 43 44 // IngressIP is an external IP which routes to the default ingress controller. 45 // The IP is a suitable target of a wildcard DNS record used to resolve default route host names. 46 // Deprecated: Use IngressVIPs 47 // 48 // +kubebuilder:validation:Format=ip 49 // +optional 50 DeprecatedIngressVIP string `json:"ingress_vip,omitempty"` 51 52 // IngressVIPs are external IP(s) which route to the default ingress 53 // controller. The VIPs are suitable targets of wildcard DNS records used to 54 // resolve default route host names. In dual stack clusters it contains an 55 // IPv4 and IPv6 address, otherwise only one VIP 56 // 57 // +kubebuilder:validation:MaxItems=2 58 // +kubebuilder:validation:UniqueItems=true 59 // +kubebuilder:validation:Format=ip 60 // +optional 61 IngressVIPs []string `json:"ingress_vips,omitempty"` 62 63 // DefaultMachinePlatform is the default configuration used when 64 // installing on ovirt for machine pools which do not define their 65 // own platform configuration. 66 // Default will set the image field to the latest RHCOS image. 67 // +optional 68 DefaultMachinePlatform *MachinePool `json:"defaultMachinePlatform,omitempty"` 69 70 // AffinityGroups contains the RHV affinity groups that the installer will create. 71 // +optional 72 AffinityGroups []AffinityGroup `json:"affinityGroups"` 73 74 // LoadBalancer defines how the load balancer used by the cluster is configured. 75 // LoadBalancer is available in TechPreview. 76 // +optional 77 LoadBalancer *configv1.OvirtPlatformLoadBalancer `json:"loadBalancer,omitempty"` 78 } 79 80 // AffinityGroup defines the affinity group that the installer will create 81 type AffinityGroup struct { 82 // Name name of the affinity group 83 Name string `json:"name"` 84 // Priority of the affinity group, needs to be between 1 (lowest) - 5 (highest) 85 Priority int `json:"priority"` 86 // Description of the affinity group 87 // +optional 88 Description string `json:"description,omitempty"` 89 // Enforcing whether to create a hard affinity rule, default is false 90 // +optional 91 Enforcing bool `json:"enforcing"` 92 }