github.com/openshift/installer@v1.4.17/pkg/types/openstack/platform.go (about) 1 package openstack 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 // Region specifies the OpenStack region where the cluster will be created. 11 // Deprecated: this value is not used by the installer. 12 // +optional 13 DeprecatedRegion string `json:"region,omitempty"` 14 15 // DefaultMachinePlatform is the default configuration used when 16 // installing on OpenStack for machine pools which do not define their own 17 // platform configuration. 18 // +optional 19 DefaultMachinePlatform *MachinePool `json:"defaultMachinePlatform,omitempty"` 20 21 // Cloud is the name of OpenStack cloud to use from clouds.yaml. 22 Cloud string `json:"cloud"` 23 24 // ExternalNetwork is name of the external network in your OpenStack cluster. 25 // +optional 26 ExternalNetwork string `json:"externalNetwork,omitempty"` 27 28 // DeprecatedFlavorName is the name of the flavor to use for instances in this cluster. 29 // Deprecated: use FlavorName in DefaultMachinePlatform to define default flavor. 30 // +optional 31 DeprecatedFlavorName string `json:"computeFlavor,omitempty"` 32 33 // LbFloatingIP is the IP address of an available floating IP in your OpenStack cluster 34 // to associate with the OpenShift load balancer. 35 // Deprecated: this value has been renamed to apiFloatingIP. 36 // +optional 37 DeprecatedLbFloatingIP string `json:"lbFloatingIP,omitempty"` 38 39 // APIFloatingIP is the IP address of an available floating IP in your OpenStack cluster 40 // to associate with the OpenShift API load balancer. 41 // +optional 42 APIFloatingIP string `json:"apiFloatingIP,omitempty"` 43 44 // IngressFloatingIP is the ID of an available floating IP in your OpenStack cluster 45 // that will be associated with the OpenShift ingress port 46 // +optional 47 IngressFloatingIP string `json:"ingressFloatingIP,omitempty"` 48 49 // ExternalDNS holds the IP addresses of dns servers that will 50 // be added to the dns resolution of all instances in the cluster. 51 // +optional 52 ExternalDNS []string `json:"externalDNS"` 53 54 // TrunkSupport holds a `0` or `1` value that indicates whether or not to use trunk ports 55 // in your OpenShift cluster. 56 // Deprecated: the machine manifest should be used to specify that trunk should be used. 57 // +optional 58 DeprecatedTrunkSupport string `json:"trunkSupport,omitempty"` 59 60 // OctaviaSupport holds a `0` or `1` value that indicates whether your OpenStack 61 // cluster supports Octavia Loadbalancing. 62 // Deprecated: this value is set by the installer automatically. 63 // +optional 64 DeprecatedOctaviaSupport string `json:"octaviaSupport,omitempty"` 65 66 // ClusterOSImage is either a URL with `http(s)` or `file` scheme to override 67 // the default OS image for cluster nodes, or an existing Glance image name. 68 // +optional 69 ClusterOSImage string `json:"clusterOSImage,omitempty"` 70 71 // ClusterOSImageProperties is a list of properties to be added to the metadata of the uploaded Glance ClusterOSImage. 72 // Default: the default is to not set any properties. 73 // +optional 74 ClusterOSImageProperties map[string]string `json:"clusterOSImageProperties,omitempty"` 75 76 // DeprecatedAPIVIP is the static IP on the nodes subnet that the api port for openshift will be assigned 77 // Default: will be set to the 5 on the first entry in the machineNetwork CIDR 78 // Deprecated: Use APIVIPs 79 // 80 // +kubebuilder:validation:Format=ip 81 // +optional 82 DeprecatedAPIVIP string `json:"apiVIP,omitempty"` 83 84 // APIVIPs contains the VIP(s) on the nodes subnet that the api port for 85 // openshift will be assigned. In dual stack clusters it contains an IPv4 86 // and IPv6 address, otherwise only one VIP 87 // Default: will be set to the 5 on the first entry in the machineNetwork 88 // CIDR 89 // 90 // +kubebuilder:validation:MaxItems=2 91 // +kubebuilder:validation:UniqueItems=true 92 // +kubebuilder:validation:Format=ip 93 // +optional 94 APIVIPs []string `json:"apiVIPs,omitempty"` 95 96 // DeprecatedIngressVIP is the static IP on the nodes subnet that the apps port for openshift will be assigned 97 // Default: will be set to the 7 on the first entry in the machineNetwork CIDR 98 // Deprecated: Use IngressVIPs 99 // 100 // +kubebuilder:validation:Format=ip 101 // +optional 102 DeprecatedIngressVIP string `json:"ingressVIP,omitempty"` 103 104 // IngressVIPs contains the VIP(s) on the nodes subnet that the apps port 105 // for openshift will be assigned. In dual stack clusters it contains an 106 // IPv4 and IPv6 address, otherwise only one VIP 107 // Default: will be set to the 7 on the first entry in the machineNetwork 108 // CIDR 109 // 110 // +kubebuilder:validation:MaxItems=2 111 // +kubebuilder:validation:UniqueItems=true 112 // +kubebuilder:validation:Format=ip 113 // +optional 114 IngressVIPs []string `json:"ingressVIPs,omitempty"` 115 116 // DeprecatedMachinesSubnet is a string of the UUIDv4 of an openstack subnet. This subnet will be used by all nodes created by the installer. 117 // By setting this, the installer will no longer create a network and subnet. 118 // The subnet and network specified in MachinesSubnet will not be deleted or modified by the installer. 119 // Deprecated: Use ControlPlanePort 120 // +optional 121 DeprecatedMachinesSubnet string `json:"machinesSubnet,omitempty"` 122 123 // ControlPlanePort contains details of the network attached to the control plane port, with the network either containing one openstack 124 // subnet for IPv4 or two openstack subnets for dualstack clusters. Providing this configuration will prevent OpenShift from managing 125 // or updating this network and its subnets. The network and its subnets will be used during creation of all nodes. 126 // +optional 127 ControlPlanePort *PortTarget `json:"controlPlanePort,omitempty"` 128 129 // LoadBalancer defines how the load balancer used by the cluster is configured. 130 // +optional 131 LoadBalancer *configv1.OpenStackPlatformLoadBalancer `json:"loadBalancer,omitempty"` 132 }