aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/source/admin/acme.rst2
-rw-r--r--doc/source/admin/advanced-configuration.rst111
-rw-r--r--doc/source/admin/mariadb-backup-and-restore.rst2
-rw-r--r--doc/source/admin/tls.rst34
-rw-r--r--doc/source/reference/bare-metal/ironic-guide.rst12
-rw-r--r--doc/source/reference/compute/nova-cells-guide.rst2
-rw-r--r--doc/source/reference/compute/nova-fake-driver.rst2
-rw-r--r--doc/source/reference/compute/nova-guide.rst19
-rw-r--r--doc/source/reference/compute/zun-guide.rst10
-rw-r--r--doc/source/reference/containers/kuryr-guide.rst4
-rw-r--r--doc/source/reference/databases/external-mariadb-guide.rst6
-rw-r--r--doc/source/reference/databases/mariadb-guide.rst105
-rw-r--r--doc/source/reference/high-availability/haproxy-guide.rst6
-rw-r--r--doc/source/reference/logging-and-monitoring/central-logging-guide.rst2
-rw-r--r--doc/source/reference/logging-and-monitoring/grafana-guide.rst4
-rw-r--r--doc/source/reference/logging-and-monitoring/osprofiler-guide.rst4
-rw-r--r--doc/source/reference/logging-and-monitoring/prometheus-guide.rst4
-rw-r--r--doc/source/reference/message-queues/external-rabbitmq-guide.rst2
-rw-r--r--doc/source/reference/networking/designate-guide.rst6
-rw-r--r--doc/source/reference/networking/dpdk.rst4
-rw-r--r--doc/source/reference/networking/neutron-extensions.rst51
-rw-r--r--doc/source/reference/networking/neutron.rst8
-rw-r--r--doc/source/reference/networking/octavia.rst16
-rw-r--r--doc/source/reference/networking/sriov.rst2
-rw-r--r--doc/source/reference/orchestration-and-nfv/tacker-guide.rst4
-rw-r--r--doc/source/reference/shared-services/glance-guide.rst10
-rw-r--r--doc/source/reference/shared-services/keystone-guide.rst11
-rw-r--r--doc/source/reference/shared-services/skyline-guide.rst6
-rw-r--r--doc/source/reference/storage/cinder-guide-lightbits.rst2
-rw-r--r--doc/source/reference/storage/cinder-guide-pure.rst8
-rw-r--r--doc/source/reference/storage/cinder-guide-quobyte.rst2
-rw-r--r--doc/source/reference/storage/cinder-guide.rst57
-rw-r--r--doc/source/reference/storage/external-ceph-guide.rst2
-rw-r--r--doc/source/reference/storage/manila-guide.rst6
-rw-r--r--doc/source/reference/storage/manila-hnas-guide.rst4
-rw-r--r--doc/source/reference/storage/manila-pure-guide.rst4
-rw-r--r--doc/source/user/multi-regions.rst16
-rw-r--r--doc/source/user/operating-kolla.rst9
-rw-r--r--doc/source/user/quickstart-development.rst20
-rw-r--r--doc/source/user/quickstart.rst4
-rw-r--r--doc/source/user/troubleshooting.rst8
41 files changed, 404 insertions, 187 deletions
diff --git a/doc/source/admin/acme.rst b/doc/source/admin/acme.rst
index 6a12efe11..2955c9f3a 100644
--- a/doc/source/admin/acme.rst
+++ b/doc/source/admin/acme.rst
@@ -26,7 +26,7 @@ is ``192.168.1.1``, the config would look like the following:
.. code-block:: yaml
- enable_horizon: "yes"
+ enable_horizon: true
acme_client_servers:
- server certbot 192.168.1.1:80
diff --git a/doc/source/admin/advanced-configuration.rst b/doc/source/admin/advanced-configuration.rst
index 579dd11ca..c85a498dc 100644
--- a/doc/source/admin/advanced-configuration.rst
+++ b/doc/source/admin/advanced-configuration.rst
@@ -178,6 +178,113 @@ operator needs to create ``/etc/kolla/config/global.conf`` with content:
[database]
max_pool_size = 100
+Large baremetal deployments
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Out of the box, a typical Kolla Ansible deployment can support managing a few
+hundred baremetal nodes. Beyond this number, it becomes necessary to configure
+scaling mechanisms built into Nova and Ironic.
+
+There are two mechanisms to consider:
+ - shards
+ - conductor groups
+
+Please see the Ironic documentation for further `information
+<https://docs.openstack.org/ironic/latest/admin/availability-zones.html#common-deployment-patterns>`_.
+
+As an example, consider a deployment of 700 baremetal nodes spread over two
+distinct locations. Location 1 consists of 500 baremetal nodes, and location 2
+consists of 200 baremetal nodes.
+
+For location 1, all 500 nodes are placed into the same Ironic conductor
+group. Ironic conductors configured to use this group are deployed on each
+of the three nodes in the control plane. A single Nova Compute Ironic service
+would struggle to manage this many nodes, so two shards are created. Due to
+HA limitations with Nova Compute Ironic, a single instance is created for
+each shard, and the instances may be deployed to any node in the control
+plane.
+
+For location 2, no shards are required due to the smaller number of baremetal
+nodes. A single conductor group is configured. The result is that three Ironic
+conductors are deployed (one on each node in the control plane), and a single
+instance of Nova Compute Ironic configured to use this conductor group.
+Furthermore, for this location ``custom_host`` is used to override the
+automatically generated host field in the configuration. This is useful for
+migrating to the multi-instance configuration described here.
+
+Finally, Ironic and Nova services are deployed with no configured shards or
+conductor groups as a catch all.
+
+.. code-block:: yaml
+
+ nova_multi_compute_ironic_config:
+ - "shard_key": "shard_1"
+ "conductor_group": "location_1"
+ - "shard_key": "shard_2"
+ "conductor_group": "location_1"
+ - "conductor_group": "location_2"
+ "custom_host": "some_custom_host_field"
+ - {}
+
+.. note::
+
+ ``nova_multi_compute_ironic_config`` must be defined as a global variable
+ and not customised via hostvars.
+
+.. note::
+
+ If you currently have the ``nova-compute-ironic`` service deployed,
+ you must manually remove it from the controllers before migrating to the
+ new mode. You will need to ensure that you configure a compatible service
+ in ``nova_multi_compute_ironic_config`` to replace the old one. This will
+ likely involve setting the ``custom_host`` field at the very minimum.
+
+The placement of the above services is managed via the inventory. This
+allows flexible placement, should a controller fail.
+
+.. code-block:: yaml
+
+ [nova-compute-ironic-1]
+ controller-01
+ [nova-compute-ironic-2]
+ controller-02
+ [nova-compute-ironic-3]
+ controller-03
+ [nova-compute-ironic-4]
+ controller-03
+
+ [nova-compute-ironic:children]
+ nova-compute-ironic-1
+ nova-compute-ironic-2
+ nova-compute-ironic-3
+ nova-compute-ironic-4
+
+.. note::
+
+ The number of ``nova-compute-ironic-N`` groups must equal the length of
+ ``nova_multi_compute_ironic_config``. This variable is an ordered list,
+ where the first item maps to ``nova-compute-ironic-1``, the second item
+ to ``nova-compute-ironic-2`` and so forth.
+
+.. note::
+
+ A 'cleanup' function is provided which assists in 'failing over'
+ service instances to other hosts. For example, if ``controller-01``
+ was to be taken down for maintenance, replacing it with ``controller-02``
+ in the ``nova-compute-ironic-1`` group and re-deploying the ``nova``
+ service would result in the service being removed from ``controller-01``
+ and re-deployed on ``controller-02``. The cleanup function cannot
+ currently handle downsizing the number of service instances. In this case
+ the redundant service instances must be cleaned up manually. For obvious
+ reasons the cleanup function cannot remove a service from a failed node,
+ and in such a case, you must be careful not to allow a second identical
+ service instance to start when the failed node is recovered.
+
+The ``nova-compute-ironic`` service instances may be configured
+individually via the existing override mechanism. For example, the
+creation of ``nova/nova-compute-ironic-1.conf`` will allow variables
+for that specific service to be overridden.
+
OpenStack policy customisation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -216,7 +323,7 @@ adding:
.. code-block:: yaml
- enable_haproxy: "no"
+ enable_haproxy: false
Note this method is not recommended and generally not tested by the
Kolla community, but included since sometimes a free IP is not available
@@ -233,7 +340,7 @@ first disable the deployment of the central logging.
.. code-block:: yaml
- enable_central_logging: "no"
+ enable_central_logging: false
Now you can use the parameter ``elasticsearch_address`` to configure the
address of the external Elasticsearch environment.
diff --git a/doc/source/admin/mariadb-backup-and-restore.rst b/doc/source/admin/mariadb-backup-and-restore.rst
index 596b7f952..f6e77fe4b 100644
--- a/doc/source/admin/mariadb-backup-and-restore.rst
+++ b/doc/source/admin/mariadb-backup-and-restore.rst
@@ -27,7 +27,7 @@ Firstly, enable backups via ``globals.yml``:
.. code-block:: console
- enable_mariabackup: "yes"
+ enable_mariabackup: true
Then, kick off a reconfiguration of MariaDB:
diff --git a/doc/source/admin/tls.rst b/doc/source/admin/tls.rst
index 3183c45e8..a78f4c599 100644
--- a/doc/source/admin/tls.rst
+++ b/doc/source/admin/tls.rst
@@ -48,10 +48,10 @@ APIs, configure the following in ``globals.yml``:
.. code-block:: yaml
- kolla_enable_tls_internal: "yes"
- kolla_enable_tls_external: "yes"
- kolla_enable_tls_backend: "yes"
- kolla_copy_ca_into_containers: "yes"
+ kolla_enable_tls_internal: true
+ kolla_enable_tls_external: true
+ kolla_enable_tls_backend: true
+ kolla_copy_ca_into_containers: true
If deploying on Debian or Ubuntu:
@@ -100,13 +100,13 @@ encryption:
.. code-block:: yaml
- kolla_enable_tls_external: "yes"
+ kolla_enable_tls_external: true
To enable internal TLS encryption:
.. code-block:: yaml
- kolla_enable_tls_internal: "yes"
+ kolla_enable_tls_internal: true
Two certificate files are required to use TLS securely with authentication,
which will be provided by your Certificate Authority:
@@ -218,8 +218,18 @@ Enabling TLS on the backend services secures communication between the
HAProxy listing on the internal/external VIP and the OpenStack
services. It also enables secure end-to-end communication between OpenStack
services that support TLS termination. The OpenStack services that support
-backend TLS termination in Victoria are: Nova, Ironic, Neutron, Keystone,
-Glance, Heat, Placement, Horizon, Barbican, and Cinder.
+backend TLS termination are:
+
+* Barbican
+* Cinder
+* Glance
+* Heat
+* Horizon
+* Ironic
+* Keystone
+* Neutron
+* Nova
+* Placement
The configuration variables that control back-end TLS for service endpoints
are:
@@ -235,11 +245,11 @@ communication:
.. code-block:: yaml
- kolla_enable_tls_backend: "yes"
+ kolla_enable_tls_backend: true
It is also possible to enable back-end TLS on a per-service basis. For example,
to enable back-end TLS for Keystone, set ``keystone_enable_tls_backend`` to
-``yes``.
+``true``.
The default values for ``haproxy_backend_cacert`` and
``haproxy_backend_cacert_dir`` should suffice if the certificate is in the
@@ -284,7 +294,7 @@ disable verification of the backend certificate:
.. code-block:: yaml
- kolla_verify_tls_backend: "no"
+ kolla_verify_tls_backend: false
Generating TLS certificates with Let's Encrypt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -297,7 +307,7 @@ must be configured in ``globals.yml``:
.. code-block:: yaml
- enable_letsencrypt: "yes"
+ enable_letsencrypt: true
letsencrypt_email: "<The email used for registration and recovery contact>"
The Let's Encrypt container will attempt to renew your certificates every 12
diff --git a/doc/source/reference/bare-metal/ironic-guide.rst b/doc/source/reference/bare-metal/ironic-guide.rst
index 962ece762..75c3865f2 100644
--- a/doc/source/reference/bare-metal/ironic-guide.rst
+++ b/doc/source/reference/bare-metal/ironic-guide.rst
@@ -16,7 +16,7 @@ Enable Ironic in ``/etc/kolla/globals.yml``:
.. code-block:: yaml
- enable_ironic: "yes"
+ enable_ironic: true
In the same file, define a network interface as the default NIC for dnsmasq and
define a network to be used for the Ironic cleaning network:
@@ -125,7 +125,7 @@ PXE filter service:
.. code-block:: yaml
- enable_ironic_pxe_filter: "yes"
+ enable_ironic_pxe_filter: true
The PXE filter container runs alongside ``ironic-dnsmasq`` and cleans up stale
DHCP entries. It is especially useful when auto discovery is enabled and when
@@ -189,20 +189,20 @@ keystone could be installed in one region (let's say region 1) and ironic -
in another region (let's say region 2). In this case we don't install keystone
together with ironic in region 2, but have to configure ironic to connect to
existing keystone in region 1. To deploy ironic in this way we have to set
-variable ``enable_keystone`` to ``"no"``.
+variable ``enable_keystone`` to ``false``.
.. code-block:: yaml
- enable_keystone: "no"
+ enable_keystone: false
It will prevent keystone from being installed in region 2.
To add keystone-related sections in ironic.conf, it is also needed to set
-variable ``ironic_enable_keystone_integration`` to ``"yes"``
+variable ``ironic_enable_keystone_integration`` to ``true``
.. code-block:: yaml
- ironic_enable_keystone_integration: "yes"
+ ironic_enable_keystone_integration: true
Avoiding problems with high availability
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/source/reference/compute/nova-cells-guide.rst b/doc/source/reference/compute/nova-cells-guide.rst
index a808bc083..616ba0a5f 100644
--- a/doc/source/reference/compute/nova-cells-guide.rst
+++ b/doc/source/reference/compute/nova-cells-guide.rst
@@ -170,7 +170,7 @@ Support for deployment of multiple cells is disabled by default - nova is
deployed in single conductor mode.
Deployment of multiple cells may be enabled by setting ``enable_cells`` to
-``yes`` in ``globals.yml``. This deploys nova in superconductor mode, with
+``true`` in ``globals.yml``. This deploys nova in superconductor mode, with
separate conductors for each cell.
Naming cells
diff --git a/doc/source/reference/compute/nova-fake-driver.rst b/doc/source/reference/compute/nova-fake-driver.rst
index df003f8f4..bef4d1781 100644
--- a/doc/source/reference/compute/nova-fake-driver.rst
+++ b/doc/source/reference/compute/nova-fake-driver.rst
@@ -29,7 +29,7 @@ the command line options.
.. code-block:: yaml
- enable_nova_fake: "yes"
+ enable_nova_fake: true
num_nova_fake_per_node: 5
Each Compute node will run 5 ``nova-compute`` containers and 5
diff --git a/doc/source/reference/compute/nova-guide.rst b/doc/source/reference/compute/nova-guide.rst
index 8e083f241..1069030bb 100644
--- a/doc/source/reference/compute/nova-guide.rst
+++ b/doc/source/reference/compute/nova-guide.rst
@@ -7,7 +7,7 @@ this is via Virtual Machines (VMs), but may also be via bare metal servers if
Nova is coupled with Ironic.
Nova is enabled by default, but may be disabled by setting ``enable_nova`` to
-``no`` in ``globals.yml``.
+``false`` in ``globals.yml``.
Virtualisation Drivers
======================
@@ -43,7 +43,22 @@ Consoles
The console driver may be selected via ``nova_console`` in ``globals.yml``.
Valid options are ``none``, ``novnc`` and ``spice``. Additionally,
serial console support can be enabled by setting
-``enable_nova_serialconsole_proxy`` to ``yes``.
+``enable_nova_serialconsole_proxy`` to ``true``.
+
+``spice`` consoles have additional configuration options used by Kolla Ansible:
+
+* nova_spice_html5: configures whether the HTML5 transcoding proxy used by
+ Horizon is enabled, and defaults to ``true``.
+* nova_spice_image_compression: which compression algorithm to use for images
+ when using the SPICE console type. Defaults to ``auto_glz``.
+* nova_spice_jpeg_compression: whether or not to use JPEG compression with
+ SPICE consoles. Defaults to ``auto``.
+* nova_spice_zlib_compression: whether or not to use zlib compression with
+ SPICE consoles. Defaults to ``auto``.
+* nova_spice_playback_compression: whether or not to use compression for video
+ playback. Defaults to ``true``.
+* nova_spice_streaming_mode: what streaming mode to use with SPICE consoles.
+ Defaults to ``filter``.
Cells
=====
diff --git a/doc/source/reference/compute/zun-guide.rst b/doc/source/reference/compute/zun-guide.rst
index 9959dede1..8df209a73 100644
--- a/doc/source/reference/compute/zun-guide.rst
+++ b/doc/source/reference/compute/zun-guide.rst
@@ -17,11 +17,11 @@ following variables:
.. code-block:: yaml
- enable_zun: "yes"
- enable_kuryr: "yes"
- enable_etcd: "yes"
- docker_configure_for_zun: "yes"
- containerd_configure_for_zun: "yes"
+ enable_zun: true
+ enable_kuryr: true
+ enable_etcd: true
+ docker_configure_for_zun: true
+ containerd_configure_for_zun: true
Docker reconfiguration requires rebootstrapping before deploy.
Make sure you understand the consequences of restarting Docker.
diff --git a/doc/source/reference/containers/kuryr-guide.rst b/doc/source/reference/containers/kuryr-guide.rst
index f748d16c5..f85451d57 100644
--- a/doc/source/reference/containers/kuryr-guide.rst
+++ b/doc/source/reference/containers/kuryr-guide.rst
@@ -33,8 +33,8 @@ following variables
.. code-block:: yaml
- enable_etcd: "yes"
- enable_kuryr: "yes"
+ enable_etcd: true
+ enable_kuryr: true
Deploy the OpenStack cloud and kuryr network plugin
diff --git a/doc/source/reference/databases/external-mariadb-guide.rst b/doc/source/reference/databases/external-mariadb-guide.rst
index 90b5f7908..55cba4c2b 100644
--- a/doc/source/reference/databases/external-mariadb-guide.rst
+++ b/doc/source/reference/databases/external-mariadb-guide.rst
@@ -31,7 +31,7 @@ by ensuring the following line exists within ``/etc/kolla/globals.yml`` :
.. code-block:: yaml
- enable_mariadb: "no"
+ enable_mariadb: false
There are two ways in which you can use external MariaDB:
* Using an already load-balanced MariaDB address
@@ -60,7 +60,7 @@ need to do the following:
.. note::
- If ``enable_external_mariadb_load_balancer`` is set to ``no``
+ If ``enable_external_mariadb_load_balancer`` is set to ``false``
(default), the external DB load balancer should be accessible
from all nodes during your deployment.
@@ -87,7 +87,7 @@ according to the following configuration:
.. code-block:: yaml
- enable_external_mariadb_load_balancer: yes
+ enable_external_mariadb_load_balancer: true
Using External MariaDB with a privileged user
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/source/reference/databases/mariadb-guide.rst b/doc/source/reference/databases/mariadb-guide.rst
index c4a40740e..b09ab11b6 100644
--- a/doc/source/reference/databases/mariadb-guide.rst
+++ b/doc/source/reference/databases/mariadb-guide.rst
@@ -69,3 +69,108 @@ Backup and restore is working only for default shard as kolla currently
using HAProxy solution for MariaDB loadbalancer which is simple TCP and
has configured only default shard hosts as backends, therefore backup
script will reach only default shard on ``kolla_internal_vip_address``.
+
+.. _mariadb-notifications:
+
+Cluster Event Notifications
+---------------------------
+
+Kolla Ansible supports native MariaDB Galera cluster notifications. This allows
+operators to execute custom logic whenever a node status or cluster membership
+changes.
+
+To enable this feature, you must provide a custom script named
+``wsrep-notify.sh`` in the following directory on the control host:
+``/etc/kolla/config/mariadb/wsrep-notify.sh``.
+
+Kolla Ansible will automatically detect the presence of this file, copy it to
+the MariaDB nodes, and configure the ``wsrep_notify_cmd`` directive in the
+MariaDB configuration.
+
+Example 1: Integration with Prometheus Alertmanager
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You can use this feature to send alerts directly to Prometheus Alertmanager.
+Save the following content as ``/etc/kolla/config/mariadb/wsrep-notify.sh``:
+
+.. code-block:: bash
+
+ #!/bin/bash
+
+ # List of Alertmanager instances (direct IP addresses)
+ # Using kolla_address to bypass VIP for higher reliability
+ ALERTMANAGERS=(
+ {% for host in groups['prometheus-alertmanager'] %}
+ "{{ internal_protocol }}://{{ 'api' | kolla_address(host) |
+ put_address_in_context('url') }}:{{ hostvars[host]
+ ['prometheus_alertmanager_port'] }}/api/v2/alerts"
+ {% endfor %}
+ )
+
+ # Authentication credentials from Kolla configuration
+ AUTH="{{ prometheus_alertmanager_user }}:{{
+ prometheus_alertmanager_password }}"
+ HOSTNAME=$(hostname)
+
+ # Prepare the JSON payload for the Alertmanager API
+ PAYLOAD=$(cat <<EOF
+ [
+ {
+ "labels": {
+ "alertname": "GaleraEvent",
+ "severity": "warning",
+ "instance": "$HOSTNAME"
+ },
+ "annotations": {
+ "description": "Galera cluster event detected: $*",
+ "summary": "Galera Status Change on $HOSTNAME"
+ }
+ }
+ ]
+ EOF
+ )
+
+ # Iterate through instances until the first successful POST
+ for URL in "${ALERTMANAGERS[@]}"; do
+ echo "Attempting to send alert to: $URL"
+ if curl -X POST "$URL" \
+ -u "$AUTH" \
+ -H "Content-Type: application/json" \
+ -d "$PAYLOAD" \
+ --fail --silent --show-error; then
+ echo "Alert sent successfully."
+ exit 0
+ fi
+ echo "Failed to reach $URL, trying next instance..."
+ done
+
+ echo "Error: Could not send alert to any Alertmanager instance."
+ exit 1
+
+.. note::
+
+ When providing this script, ensure it has the correct permissions. Kolla
+ Ansible will attempt to set execution permissions (``0755``) automatically
+ during the deployment.
+
+Example 2: Logging Cluster Changes to a File
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Alternatively, you can log all cluster events to a local file for later audit
+or simple monitoring. Save the following content as
+``/etc/kolla/config/mariadb/wsrep-notify.sh``:
+
+.. code-block:: bash
+
+ #!/bin/bash
+
+ LOG_FILE="/var/log/kolla/mariadb/galera_cluster_events.log"
+ TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
+
+ echo "[$TIMESTAMP] Host: $HOSTNAME | Event: $*" >> "$LOG_FILE"
+
+.. note::
+
+ When providing this script, ensure it has the correct permissions. Kolla
+ Ansible will attempt to set execution permissions (``0755``) automatically
+ during the deployment.
diff --git a/doc/source/reference/high-availability/haproxy-guide.rst b/doc/source/reference/high-availability/haproxy-guide.rst
index 0d1219789..02e09158b 100644
--- a/doc/source/reference/high-availability/haproxy-guide.rst
+++ b/doc/source/reference/high-availability/haproxy-guide.rst
@@ -19,8 +19,8 @@ setting the following in ``/etc/kolla/globals.yml``:
.. code-block:: yaml
- enable_haproxy: "no"
- enable_keepalived: "no"
+ enable_haproxy: false
+ enable_keepalived: false
Single external frontend for services
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -91,7 +91,7 @@ disabled by setting the following in ``/etc/kolla/globals.yml``:
.. code-block:: yaml
- haproxy_enable_http2: "no"
+ haproxy_enable_http2: false
SSL/TLS Settings
----------------
diff --git a/doc/source/reference/logging-and-monitoring/central-logging-guide.rst b/doc/source/reference/logging-and-monitoring/central-logging-guide.rst
index f9b96697d..870be297f 100644
--- a/doc/source/reference/logging-and-monitoring/central-logging-guide.rst
+++ b/doc/source/reference/logging-and-monitoring/central-logging-guide.rst
@@ -16,7 +16,7 @@ the following:
.. code-block:: yaml
- enable_central_logging: "yes"
+ enable_central_logging: true
OpenSearch
~~~~~~~~~~
diff --git a/doc/source/reference/logging-and-monitoring/grafana-guide.rst b/doc/source/reference/logging-and-monitoring/grafana-guide.rst
index 6f89c2016..412ca88e1 100644
--- a/doc/source/reference/logging-and-monitoring/grafana-guide.rst
+++ b/doc/source/reference/logging-and-monitoring/grafana-guide.rst
@@ -20,13 +20,13 @@ and change the following:
.. code-block:: yaml
- enable_grafana: "yes"
+ enable_grafana: true
If you would like to set up Prometheus as a data source, additionally set:
.. code-block:: yaml
- enable_prometheus: "yes"
+ enable_prometheus: true
Please follow :doc:`Prometheus Guide <prometheus-guide>` for more information.
diff --git a/doc/source/reference/logging-and-monitoring/osprofiler-guide.rst b/doc/source/reference/logging-and-monitoring/osprofiler-guide.rst
index 9951d4472..fd56f65dc 100644
--- a/doc/source/reference/logging-and-monitoring/osprofiler-guide.rst
+++ b/doc/source/reference/logging-and-monitoring/osprofiler-guide.rst
@@ -22,8 +22,8 @@ Enable ``OSprofiler`` in ``/etc/kolla/globals.yml`` file:
.. code-block:: yaml
- enable_osprofiler: "yes"
- enable_elasticsearch: "yes"
+ enable_osprofiler: true
+ enable_elasticsearch: true
Verify operation
----------------
diff --git a/doc/source/reference/logging-and-monitoring/prometheus-guide.rst b/doc/source/reference/logging-and-monitoring/prometheus-guide.rst
index d1e4109fc..0680099a3 100644
--- a/doc/source/reference/logging-and-monitoring/prometheus-guide.rst
+++ b/doc/source/reference/logging-and-monitoring/prometheus-guide.rst
@@ -18,13 +18,13 @@ and change the following:
.. code-block:: yaml
- enable_prometheus: "yes"
+ enable_prometheus: true
Note: This will deploy Prometheus version 2.x. Any potentially existing
Prometheus 1.x instances deployed by previous Kolla Ansible releases will
conflict with current version and should be manually stopped and/or removed.
If you would like to stay with version 1.x, set the ``enable_prometheus``
-variable to ``no``.
+variable to ``false``.
In order to remove leftover volume containing Prometheus 1.x data, execute:
diff --git a/doc/source/reference/message-queues/external-rabbitmq-guide.rst b/doc/source/reference/message-queues/external-rabbitmq-guide.rst
index 10277f641..571751657 100644
--- a/doc/source/reference/message-queues/external-rabbitmq-guide.rst
+++ b/doc/source/reference/message-queues/external-rabbitmq-guide.rst
@@ -23,7 +23,7 @@ by ensuring the following line exists within ``/etc/kolla/globals.yml`` :
.. code-block:: yaml
- enable_rabbitmq: "no"
+ enable_rabbitmq: false
Overwriting transport_url within ``globals.yml``
diff --git a/doc/source/reference/networking/designate-guide.rst b/doc/source/reference/networking/designate-guide.rst
index aa0932b87..a46eb4da3 100644
--- a/doc/source/reference/networking/designate-guide.rst
+++ b/doc/source/reference/networking/designate-guide.rst
@@ -23,7 +23,7 @@ Enable Designate service in ``/etc/kolla/globals.yml``
.. code-block:: yaml
- enable_designate: "yes"
+ enable_designate: true
neutron_dns_domain: "example.org."
.. important::
@@ -54,7 +54,7 @@ Configure Designate options in ``/etc/kolla/globals.yml``
enable a supported coordination backend, currently only ``valkey``
is supported. The backend choice can be overridden via the
``designate_coordination_backend`` variable. It defaults to ``valkey``
- when ``valkey`` is enabled (``enable_valkey`` is set to ``yes``).
+ when ``valkey`` is enabled (``enable_valkey`` is set to ``true``).
The following additional variables are required depending on which backend you
intend to use:
@@ -108,7 +108,7 @@ to trigger record creation & deletion.
.. note::
Service ``designate-sink`` in kolla deployments is disabled by default
- and can be enabled by ``designate_enable_notifications_sink: yes``.
+ and can be enabled by ``designate_enable_notifications_sink: true``.
Create default Designate Zone for Neutron:
diff --git a/doc/source/reference/networking/dpdk.rst b/doc/source/reference/networking/dpdk.rst
index 478596a66..96f9e52e5 100644
--- a/doc/source/reference/networking/dpdk.rst
+++ b/doc/source/reference/networking/dpdk.rst
@@ -71,8 +71,8 @@ To enable ovs-dpdk, add the following configuration to
.. code-block:: yaml
ovs_datapath: "netdev"
- enable_ovs_dpdk: yes
- enable_openvswitch: yes
+ enable_ovs_dpdk: true
+ enable_openvswitch: true
tunnel_interface: "dpdk_bridge"
neutron_bridge_name: "dpdk_bridge"
diff --git a/doc/source/reference/networking/neutron-extensions.rst b/doc/source/reference/networking/neutron-extensions.rst
index 2e8be4b13..2dbdb441e 100644
--- a/doc/source/reference/networking/neutron-extensions.rst
+++ b/doc/source/reference/networking/neutron-extensions.rst
@@ -14,7 +14,7 @@ Modify the ``/etc/kolla/globals.yml`` file as the following example shows:
.. code-block:: yaml
- enable_neutron_sfc: "yes"
+ enable_neutron_sfc: true
Verification
------------
@@ -37,7 +37,7 @@ Modify the ``/etc/kolla/globals.yml`` file as the following example shows:
.. code-block:: yaml
- enable_neutron_fwaas: "yes"
+ enable_neutron_fwaas: true
For more information on FWaaS in Neutron refer to the
:neutron-doc:`Neutron FWaaS docs <admin/fwaas.html>`.
@@ -45,6 +45,13 @@ For more information on FWaaS in Neutron refer to the
Neutron VPNaaS (VPN-as-a-Service)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.. warning::
+
+ OVN VPNaaS is currently not supported on RHEL 10 based distributions
+ (e.g., Rocky Linux 10, CentOS Stream 10) due to an upstream bug in
+ Neutron. See `LP#2146308 <https://bugs.launchpad.net/neutron/+bug/2146308>`_
+ for details.
+
Preparation and deployment
--------------------------
@@ -52,7 +59,7 @@ Modify the ``/etc/kolla/globals.yml`` file as the following example shows:
.. code-block:: yaml
- enable_neutron_vpnaas: "yes"
+ enable_neutron_vpnaas: true
Verification
------------
@@ -60,15 +67,20 @@ Verification
VPNaaS is a complex subject, hence this document provides directions for a
simple smoke test to verify the service is up and running.
-On the network node(s), the ``neutron_vpnaas_agent`` should be up (image naming
-and versioning may differ depending on deploy configuration):
+In ml2/ovn setups a special neutron_ovn_vpn_agent is running on neutron
+node(s).
+Version may differ depending on deploy configuration:
.. code-block:: console
- # docker ps --filter name=neutron_vpnaas_agent
+ # docker ps --filter name=neutron_ovn_vpn_agent
+
+ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
+ 7f6efad28d30 kolla/neutron-ovn-vpn-agent:18.1.0 "dumb-init --single-…" 7 days ago Up 7 days (healthy) neutron_ovn_vpn_agent
+
+On ml2/ovs deployments there is no special agent.
+The vpnaas code is running inside the neutron_l3_agent container.
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 97d25657d55e operator:5000/kolla/centos-source-neutron-vpnaas-agent:4.0.0 "kolla_start" 44 minutes ago Up 44 minutes neutron_vpnaas_agent
.. warning::
@@ -92,21 +104,20 @@ Verify both VPN services are active:
.. code-block:: console
- # neutron vpn-service-list
+ # openstack vpn service list
- +--------------------------------------+----------+--------------------------------------+--------+
- | id | name | router_id | status |
- +--------------------------------------+----------+--------------------------------------+--------+
- | ad941ec4-5f3d-4a30-aae2-1ab3f4347eb1 | vpn_west | 051f7ce3-4301-43cc-bfbd-7ffd59af539e | ACTIVE |
- | edce15db-696f-46d8-9bad-03d087f1f682 | vpn_east | 058842e0-1d01-4230-af8d-0ba6d0da8b1f | ACTIVE |
- +--------------------------------------+----------+--------------------------------------+--------+
+ +--------------------------------------+----------+--------------------------------------+--------+--------+-------+--------+
+ | ID | Name | Router | Subnet | Flavor | State | Status |
+ +--------------------------------------+----------+--------------------------------------+--------+--------+-------+--------+
+ | 03f85023-28d9-4f35-a10e-2c8dd3c11b65 | vpn_west | e3603217-fd22-404c-b27e-9285c2a79a17 | None | None | True | ACTIVE |
+ | 1abdc71a-2eb7-4b2a-8871-eb9d91f39957 | vpn_east | 3485bdd2-4c42-449e-ae9f-d071a8cb9e5c | None | None | True | ACTIVE |
+ +--------------------------------------+----------+--------------------------------------+--------+--------+-------+--------+
Two VMs can now be booted, one on vpn_east, the other on vpn_west, and
encrypted ping packets observed being sent from one to the other.
-For more information on this and VPNaaS in Neutron refer to the
-:neutron-vpnaas-doc:`Neutron VPNaaS Testing <contributor/index.html#testing>`
-and the `OpenStack wiki <https://wiki.openstack.org/wiki/Neutron/VPNaaS>`_.
+For more information on VPNaaS in Neutron refer to the
+`OpenStack docs <https://docs.openstack.org/neutron-vpnaas>`_.
Trunking
~~~~~~~~
@@ -119,7 +130,7 @@ Modify the ``/etc/kolla/globals.yml`` file as the following example shows:
.. code-block:: yaml
- enable_neutron_trunk: "yes"
+ enable_neutron_trunk: true
Neutron Logging Framework
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -131,7 +142,7 @@ Modify the ``/etc/kolla/globals.yml`` file as the following example shows:
.. code-block:: yaml
- enable_neutron_packet_logging: "yes"
+ enable_neutron_packet_logging: true
For OVS deployment, you need to override the firewall driver in
`openvswitch_agent.ini` to:
diff --git a/doc/source/reference/networking/neutron.rst b/doc/source/reference/networking/neutron.rst
index 3fec073a5..b4f7a884f 100644
--- a/doc/source/reference/networking/neutron.rst
+++ b/doc/source/reference/networking/neutron.rst
@@ -109,7 +109,7 @@ To use provider networks in instances you also need to set the following in
.. code-block:: yaml
- enable_neutron_provider_networks: yes
+ enable_neutron_provider_networks: true
For provider networks, compute hosts must have an external bridge
created and configured by Ansible (this is also necessary when
@@ -188,7 +188,7 @@ L3 and DHCP agents can be created in a high availability (HA) state with:
.. code-block:: yaml
- enable_neutron_agent_ha: "yes"
+ enable_neutron_agent_ha: true
This allows networking to fail over across controllers if the active agent is
stopped. If this option is enabled, it can be advantageous to also set:
@@ -275,7 +275,7 @@ In order to deploy Neutron OVN Agent you need to set the following:
.. path /etc/kolla/globals.yml
.. code-block:: yaml
- neutron_enable_ovn_agent: "yes"
+ neutron_enable_ovn_agent: true
Currently the agent is only needed for QoS for hardware offloaded ports.
@@ -306,7 +306,7 @@ set the following (assuming neutron SR-IOV agent is also enabled using
.. path /etc/kolla/globals.yml
.. code-block:: yaml
- enable_neutron_mlnx: "yes"
+ enable_neutron_mlnx: true
Additionally, you will also need to provide physnet:interface mappings
via ``neutron_mlnx_physnet_mappings`` which is presented to
diff --git a/doc/source/reference/networking/octavia.rst b/doc/source/reference/networking/octavia.rst
index 7a29d67fa..33a64bd6c 100644
--- a/doc/source/reference/networking/octavia.rst
+++ b/doc/source/reference/networking/octavia.rst
@@ -14,7 +14,7 @@ Enable the octavia service in ``globals.yml``:
.. code-block:: yaml
- enable_octavia: "yes"
+ enable_octavia: true
Amphora provider
================
@@ -96,7 +96,7 @@ networks:
.. code-block:: yaml
- enable_neutron_provider_networks: yes
+ enable_neutron_provider_networks: true
Configure the name of the network interface on the controllers used to access
the Octavia management network. If using a VLAN provider network, ensure that
@@ -219,7 +219,7 @@ For example:
allocation_pool_start: "10.1.2.100"
allocation_pool_end: "10.1.2.200"
gateway_ip: "10.1.2.1"
- enable_dhcp: yes
+ enable_dhcp: true
Deploy Octavia with Kolla Ansible:
@@ -252,16 +252,6 @@ as follows:
Ensure that you have executed ``kolla-ansible post-deploy`` and set
``enable_octavia`` to yes in ``global.yml``
-.. note::
-
- In Train and earlier releases, resources should be registered in the
- ``admin`` project. This is configured via ``octavia_service_auth_project``,
- and may be set to ``service`` to avoid a breaking change when upgrading to
- Ussuri. Changing the project on an existing system requires at a minimum
- registering a new security group in the new project. Ideally the flavor and
- network should be recreated in the new project, although this will impact
- existing Amphorae.
-
Amphora flavor
~~~~~~~~~~~~~~
diff --git a/doc/source/reference/networking/sriov.rst b/doc/source/reference/networking/sriov.rst
index 73afa7b0f..94417bfa0 100644
--- a/doc/source/reference/networking/sriov.rst
+++ b/doc/source/reference/networking/sriov.rst
@@ -21,7 +21,7 @@ shows which automatically appends ``sriovnicswitch`` to the
.. path /etc/kolla/globals.yml
.. code-block:: yaml
- enable_neutron_sriov: "yes"
+ enable_neutron_sriov: true
It is also a requirement to define physnet:interface mappings for all
SRIOV devices as shown in the following example where ``sriovtenant1`` is the
diff --git a/doc/source/reference/orchestration-and-nfv/tacker-guide.rst b/doc/source/reference/orchestration-and-nfv/tacker-guide.rst
index 4c99e72e1..95e82031e 100644
--- a/doc/source/reference/orchestration-and-nfv/tacker-guide.rst
+++ b/doc/source/reference/orchestration-and-nfv/tacker-guide.rst
@@ -40,8 +40,8 @@ In order to enable them, you need to edit the file
.. code-block:: yaml
- enable_tacker: "yes"
- enable_barbican: "yes"
+ enable_tacker: true
+ enable_barbican: true
.. warning::
diff --git a/doc/source/reference/shared-services/glance-guide.rst b/doc/source/reference/shared-services/glance-guide.rst
index 082bd40c6..d8e73e44d 100644
--- a/doc/source/reference/shared-services/glance-guide.rst
+++ b/doc/source/reference/shared-services/glance-guide.rst
@@ -99,7 +99,7 @@ need to be enabled.
.. code-block:: yaml
- glance_enable_rolling_upgrade: "yes"
+ glance_enable_rolling_upgrade: true
.. warning::
@@ -118,7 +118,7 @@ It is the default mode, ensure rolling upgrade method is not enabled.
.. code-block:: yaml
- glance_enable_rolling_upgrade: "no"
+ glance_enable_rolling_upgrade: false
Other configuration
@@ -131,7 +131,7 @@ Glance cache is disabled by default, it can be enabled by:
.. code-block:: yaml
- enable_glance_image_cache: "yes"
+ enable_glance_image_cache: true
glance_cache_max_size: "10737418240" # 10GB by default
.. warning::
@@ -154,7 +154,7 @@ is disabled by default, it can be enabled by:
.. code-block:: yaml
- glance_enable_property_protection: "yes"
+ glance_enable_property_protection: true
and defining ``property-protections-rules.conf`` under
@@ -170,7 +170,7 @@ is disabled by default, it can be enabled by:
.. code-block:: yaml
- glance_enable_interoperable_image_import: "yes"
+ glance_enable_interoperable_image_import: true
and defining ``glance-image-import.conf`` under
``{{ node_custom_config }}/glance/``.
diff --git a/doc/source/reference/shared-services/keystone-guide.rst b/doc/source/reference/shared-services/keystone-guide.rst
index b92230dcb..173766022 100644
--- a/doc/source/reference/shared-services/keystone-guide.rst
+++ b/doc/source/reference/shared-services/keystone-guide.rst
@@ -96,13 +96,13 @@ used by OpenStack command line client. Example config shown below:
keystone_federation_oidc_jwks_uri: "https://<AUTH PROVIDER>/<ID>/discovery/v2.0/keys"
-Some identity providers need additional mod_auth_openidc config.
-Example for Keycloak shown below:
+Some identity providers need additional ``mod_auth_openidc`` config, which can
+be passed with the ``keystone_federation_oidc_additional_options`` variable:
.. code-block:: yaml
keystone_federation_oidc_additional_options:
- OIDCTokenBindingPolicy: disabled
+ OIDCOutgoingProxy: "http://proxy.example.com"
When using OIDC, operators can also use the following variable
to customize the delay to retry authenticating in the IdP if the
@@ -131,6 +131,11 @@ openstack_domain
The OpenStack domain that the Identity Provider belongs.
+.. note::
+ Kolla-Ansible does not support duplicate openstack_domain names,
+ where the ID of the domain is different, but the name is the same.
+ This is an edge case that is hard to take into account.
+
protocol
********
diff --git a/doc/source/reference/shared-services/skyline-guide.rst b/doc/source/reference/shared-services/skyline-guide.rst
index fb735c997..4aea2beb7 100644
--- a/doc/source/reference/shared-services/skyline-guide.rst
+++ b/doc/source/reference/shared-services/skyline-guide.rst
@@ -12,18 +12,18 @@ Single Sign On (SSO)
Skyline supports SSO with an Openid IdP. When you configure an IdP with
protocol openid, Kolla will automatically enable SSO and set up the trusted
dashboard url for Keystone. If you don't want to use SSO in Skyline, you can
-disable it by setting ``skyline_enable_sso`` to "no":
+disable it by setting ``skyline_enable_sso`` to ``false``:
.. code-block:: yaml
- skyline_enable_sso: "no"
+ skyline_enable_sso: false
If you want to enable it without setting up the IdP with Kolla you can simply
enable it with:
.. code-block:: yaml
- skyline_enable_sso: "yes"
+ skyline_enable_sso: true
Customize logos
~~~~~~~~~~~~~~~
diff --git a/doc/source/reference/storage/cinder-guide-lightbits.rst b/doc/source/reference/storage/cinder-guide-lightbits.rst
index b09d0e4a1..dc1ea7ec0 100644
--- a/doc/source/reference/storage/cinder-guide-lightbits.rst
+++ b/doc/source/reference/storage/cinder-guide-lightbits.rst
@@ -13,7 +13,7 @@ configure the ``Lightbits labs`` Cinder driver in
.. code-block:: yaml
- enable_cinder_backend_lightbits: "yes"
+ enable_cinder_backend_lightbits: true
.. end
diff --git a/doc/source/reference/storage/cinder-guide-pure.rst b/doc/source/reference/storage/cinder-guide-pure.rst
index 0970d98ea..c26104761 100644
--- a/doc/source/reference/storage/cinder-guide-pure.rst
+++ b/doc/source/reference/storage/cinder-guide-pure.rst
@@ -12,7 +12,7 @@ configure the ``FlashArray iSCSI`` Cinder driver in ``/etc/kolla/globals.yml``.
.. code-block:: yaml
- enable_cinder_backend_pure_iscsi: "yes"
+ enable_cinder_backend_pure_iscsi: true
.. end
@@ -21,7 +21,7 @@ configure the ``FlashArray FC`` Cinder driver in ``/etc/kolla/globals.yml``.
.. code-block:: yaml
- enable_cinder_backend_pure_fc: "yes"
+ enable_cinder_backend_pure_fc: true
.. end
@@ -31,7 +31,7 @@ configure the ``FlashArray NVMe-RoCE`` Cinder driver in
.. code-block:: yaml
- enable_cinder_backend_pure_roce: "yes"
+ enable_cinder_backend_pure_roce: true
.. end
@@ -45,7 +45,7 @@ configure the ``FlashArray NVMe-TCP`` Cinder driver in
.. code-block:: yaml
- enable_cinder_backend_pure_nvme_tcp: "yes"
+ enable_cinder_backend_pure_nvme_tcp: true
.. end
diff --git a/doc/source/reference/storage/cinder-guide-quobyte.rst b/doc/source/reference/storage/cinder-guide-quobyte.rst
index ce38223fa..0423756b8 100644
--- a/doc/source/reference/storage/cinder-guide-quobyte.rst
+++ b/doc/source/reference/storage/cinder-guide-quobyte.rst
@@ -12,7 +12,7 @@ Cinder driver in ``/etc/kolla/globals.yml``.
.. code-block:: yaml
- enable_cinder_backend_quobyte: "yes"
+ enable_cinder_backend_quobyte: true
.. end
diff --git a/doc/source/reference/storage/cinder-guide.rst b/doc/source/reference/storage/cinder-guide.rst
index 9f8a5bf2a..9766c053a 100644
--- a/doc/source/reference/storage/cinder-guide.rst
+++ b/doc/source/reference/storage/cinder-guide.rst
@@ -65,7 +65,15 @@ Enable the ``lvm`` backend in ``/etc/kolla/globals.yml``:
.. code-block:: yaml
- enable_cinder_backend_lvm: "yes"
+ enable_cinder_backend_lvm: true
+
+Edit the inventory file and add ``storage`` group as a child of
+``cinder-volume`` group:
+
+.. code-block:: ini
+
+ [cinder-volume:children]
+ storage
.. note::
@@ -105,7 +113,7 @@ Finally, enable the ``nfs`` backend in ``/etc/kolla/globals.yml``:
.. code-block:: yaml
- enable_cinder_backend_nfs: "yes"
+ enable_cinder_backend_nfs: true
Validation
~~~~~~~~~~
@@ -151,9 +159,11 @@ Cinder LVM2 backend with iSCSI
As of Newton-1 milestone, Kolla supports LVM2 as cinder backend. It is
accomplished by introducing two new containers ``tgtd`` and ``iscsid``.
-``tgtd`` container serves as a bridge between cinder-volume process and a
-server hosting Logical Volume Groups (LVG). ``iscsid`` container serves as
-a bridge between nova-compute process and the server hosting LVG.
+``tgtd`` container is the target part of iSCSI setup which needs to run
+on the ``storage`` Ansible group for exposing volumes from LVM.
+``iscsid`` container is the client part of iSCSI setup which needs to run
+together with nova-compute for instance access to storage and on hosts
+running ``cinder-volume`` and ``cinder-backup`` for volume operations.
In order to use Cinder's LVM backend, a LVG named ``cinder-volumes`` should
exist on the server and following parameter must be specified in
@@ -161,38 +171,7 @@ exist on the server and following parameter must be specified in
.. code-block:: yaml
- enable_cinder_backend_lvm: "yes"
-
-For Ubuntu and LVM2/iSCSI
--------------------------
-
-``iscsd`` process uses configfs which is normally mounted at
-``/sys/kernel/config`` to store discovered targets information, on centos/rhel
-type of systems this special file system gets mounted automatically, which is
-not the case on debian/ubuntu. Since ``iscsid`` container runs on every nova
-compute node, the following steps must be completed on every Ubuntu server
-targeted for nova compute role.
-
-* Add configfs module to ``/etc/modules``
-* Rebuild initramfs using: ``update-initramfs -u`` command
-* Stop ``open-iscsi`` system service due to its conflicts
- with iscsid container.
-
- Ubuntu 16.04 (systemd):
- ``systemctl stop open-iscsi; systemctl stop iscsid``
-
-* Make sure configfs gets mounted during a server boot up process. There are
- multiple ways to accomplish it, one example:
-
- .. code-block:: console
-
- mount -t configfs /etc/rc.local /sys/kernel/config
-
- .. note::
-
- There is currently an issue with the folder /sys/kernel/config as it is
- either empty or does not exist in several operating systems,
- see `_bug 1631072 <https://bugs.launchpad.net/kolla/+bug/1631072>`__ for more info
+ enable_cinder_backend_lvm: true
Cinder backend with external iSCSI storage
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -202,9 +181,9 @@ the following parameter must be specified in ``globals.yml``:
.. code-block:: yaml
- enable_cinder_backend_iscsi: "yes"
+ enable_cinder_backend_iscsi: true
-Also ``enable_cinder_backend_lvm`` should be set to ``no`` in this case.
+Also ``enable_cinder_backend_lvm`` should be set to ``false`` in this case.
Skip Cinder prechecks for Custom backends
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/source/reference/storage/external-ceph-guide.rst b/doc/source/reference/storage/external-ceph-guide.rst
index f37678eb2..49e64d6c3 100644
--- a/doc/source/reference/storage/external-ceph-guide.rst
+++ b/doc/source/reference/storage/external-ceph-guide.rst
@@ -412,7 +412,7 @@ for Ceph includes following steps:
.. code-block:: yaml
- enable_manila_backend_cephfs_native: "yes"
+ enable_manila_backend_cephfs_native: true
* Configure Ceph authentication details in ``/etc/kolla/globals.yml``:
diff --git a/doc/source/reference/storage/manila-guide.rst b/doc/source/reference/storage/manila-guide.rst
index fa0f2f11f..d0d09dce9 100644
--- a/doc/source/reference/storage/manila-guide.rst
+++ b/doc/source/reference/storage/manila-guide.rst
@@ -39,14 +39,14 @@ Cinder is required, enable it in ``/etc/kolla/globals.yml``:
.. code-block:: console
- enable_cinder: "yes"
+ enable_cinder: true
Enable Manila and generic back end in ``/etc/kolla/globals.yml``:
.. code-block:: console
- enable_manila: "yes"
- enable_manila_backend_generic: "yes"
+ enable_manila: true
+ enable_manila_backend_generic: true
By default Manila uses instance flavor id 100 for its file systems. For Manila
to work, either create a new nova flavor with id 100 (use *nova flavor-create*)
diff --git a/doc/source/reference/storage/manila-hnas-guide.rst b/doc/source/reference/storage/manila-hnas-guide.rst
index 7de399828..107205982 100644
--- a/doc/source/reference/storage/manila-hnas-guide.rst
+++ b/doc/source/reference/storage/manila-hnas-guide.rst
@@ -77,8 +77,8 @@ Enable Shared File Systems service and HNAS driver in
.. code-block:: yaml
- enable_manila: "yes"
- enable_manila_backend_hnas: "yes"
+ enable_manila: true
+ enable_manila_backend_hnas: true
Configure the OpenStack networking so it can reach HNAS Management
interface and HNAS EVS Data interface.
diff --git a/doc/source/reference/storage/manila-pure-guide.rst b/doc/source/reference/storage/manila-pure-guide.rst
index 46c1f2fdf..9cb3e756a 100644
--- a/doc/source/reference/storage/manila-pure-guide.rst
+++ b/doc/source/reference/storage/manila-pure-guide.rst
@@ -61,8 +61,8 @@ Enable Shared File Systems service and FlashBlade driver in
.. code-block:: yaml
- enable_manila: "yes"
- enable_manila_backend_flashblade: "yes"
+ enable_manila: true
+ enable_manila_backend_flashblade: true
Configure the OpenStack networking so it can reach FlashBlade Management
interface and FlashBlade Data interface.
diff --git a/doc/source/user/multi-regions.rst b/doc/source/user/multi-regions.rst
index dcee26d16..8d4c4043a 100644
--- a/doc/source/user/multi-regions.rst
+++ b/doc/source/user/multi-regions.rst
@@ -29,8 +29,8 @@ Keystone and Horizon are enabled:
.. code-block:: console
- enable_keystone: "yes"
- enable_horizon: "yes"
+ enable_keystone: true
+ enable_horizon: true
Then, change the value of ``multiple_regions_names`` to add names of other
regions. In this example, we consider two regions. The current one,
@@ -71,14 +71,6 @@ the value of ``kolla_internal_fqdn`` in RegionOne:
keystone_internal_url: "{{ internal_protocol }}://{{ kolla_internal_fqdn_r1 }}:{{ keystone_public_port }}"
- openstack_auth:
- auth_url: "{{ keystone_internal_url }}"
- username: "{{ keystone_admin_user }}"
- password: "{{ keystone_admin_password }}"
- user_domain_name: "{{ default_user_domain_name }}"
- project_name: "{{ keystone_admin_project }}"
- domain_name: "default"
-
.. note::
If the ``kolla_internal_vip_address`` and/or the
@@ -151,7 +143,7 @@ unnecessary in this region and run ``kolla-ansible``:
.. code-block:: yaml
- enable_keystone: "no"
- enable_horizon: "no"
+ enable_keystone: false
+ enable_horizon: false
The configuration is the same for any other region.
diff --git a/doc/source/user/operating-kolla.rst b/doc/source/user/operating-kolla.rst
index 8e931997d..44e3ddd88 100644
--- a/doc/source/user/operating-kolla.rst
+++ b/doc/source/user/operating-kolla.rst
@@ -43,7 +43,7 @@ Upgrade procedure
.. note::
- If you have set ``enable_cells`` to ``yes`` then you should read the
+ If you have set ``enable_cells`` to ``true`` then you should read the
upgrade notes in the :ref:`Nova cells guide<nova-cells-upgrade>`.
Kolla's strategy for upgrades is to never make a mess and to follow consistent
@@ -111,8 +111,7 @@ If performing a skip-level (SLURP) upgrade, update ``ansible`` or
pip3 install --upgrade 'ansible-core>=|ANSIBLE_CORE_VERSION_MIN|,<|ANSIBLE_CORE_VERSION_MAX|.99'
-If upgrading to a Yoga release or later, install or upgrade Ansible Galaxy
-dependencies:
+Install or upgrade Ansible Galaxy dependencies:
.. code-block:: console
@@ -150,7 +149,7 @@ For example:
.. code-block:: console
cp /etc/kolla/passwords.yml passwords.yml.old
- cp kolla-ansible/etc/kolla/passwords.yml passwords.yml.new
+ cp /path/to/venv/share/kolla-ansible/etc/kolla/passwords.yml passwords.yml.new
kolla-genpwd -p passwords.yml.new
kolla-mergepwd --old passwords.yml.old --new passwords.yml.new --final /etc/kolla/passwords.yml
@@ -316,6 +315,8 @@ Tools
-----
Kolla ships with several utilities intended to facilitate ease of operation.
+If you installed Kolla Ansible in a virtual environment, these scripts are
+located in ``/path/to/venv/share/kolla-ansible/tools/``.
``tools/cleanup-containers`` is used to remove deployed containers from the
system. This can be useful when you want to do a new clean deployment. It will
diff --git a/doc/source/user/quickstart-development.rst b/doc/source/user/quickstart-development.rst
index 6e29a2ad5..f61e972cc 100644
--- a/doc/source/user/quickstart-development.rst
+++ b/doc/source/user/quickstart-development.rst
@@ -98,7 +98,7 @@ Install Kolla-ansible
git clone --branch |KOLLA_BRANCH_NAME| https://opendev.org/openstack/kolla-ansible
-#. Install requirements of ``kolla`` and ``kolla-ansible``:
+#. Install ``kolla-ansible`` and its dependencies:
.. code-block:: console
@@ -160,8 +160,7 @@ manually or by running random password generator:
.. code-block:: console
- cd kolla-ansible/tools
- ./generate_passwords.py
+ kolla-genpwd
Kolla globals.yml
-----------------
@@ -244,7 +243,7 @@ There are a few options that are required to deploy Kolla Ansible:
By default Kolla Ansible provides a bare compute kit, however it does provide
support for a vast selection of additional services. To enable them, set
- ``enable_*`` to "yes".
+ ``enable_*`` to ``true``.
Kolla now supports many OpenStack services, there is
`a list of available services
@@ -283,27 +282,28 @@ need to setup basic host-level dependencies, like docker.
Kolla Ansible provides a playbook that will install all required services in
the correct versions.
-The following assumes the use of the ``all-in-one`` inventory. If using a
-different inventory, such as ``multinode``, replace the ``-i`` argument
-accordingly.
+The following assumes the use of the ``all-in-one`` inventory in your
+current directory.
+If using a different inventory, such as ``multinode``, replace the ``-i``
+argument accordingly.
#. Bootstrap servers with kolla deploy dependencies:
.. code-block:: console
- kolla-ansible bootstrap-servers -i ../all-in-one
+ kolla-ansible bootstrap-servers -i all-in-one
#. Do pre-deployment checks for hosts:
.. code-block:: console
- kolla-ansible prechecks -i ../all-in-one
+ kolla-ansible prechecks -i all-in-one
#. Finally proceed to actual OpenStack deployment:
.. code-block:: console
- kolla-ansible deploy -i ../all-in-one
+ kolla-ansible deploy -i all-in-one
When this playbook finishes, OpenStack should be up, running and functional!
If error occurs during execution, refer to
diff --git a/doc/source/user/quickstart.rst b/doc/source/user/quickstart.rst
index f02401fc2..f2978b95a 100644
--- a/doc/source/user/quickstart.rst
+++ b/doc/source/user/quickstart.rst
@@ -235,11 +235,11 @@ There are a few options that are required to deploy Kolla Ansible:
By default Kolla Ansible provides a bare compute kit, however it does provide
support for a vast selection of additional services. To enable them, set
- ``enable_*`` to "yes".
+ ``enable_*`` to ``true``.
Kolla now supports many OpenStack services, there is
`a list of available services
- <https://github.com/openstack/kolla-ansible/blob/master/README.rst#openstack-services>`_.
+ <https://opendev.org/openstack/kolla-ansible/src/branch/|KOLLA_BRANCH_NAME|/README.rst#openstack-services>`_.
For more information about service configuration, Please refer to the
:kolla-ansible-doc:`Services Reference Guide <reference/index.html>`.
diff --git a/doc/source/user/troubleshooting.rst b/doc/source/user/troubleshooting.rst
index 76a9ac604..289b89220 100644
--- a/doc/source/user/troubleshooting.rst
+++ b/doc/source/user/troubleshooting.rst
@@ -48,7 +48,7 @@ Debugging Kolla
~~~~~~~~~~~~~~~
The status of containers after deployment can be determined on the deployment
-targets by executing:
+targets by executing (use `podman` instead of `docker` if applicable):
.. code-block:: console
@@ -76,8 +76,10 @@ If the stdout logs are needed, please run:
Note that most of the containers don't log to stdout so the above command will
provide no information.
-To learn more about Docker command line operation please refer to `Docker
-documentation <https://docs.docker.com/reference/>`__.
+To learn more about container engine command line operation, please refer
+to the `Docker
+documentation <https://docs.docker.com/reference/>`__ or the `Podman
+documentation <https://docs.podman.io/en/stable/Commands.html>`__.
The log volume "kolla_logs" is linked to ``/var/log/kolla`` on the host.
You can find all kolla logs in there.