//Module included in the following assemblies:
//
// * installing/installing_openstack/installing-openstack-installer.adoc
// * installing/installing_openstack/installing-openstack-installer-custom.adoc
// * installing/installing_openstack/installing-openstack-installer-user.adoc

:_mod-docs-content-type: PROCEDURE
[id="installation-osp-setting-cloud-provider-options_{context}"]
= Setting OpenStack Cloud Controller Manager options

[role="_abstract"]
Optionally, you can edit the {rh-openstack-first} Cloud Controller Manager (CCM) configuration for your cluster. This configuration controls how {product-title} interacts with {rh-openstack-first}.

For a complete list of configuration parameters, see the "OpenStack Cloud Controller Manager reference guide" page in the "Installing on OpenStack" documentation.

.Procedure

. Generate manifest files for your cluster if you have not already done so by entering the following command:
+
[source,terminal]
----
$ openshift-install --dir <destination_directory> create manifests
----

. In a text editor, open the cloud-provider configuration manifest file. For example:
+
[source,terminal]
----
$ vi openshift/manifests/cloud-provider-config.yaml
----

. Modify the options according to the CCM reference guide. A common case is configuring Octavia for load balancing. For example:
+
[source,text]
----
#...
[LoadBalancer]
lb-provider = "amphora"
floating-network-id="d3deb660-4190-40a3-91f1-37326fe6ec4a"
create-monitor = True
monitor-delay = 10s
monitor-timeout = 10s
monitor-max-retries = 1
#...
----
+
where:
+
`lb-provider`:: Specifies the Octavia provider that your load balancer uses. The parameter accepts `"ovn"` or `"amphora"` as values. If you choose to use OVN, you must also set `lb-method` to `SOURCE_IP_PORT`.
`floating-network-id`:: This field is required if you want to use multiple external networks with your cluster. The cloud provider creates floating IP addresses on the network that is specified here.
`create-monitor`:: Specifies whether the cloud provider creates health monitors for Octavia load balancers. Set the value to `True` to create health monitors. As of {rh-openstack} 16.2, this feature is only available for the Amphora provider.
`monitor-delay`:: Specifies the frequency with which endpoints are monitored. The value must be in the `time.ParseDuration()` format. This field is required if the value of the `create-monitor` field is `True`.
`monitor-timeout`:: Specifies the time that monitoring requests are open before timing out. The value must be in the `time.ParseDuration()` format. This field is required if the value of the `create-monitor` field is `True`.
`monitor-max-retries`:: Specifies how many successful monitoring requests are required before a load balancer is marked as online. The value must be an integer. This field is required if the value of the `create-monitor` property is `True`.
+
[IMPORTANT]
====
Before saving your changes, verify that the file is structured correctly. Clusters fail if properties are not placed in the appropriate section.
====
+
[IMPORTANT]
====
You must set the value of the `create-monitor` property to `True` if you use services that have the value of the `.spec.externalTrafficPolicy` property set to `Local`. The OVN Octavia provider in {rh-openstack} 16.2 does not support health monitors. Therefore, services that have `ETP` parameter values set to `Local` do not respond when the `lb-provider` value is set to `"ovn"`.
====

. Save the changes to the file and proceed with installation.

. Optional: You can update your cloud provider configuration after you run the installation program by entering the following command:
+
[source,terminal]
----
$ oc edit configmap -n openshift-config cloud-provider-config
----
+
After you save your changes, your cluster takes some time to reconfigure itself. The process is complete if none of your nodes have a `SchedulingDisabled` status.
