2015-07-12 03:02:33 +00:00
|
|
|
---
|
2016-12-06 17:12:20 +08:00
|
|
|
nova_services:
|
|
|
|
nova-api:
|
|
|
|
container_name: "nova_api"
|
|
|
|
group: "nova-api"
|
|
|
|
image: "{{ nova_api_image_full }}"
|
|
|
|
enabled: True
|
2017-09-06 22:32:49 +08:00
|
|
|
privileged: True
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_api_default_volumes + nova_api_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_api_dimensions }}"
|
2019-08-14 11:15:33 +00:00
|
|
|
healthcheck: "{{ nova_api_healthcheck }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
haproxy:
|
|
|
|
nova_api:
|
|
|
|
enabled: "{{ enable_nova }}"
|
|
|
|
mode: "http"
|
|
|
|
external: false
|
|
|
|
port: "{{ nova_api_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_api_listen_port }}"
|
2020-04-30 22:43:37 -07:00
|
|
|
tls_backend: "{{ nova_enable_tls_backend }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
nova_api_external:
|
|
|
|
enabled: "{{ enable_nova }}"
|
|
|
|
mode: "http"
|
|
|
|
external: true
|
2022-02-11 09:58:17 +00:00
|
|
|
external_fqdn: "{{ nova_external_fqdn }}"
|
|
|
|
port: "{{ nova_api_public_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_api_listen_port }}"
|
2020-04-30 22:43:37 -07:00
|
|
|
tls_backend: "{{ nova_enable_tls_backend }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
nova_metadata:
|
|
|
|
enabled: "{{ enable_nova }}"
|
|
|
|
mode: "http"
|
|
|
|
external: false
|
|
|
|
port: "{{ nova_metadata_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_metadata_listen_port }}"
|
2020-04-30 22:43:37 -07:00
|
|
|
tls_backend: "{{ nova_enable_tls_backend }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
nova_metadata_external:
|
2022-01-04 16:19:55 +01:00
|
|
|
enabled: "{{ nova_enable_external_metadata }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
mode: "http"
|
|
|
|
external: true
|
2022-02-11 09:58:17 +00:00
|
|
|
external_fqdn: "{{ nova_metadata_external_fqdn }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
port: "{{ nova_metadata_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_metadata_listen_port }}"
|
2020-04-30 22:43:37 -07:00
|
|
|
tls_backend: "{{ nova_enable_tls_backend }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
nova-scheduler:
|
|
|
|
container_name: "nova_scheduler"
|
|
|
|
group: "nova-scheduler"
|
|
|
|
image: "{{ nova_scheduler_image_full }}"
|
|
|
|
enabled: True
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_scheduler_default_volumes + nova_scheduler_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_scheduler_dimensions }}"
|
2019-08-14 11:15:33 +00:00
|
|
|
healthcheck: "{{ nova_scheduler_healthcheck }}"
|
2019-08-19 15:52:46 +01:00
|
|
|
nova-super-conductor:
|
|
|
|
container_name: "nova_super_conductor"
|
|
|
|
group: "nova-super-conductor"
|
|
|
|
enabled: "{{ enable_cells }}"
|
|
|
|
image: "{{ nova_super_conductor_image_full }}"
|
|
|
|
volumes: "{{ nova_super_conductor_default_volumes + nova_super_conductor_extra_volumes }}"
|
|
|
|
dimensions: "{{ nova_super_conductor_dimensions }}"
|
2019-08-14 11:15:33 +00:00
|
|
|
healthcheck: "{{ nova_super_conductor_healthcheck }}"
|
2015-10-18 20:34:17 +00:00
|
|
|
|
2022-11-15 13:46:53 +00:00
|
|
|
####################
|
|
|
|
# Config Validate
|
|
|
|
####################
|
|
|
|
nova_config_validation:
|
|
|
|
- generator: "/nova/etc/nova/nova-config-generator.conf"
|
|
|
|
config: "/etc/nova/nova.conf"
|
|
|
|
|
2015-07-12 03:02:33 +00:00
|
|
|
####################
|
|
|
|
# Database
|
|
|
|
####################
|
2019-08-19 15:52:46 +01:00
|
|
|
# These are kept for backwards compatibility, as cell0 references them.
|
2015-07-12 03:02:33 +00:00
|
|
|
nova_database_name: "nova"
|
2018-01-14 20:16:43 +02:00
|
|
|
nova_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}nova{% endif %}"
|
2019-09-11 20:47:00 +02:00
|
|
|
nova_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2019-08-19 15:52:46 +01:00
|
|
|
nova_cell0_database_name: "{{ nova_database_name }}_cell0"
|
|
|
|
nova_cell0_database_user: "{{ nova_database_user }}"
|
|
|
|
nova_cell0_database_address: "{{ nova_database_address }}"
|
|
|
|
nova_cell0_database_password: "{{ nova_database_password }}"
|
|
|
|
|
2016-02-01 23:01:59 +00:00
|
|
|
nova_api_database_name: "nova_api"
|
2018-01-14 20:16:43 +02:00
|
|
|
nova_api_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}nova_api{% endif %}"
|
2019-09-11 20:47:00 +02:00
|
|
|
nova_api_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2021-01-10 19:51:55 +00:00
|
|
|
####################
|
|
|
|
# Database sharding
|
|
|
|
####################
|
|
|
|
nova_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ nova_database_shard_id }}{% else %}{{ database_user }}{% endif %}"
|
|
|
|
nova_database_shard:
|
|
|
|
users:
|
|
|
|
- user: "{{ nova_database_user }}"
|
|
|
|
password: "{{ nova_database_password }}"
|
|
|
|
- user: "{{ nova_api_database_user }}"
|
|
|
|
password: "{{ nova_api_database_password }}"
|
|
|
|
rules:
|
|
|
|
- schema: "{{ nova_database_name }}"
|
|
|
|
shard_id: "{{ nova_database_shard_id }}"
|
|
|
|
- schema: "{{ nova_cell0_database_name }}"
|
|
|
|
shard_id: "{{ nova_database_shard_id }}"
|
|
|
|
- schema: "{{ nova_api_database_name }}"
|
|
|
|
shard_id: "{{ nova_database_shard_id }}"
|
|
|
|
|
|
|
|
|
2015-07-12 03:02:33 +00:00
|
|
|
####################
|
|
|
|
# Docker
|
|
|
|
####################
|
2020-01-09 17:03:28 +00:00
|
|
|
nova_tag: "{{ openstack_tag }}"
|
2017-06-03 16:00:58 +07:00
|
|
|
|
2024-07-18 23:22:53 +02:00
|
|
|
nova_super_conductor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ docker_image_name_prefix }}nova-conductor"
|
2019-08-19 15:52:46 +01:00
|
|
|
nova_super_conductor_tag: "{{ nova_tag }}"
|
|
|
|
nova_super_conductor_image_full: "{{ nova_super_conductor_image }}:{{ nova_super_conductor_tag }}"
|
2015-11-06 03:39:31 +00:00
|
|
|
|
2024-07-18 23:22:53 +02:00
|
|
|
nova_scheduler_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ docker_image_name_prefix }}nova-scheduler"
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_scheduler_tag: "{{ nova_tag }}"
|
2015-08-11 07:03:47 +00:00
|
|
|
nova_scheduler_image_full: "{{ nova_scheduler_image }}:{{ nova_scheduler_tag }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2024-07-18 23:22:53 +02:00
|
|
|
nova_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ docker_image_name_prefix }}nova-api"
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_api_tag: "{{ nova_tag }}"
|
2015-08-11 07:03:47 +00:00
|
|
|
nova_api_image_full: "{{ nova_api_image }}:{{ nova_api_tag }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2018-04-25 14:19:07 +05:30
|
|
|
nova_api_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_scheduler_dimensions: "{{ default_container_dimensions }}"
|
2019-08-19 15:52:46 +01:00
|
|
|
nova_super_conductor_dimensions: "{{ default_container_dimensions }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
|
2019-08-14 11:15:33 +00:00
|
|
|
nova_api_enable_healthchecks: "{{ enable_container_healthchecks }}"
|
|
|
|
nova_api_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
|
|
|
|
nova_api_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
|
|
|
|
nova_api_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
|
2022-09-21 09:09:32 +00:00
|
|
|
nova_api_healthcheck_test: ["CMD-SHELL", "healthcheck_curl {{ 'https' if nova_enable_tls_backend | bool else 'http' }}://{{ api_interface_address | put_address_in_context('url') }}:{{ nova_api_listen_port }} "]
|
2019-08-14 11:15:33 +00:00
|
|
|
nova_api_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
|
|
|
|
nova_api_healthcheck:
|
|
|
|
interval: "{{ nova_api_healthcheck_interval }}"
|
|
|
|
retries: "{{ nova_api_healthcheck_retries }}"
|
|
|
|
start_period: "{{ nova_api_healthcheck_start_period }}"
|
|
|
|
test: "{% if nova_api_enable_healthchecks | bool %}{{ nova_api_healthcheck_test }}{% else %}NONE{% endif %}"
|
|
|
|
timeout: "{{ nova_api_healthcheck_timeout }}"
|
|
|
|
|
|
|
|
nova_scheduler_enable_healthchecks: "{{ enable_container_healthchecks }}"
|
|
|
|
nova_scheduler_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
|
|
|
|
nova_scheduler_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
|
|
|
|
nova_scheduler_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
|
|
|
|
nova_scheduler_healthcheck_test: ["CMD-SHELL", "healthcheck_port nova-scheduler {{ om_rpc_port }}"]
|
|
|
|
nova_scheduler_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
|
|
|
|
nova_scheduler_healthcheck:
|
|
|
|
interval: "{{ nova_scheduler_healthcheck_interval }}"
|
|
|
|
retries: "{{ nova_scheduler_healthcheck_retries }}"
|
|
|
|
start_period: "{{ nova_scheduler_healthcheck_start_period }}"
|
|
|
|
test: "{% if nova_scheduler_enable_healthchecks | bool %}{{ nova_scheduler_healthcheck_test }}{% else %}NONE{% endif %}"
|
|
|
|
timeout: "{{ nova_scheduler_healthcheck_timeout }}"
|
|
|
|
|
|
|
|
nova_super_conductor_enable_healthchecks: "{{ enable_container_healthchecks }}"
|
|
|
|
nova_super_conductor_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
|
|
|
|
nova_super_conductor_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
|
|
|
|
nova_super_conductor_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
|
|
|
|
nova_super_conductor_healthcheck_test: ["CMD-SHELL", "healthcheck_port nova-conductor {{ om_rpc_port }}"]
|
|
|
|
nova_super_conductor_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
|
|
|
|
nova_super_conductor_healthcheck:
|
|
|
|
interval: "{{ nova_super_conductor_healthcheck_interval }}"
|
|
|
|
retries: "{{ nova_super_conductor_healthcheck_retries }}"
|
|
|
|
start_period: "{{ nova_super_conductor_healthcheck_start_period }}"
|
|
|
|
test: "{% if nova_super_conductor_enable_healthchecks | bool %}{{ nova_super_conductor_healthcheck_test }}{% else %}NONE{% endif %}"
|
|
|
|
timeout: "{{ nova_super_conductor_healthcheck_timeout }}"
|
|
|
|
|
2019-04-09 16:55:20 +08:00
|
|
|
nova_api_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
2021-05-13 12:21:11 +01:00
|
|
|
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
- "/lib/modules:/lib/modules:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
2020-01-30 14:00:34 +00:00
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
nova_scheduler_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-scheduler/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
2021-05-13 12:21:11 +01:00
|
|
|
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
- "kolla_logs:/var/log/kolla/"
|
2020-01-30 14:00:34 +00:00
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
2019-08-19 15:52:46 +01:00
|
|
|
nova_super_conductor_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-super-conductor/:{{ container_config_directory }}/:ro"
|
2019-04-09 16:55:20 +08:00
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
2021-05-13 12:21:11 +01:00
|
|
|
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
- "kolla_logs:/var/log/kolla/"
|
2020-01-30 14:00:34 +00:00
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
2019-08-19 15:52:46 +01:00
|
|
|
# Used by bootstrapping containers.
|
|
|
|
nova_api_bootstrap_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-api-bootstrap/:{{ container_config_directory }}/:ro"
|
2019-04-09 16:55:20 +08:00
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
2021-05-13 12:21:11 +01:00
|
|
|
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
- "kolla_logs:/var/log/kolla/"
|
2020-01-30 14:00:34 +00:00
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
|
|
|
|
nova_extra_volumes: "{{ default_extra_volumes }}"
|
|
|
|
nova_api_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_scheduler_extra_volumes: "{{ nova_extra_volumes }}"
|
2019-08-19 15:52:46 +01:00
|
|
|
nova_super_conductor_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
# Used by bootstrapping containers.
|
|
|
|
nova_api_bootstrap_extra_volumes: "{{ nova_extra_volumes }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
|
2018-10-30 12:08:11 +00:00
|
|
|
|
2015-07-12 03:02:33 +00:00
|
|
|
####################
|
2016-02-04 19:11:05 +05:30
|
|
|
# OpenStack
|
2015-07-12 03:02:33 +00:00
|
|
|
####################
|
2022-02-11 09:58:17 +00:00
|
|
|
nova_internal_base_endpoint: "{{ nova_internal_fqdn | kolla_url(internal_protocol, nova_api_port) }}"
|
2023-09-18 15:44:39 +02:00
|
|
|
nova_public_base_endpoint: "{{ nova_external_fqdn | kolla_url(public_protocol, nova_api_public_port) }}"
|
2016-07-28 22:58:58 +08:00
|
|
|
|
Standardize use and construction of endpoint URLs
The goal for this push request is to normalize the construction and use
of internal, external, and admin URLs. While extending Kolla-ansible
to enable a more flexible method to manage external URLs, we noticed
that the same URL was constructed multiple times in different parts
of the code. This can make it difficult for people that want to work
with these URLs and create inconsistencies in a large code base with
time. Therefore, we are proposing here the use of
"single Kolla-ansible variable" per endpoint URL, which facilitates
for people that are interested in overriding/extending these URLs.
As an example, we extended Kolla-ansible to facilitate the "override"
of public (external) URLs with the following standard
"<component/serviceName>.<companyBaseUrl>".
Therefore, the "NAT/redirect" in the SSL termination system (HAproxy,
HTTPD or some other) is done via the service name, and not by the port.
This allows operators to easily and automatically create more friendly
URL names. To develop this feature, we first applied this patch that
we are sending now to the community. We did that to reduce the surface
of changes in Kolla-ansible.
Another example is the integration of Kolla-ansible and Consul, which
we also implemented internally, and also requires URLs changes.
Therefore, this PR is essential to reduce code duplicity, and to
facility users/developers to work/customize the services URLs.
Change-Id: I73d483e01476e779a5155b2e18dd5ea25f514e93
Signed-off-by: Rafael Weingärtner <rafael@apache.org>
2020-06-16 16:03:31 -03:00
|
|
|
nova_legacy_internal_endpoint: "{{ nova_internal_base_endpoint }}/v2/%(tenant_id)s"
|
|
|
|
nova_legacy_public_endpoint: "{{ nova_public_base_endpoint }}/v2/%(tenant_id)s"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
Standardize use and construction of endpoint URLs
The goal for this push request is to normalize the construction and use
of internal, external, and admin URLs. While extending Kolla-ansible
to enable a more flexible method to manage external URLs, we noticed
that the same URL was constructed multiple times in different parts
of the code. This can make it difficult for people that want to work
with these URLs and create inconsistencies in a large code base with
time. Therefore, we are proposing here the use of
"single Kolla-ansible variable" per endpoint URL, which facilitates
for people that are interested in overriding/extending these URLs.
As an example, we extended Kolla-ansible to facilitate the "override"
of public (external) URLs with the following standard
"<component/serviceName>.<companyBaseUrl>".
Therefore, the "NAT/redirect" in the SSL termination system (HAproxy,
HTTPD or some other) is done via the service name, and not by the port.
This allows operators to easily and automatically create more friendly
URL names. To develop this feature, we first applied this patch that
we are sending now to the community. We did that to reduce the surface
of changes in Kolla-ansible.
Another example is the integration of Kolla-ansible and Consul, which
we also implemented internally, and also requires URLs changes.
Therefore, this PR is essential to reduce code duplicity, and to
facility users/developers to work/customize the services URLs.
Change-Id: I73d483e01476e779a5155b2e18dd5ea25f514e93
Signed-off-by: Rafael Weingärtner <rafael@apache.org>
2020-06-16 16:03:31 -03:00
|
|
|
nova_internal_endpoint: "{{ nova_internal_base_endpoint }}/v2.1"
|
|
|
|
nova_public_endpoint: "{{ nova_public_base_endpoint }}/v2.1"
|
2018-12-18 09:42:52 -05:00
|
|
|
|
2015-07-12 03:02:33 +00:00
|
|
|
nova_logging_debug: "{{ openstack_logging_debug }}"
|
|
|
|
|
2016-12-30 15:57:07 +08:00
|
|
|
openstack_nova_auth: "{{ openstack_auth }}"
|
2017-02-01 21:46:32 +08:00
|
|
|
|
2019-08-19 15:52:46 +01:00
|
|
|
nova_services_require_policy_json:
|
2019-03-22 14:59:41 +00:00
|
|
|
- nova-api
|
Restart all nova services after upgrade
During an upgrade, nova pins the version of RPC calls to the minimum
seen across all services. This ensures that old services do not receive
data they cannot handle. After the upgrade is complete, all nova
services are supposed to be reloaded via SIGHUP to cause them to check
again the RPC versions of services and use the new latest version which
should now be supported by all running services.
Due to a bug [1] in oslo.service, sending services SIGHUP is currently
broken. We replaced the HUP with a restart for the nova_compute
container for bug 1821362, but not other nova services. It seems we need
to restart all nova services to allow the RPC version pin to be removed.
Testing in a Queens to Rocky upgrade, we find the following in the logs:
Automatically selected compute RPC version 5.0 from minimum service
version 30
However, the service version in Rocky is 35.
There is a second issue in that it takes some time for the upgraded
services to update the nova services database table with their new
version. We need to wait until all nova-compute services have done this
before the restart is performed, otherwise the RPC version cap will
remain in place. There is currently no interface in nova available for
checking these versions [2], so as a workaround we use a configurable
delay with a default duration of 30 seconds. Testing showed it takes
about 10 seconds for the version to be updated, so this gives us some
headroom.
This change restarts all nova services after an upgrade, after a 30
second delay.
[1] https://bugs.launchpad.net/oslo.service/+bug/1715374
[2] https://bugs.launchpad.net/nova/+bug/1833542
Change-Id: Ia6fc9011ee6f5461f40a1307b72709d769814a79
Closes-Bug: #1833069
Related-Bug: #1833542
2019-06-17 13:48:13 +01:00
|
|
|
|
2022-01-04 16:19:55 +01:00
|
|
|
nova_enable_external_metadata: "no"
|
|
|
|
|
2021-10-08 15:43:02 +02:00
|
|
|
nova_api_workers: "{{ openstack_service_workers }}"
|
|
|
|
nova_superconductor_workers: "{{ openstack_service_workers }}"
|
|
|
|
nova_metadata_api_workers: "{{ openstack_service_workers }}"
|
|
|
|
nova_scheduler_workers: "{{ openstack_service_workers }}"
|
|
|
|
|
2022-08-05 16:01:46 +02:00
|
|
|
nova_enable_nova_legacy_service: false
|
|
|
|
|
2018-07-31 19:24:02 +01:00
|
|
|
####################
|
|
|
|
# Keystone
|
|
|
|
####################
|
|
|
|
nova_ks_services:
|
|
|
|
- name: "nova_legacy"
|
|
|
|
type: "compute_legacy"
|
|
|
|
description: "OpenStack Compute Service (Legacy 2.0)"
|
|
|
|
endpoints:
|
|
|
|
- {'interface': 'internal', 'url': '{{ nova_legacy_internal_endpoint }}'}
|
|
|
|
- {'interface': 'public', 'url': '{{ nova_legacy_public_endpoint }}'}
|
2022-08-05 16:01:46 +02:00
|
|
|
enabled: "{{ nova_enable_nova_legacy_service | bool }}"
|
2018-07-31 19:24:02 +01:00
|
|
|
- name: "nova"
|
|
|
|
type: "compute"
|
|
|
|
description: "OpenStack Compute Service"
|
|
|
|
endpoints:
|
|
|
|
- {'interface': 'internal', 'url': '{{ nova_internal_endpoint }}'}
|
|
|
|
- {'interface': 'public', 'url': '{{ nova_public_endpoint }}'}
|
|
|
|
|
|
|
|
nova_ks_users:
|
|
|
|
- project: "service"
|
|
|
|
user: "{{ nova_keystone_user }}"
|
|
|
|
password: "{{ nova_keystone_password }}"
|
|
|
|
role: "admin"
|
|
|
|
|
2024-02-08 12:01:20 +01:00
|
|
|
nova_ks_user_roles:
|
|
|
|
- project: "service"
|
|
|
|
user: "{{ nova_keystone_user }}"
|
|
|
|
role: "service"
|
|
|
|
|
2017-03-10 22:23:58 +01:00
|
|
|
####################
|
|
|
|
# Notification
|
|
|
|
####################
|
|
|
|
nova_notification_topics:
|
|
|
|
- name: notifications
|
2020-11-28 15:52:39 -06:00
|
|
|
enabled: "{{ enable_ceilometer | bool or enable_neutron_infoblox_ipam_agent | bool }}"
|
2021-07-26 14:09:18 +02:00
|
|
|
- name: "{{ designate_notifications_topic_name }}"
|
|
|
|
enabled: "{{ designate_enable_notifications_sink | bool }}"
|
2017-03-10 22:23:58 +01:00
|
|
|
|
|
|
|
nova_enabled_notification_topics: "{{ nova_notification_topics | selectattr('enabled', 'equalto', true) | list }}"
|
2017-08-04 17:15:57 +08:00
|
|
|
|
2018-04-13 12:44:00 +08:00
|
|
|
####################
|
|
|
|
# Kolla
|
|
|
|
####################
|
|
|
|
nova_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}"
|
|
|
|
nova_dev_repos_pull: "{{ kolla_dev_repos_pull }}"
|
|
|
|
nova_dev_mode: "{{ kolla_dev_mode }}"
|
2018-10-03 15:30:06 +08:00
|
|
|
nova_source_version: "{{ kolla_source_version }}"
|
2020-04-30 22:43:37 -07:00
|
|
|
|
|
|
|
####################
|
|
|
|
# TLS
|
|
|
|
####################
|
|
|
|
nova_enable_tls_backend: "{{ kolla_enable_tls_backend }}"
|