diff --git a/docs/openstack.md b/docs/openstack.md
index fa7e0d06743013691f60095ee43d5142535e6076..9acca4ed88fdf266894d8ea79822558b444409c1 100644
--- a/docs/openstack.md
+++ b/docs/openstack.md
@@ -125,10 +125,29 @@ The new cloud provider is configured to have Octavia by default in Kubespray.
   ```
 
 - You can override the default OpenStack metadata configuration (see [#6338](https://github.com/kubernetes-sigs/kubespray/issues/6338) for explanation):
-  
+
   ```yaml
   external_openstack_metadata_search_order: "configDrive,metadataService"
   ```
 
+- Available variables for configuring lbaas:
+
+  ```yaml
+  external_openstack_lbaas_create_monitor: false
+  external_openstack_lbaas_monitor_delay: "1m"
+  external_openstack_lbaas_monitor_timeout: "30s"
+  external_openstack_lbaas_monitor_max_retries: "3"
+  external_openstack_lbaas_provider: octavia
+  external_openstack_lbaas_use_octavia: false
+  external_openstack_lbaas_network_id: "Neutron network ID to create LBaaS VIP"
+  external_openstack_lbaas_subnet_id: "Neutron subnet ID to create LBaaS VIP"
+  external_openstack_lbaas_floating_network_id: "Neutron network ID to get floating IP from"
+  external_openstack_lbaas_floating_subnet_id: "Neutron subnet ID to get floating IP from"
+  external_openstack_lbaas_method: "ROUND_ROBIN"
+  external_openstack_lbaas_manage_security_groups: false
+  external_openstack_lbaas_internal_lb: false
+
+  ```
+
 - Run `source path/to/your/openstack-rc` to read your OpenStack credentials like `OS_AUTH_URL`, `OS_USERNAME`, `OS_PASSWORD`, etc. Those variables are used for accessing OpenStack from the external cloud provider.
 - Run the `cluster.yml` playbook
diff --git a/roles/kubernetes-apps/external_cloud_controller/openstack/templates/external-openstack-cloud-config.j2 b/roles/kubernetes-apps/external_cloud_controller/openstack/templates/external-openstack-cloud-config.j2
index eda2d972023d3ca24cb242694e44d03821b8416f..ba631e5dac8286b58c698767d68e2089b0ab5c09 100644
--- a/roles/kubernetes-apps/external_cloud_controller/openstack/templates/external-openstack-cloud-config.j2
+++ b/roles/kubernetes-apps/external_cloud_controller/openstack/templates/external-openstack-cloud-config.j2
@@ -57,7 +57,7 @@ internal-lb={{ external_openstack_lbaas_internal_lb }}
 {% endif %}
 {% if external_openstack_lbaas_provider is defined %}
 lb-provider={{ external_openstack_lbaas_provider }}
-use-octavia={{ external_openstack_lbaas_provider | lower == 'octavia' }}
+use-octavia={{ external_openstack_lbaas_use_octavia }}
 {% else %}
 lb-provider=octavia
 use-octavia=true
diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml
index 61e71385894748107fb848595b6abe9a21d58df0..ccb1c1baea540ac613fa5c29161044ed41f0724c 100644
--- a/roles/kubespray-defaults/defaults/main.yaml
+++ b/roles/kubespray-defaults/defaults/main.yaml
@@ -381,12 +381,12 @@ openstack_lbaas_monitor_max_retries: "3"
 openstack_cacert: "{{ lookup('env','OS_CACERT') }}"
 
 # Default values for the external OpenStack Cloud Controller
-external_openstack_lbaas_use_octavia: true
 external_openstack_lbaas_create_monitor: false
 external_openstack_lbaas_monitor_delay: "1m"
 external_openstack_lbaas_monitor_timeout: "30s"
 external_openstack_lbaas_monitor_max_retries: "3"
 external_openstack_network_ipv6_disabled: false
+external_openstack_lbaas_use_octavia: false
 external_openstack_network_internal_networks:
 - ""
 external_openstack_network_public_networks: