2015-07-12 03:02:33 +00:00
|
|
|
---
|
|
|
|
project_name: "nova"
|
|
|
|
|
2016-12-06 17:12:20 +08:00
|
|
|
nova_services:
|
|
|
|
nova-libvirt:
|
|
|
|
container_name: nova_libvirt
|
|
|
|
group: compute
|
2017-08-04 17:15:57 +08:00
|
|
|
enabled: "{{ nova_compute_virt_type in ['kvm', 'qemu'] }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
image: "{{ nova_libvirt_image_full }}"
|
|
|
|
pid_mode: "host"
|
|
|
|
privileged: True
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_libvirt_default_volumes + nova_libvirt_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_libvirt_dimensions }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
nova-ssh:
|
|
|
|
container_name: "nova_ssh"
|
|
|
|
group: "compute"
|
|
|
|
image: "{{ nova_ssh_image_full }}"
|
2018-02-08 16:19:58 -08:00
|
|
|
enabled: "{{ enable_nova_ssh | bool }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_ssh_default_volumes + nova_ssh_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_ssh_dimensions }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
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 }}"
|
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 }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
nova_api_external:
|
|
|
|
enabled: "{{ enable_nova }}"
|
|
|
|
mode: "http"
|
|
|
|
external: true
|
|
|
|
port: "{{ nova_api_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_api_listen_port }}"
|
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 }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
nova_metadata_external:
|
|
|
|
enabled: "{{ enable_nova }}"
|
|
|
|
mode: "http"
|
|
|
|
external: true
|
|
|
|
port: "{{ nova_metadata_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_metadata_listen_port }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
nova_rdp:
|
|
|
|
enabled: "{{ enable_nova|bool and nova_console == 'rdp' }}"
|
|
|
|
mode: "http"
|
|
|
|
external: false
|
|
|
|
port: "{{ rdp_port }}"
|
|
|
|
host_group: "hyperv"
|
2016-12-06 17:12:20 +08:00
|
|
|
nova-novncproxy:
|
|
|
|
container_name: "nova_novncproxy"
|
|
|
|
group: "nova-novncproxy"
|
|
|
|
image: "{{ nova_novncproxy_image_full }}"
|
|
|
|
enabled: "{{ nova_console == 'novnc' }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_novncproxy_default_volumes + nova_novncproxy_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_novncproxy_dimensions }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
haproxy:
|
|
|
|
nova_novncproxy:
|
|
|
|
enabled: "{{ enable_nova|bool and nova_console == 'novnc' }}"
|
|
|
|
mode: "http"
|
|
|
|
external: false
|
|
|
|
port: "{{ nova_novncproxy_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_novncproxy_listen_port }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
backend_http_extra:
|
|
|
|
- "timeout tunnel 1h"
|
|
|
|
nova_novncproxy_external:
|
|
|
|
enabled: "{{ enable_nova|bool and nova_console == 'novnc' }}"
|
|
|
|
mode: "http"
|
|
|
|
external: true
|
|
|
|
port: "{{ nova_novncproxy_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_novncproxy_listen_port }}"
|
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 }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
nova-spicehtml5proxy:
|
|
|
|
container_name: "nova_spicehtml5proxy"
|
|
|
|
group: "nova-spicehtml5proxy"
|
|
|
|
image: "{{ nova_spicehtml5proxy_image_full }}"
|
|
|
|
enabled: "{{ nova_console == 'spice' }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_spicehtml5proxy_default_volumes + nova_spicehtml5proxy_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_spicehtml5proxy_dimensions }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
haproxy:
|
|
|
|
nova_spicehtml5proxy:
|
|
|
|
enabled: "{{ enable_nova|bool and nova_console == 'spice' }}"
|
|
|
|
mode: "http"
|
|
|
|
external: false
|
|
|
|
port: "{{ nova_spicehtml5proxy_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_spicehtml5proxy_listen_port }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
nova_spicehtml5proxy_external:
|
|
|
|
enabled: "{{ enable_nova|bool and nova_console == 'spice' }}"
|
|
|
|
mode: "http"
|
|
|
|
external: true
|
|
|
|
port: "{{ nova_spicehtml5proxy_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_spicehtml5proxy_listen_port }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
nova-serialproxy:
|
|
|
|
container_name: "nova_serialproxy"
|
|
|
|
group: "nova-serialproxy"
|
|
|
|
image: "{{ nova_serialproxy_image_full }}"
|
|
|
|
enabled: "{{ enable_nova_serialconsole_proxy | bool }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_serialproxy_default_volumes + nova_serialproxy_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_serialproxy_dimensions }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
haproxy:
|
|
|
|
nova_serialconsole_proxy:
|
|
|
|
enabled: "{{ enable_nova|bool and enable_nova_serialconsole_proxy|bool }}"
|
|
|
|
mode: "http"
|
|
|
|
external: false
|
|
|
|
port: "{{ nova_serialproxy_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_serialproxy_listen_port }}"
|
2018-10-30 12:08:11 +00:00
|
|
|
backend_http_extra:
|
|
|
|
- "timeout tunnel {{ haproxy_nova_serialconsole_proxy_tunnel_timeout }}"
|
2018-06-19 00:43:35 -05:00
|
|
|
nova_serialconsole_proxy_external:
|
|
|
|
enabled: "{{ enable_nova|bool and enable_nova_serialconsole_proxy|bool }}"
|
|
|
|
mode: "http"
|
|
|
|
external: true
|
|
|
|
port: "{{ nova_serialproxy_port }}"
|
2018-12-18 09:42:52 -05:00
|
|
|
listen_port: "{{ nova_serialproxy_listen_port }}"
|
2018-10-30 12:08:11 +00:00
|
|
|
backend_http_extra:
|
|
|
|
- "timeout tunnel {{ haproxy_nova_serialconsole_proxy_tunnel_timeout }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
nova-conductor:
|
|
|
|
container_name: "nova_conductor"
|
|
|
|
group: "nova-conductor"
|
|
|
|
enabled: True
|
|
|
|
image: "{{ nova_conductor_image_full }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_conductor_default_volumes + nova_conductor_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_conductor_dimensions }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
nova-compute:
|
|
|
|
container_name: "nova_compute"
|
|
|
|
group: "compute"
|
|
|
|
image: "{{ nova_compute_image_full }}"
|
2018-01-09 09:21:15 +08:00
|
|
|
environment:
|
2018-02-25 12:02:00 +01:00
|
|
|
LIBGUESTFS_BACKEND: "direct"
|
2016-12-06 17:12:20 +08:00
|
|
|
privileged: True
|
2017-07-12 16:38:11 +08:00
|
|
|
enabled: "{{ not enable_nova_fake | bool }}"
|
2017-08-29 15:26:28 +08:00
|
|
|
ipc_mode: "host"
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_compute_default_volumes + nova_compute_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_compute_dimensions }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
nova-compute-ironic:
|
|
|
|
container_name: "nova_compute_ironic"
|
|
|
|
group: "nova-compute-ironic"
|
|
|
|
image: "{{ nova_compute_ironic_image_full }}"
|
|
|
|
enabled: "{{ enable_ironic | bool }}"
|
2019-04-09 16:55:20 +08:00
|
|
|
volumes: "{{ nova_compute_ironic_default_volumes + nova_compute_ironic_extra_volumes }}"
|
2018-04-25 14:19:07 +05:30
|
|
|
dimensions: "{{ nova_compute_ironic_dimensions }}"
|
2016-12-06 17:12:20 +08:00
|
|
|
|
2015-10-18 20:34:17 +00:00
|
|
|
####################
|
|
|
|
# Ceph
|
|
|
|
####################
|
|
|
|
ceph_nova_pool_type: "{{ ceph_pool_type }}"
|
|
|
|
ceph_nova_cache_mode: "{{ ceph_cache_mode }}"
|
|
|
|
|
|
|
|
# Due to Ansible issues on include, you cannot override these variables. Please
|
2015-11-26 10:51:16 +05:30
|
|
|
# override the variables they reference instead.
|
2015-10-18 20:34:17 +00:00
|
|
|
nova_pool_name: "{{ ceph_nova_pool_name }}"
|
|
|
|
nova_pool_type: "{{ ceph_nova_pool_type }}"
|
|
|
|
nova_cache_mode: "{{ ceph_nova_cache_mode }}"
|
2017-09-15 23:24:43 +08:00
|
|
|
nova_pool_pg_num: "{{ ceph_pool_pg_num }}"
|
|
|
|
nova_pool_pgp_num: "{{ ceph_pool_pgp_num }}"
|
2015-10-18 20:34:17 +00:00
|
|
|
|
2016-10-11 15:29:00 +01:00
|
|
|
# Discard option for nova managed disks. Requires libvirt (1, 0, 6) or later and
|
|
|
|
# qemu (1, 6, 0) or later. Set to "" to disable.
|
|
|
|
nova_hw_disk_discard: "unmap"
|
|
|
|
|
2018-03-30 10:49:12 +08:00
|
|
|
ceph_client_nova_keyring_caps:
|
2018-10-02 18:15:52 -03:00
|
|
|
mon: 'allow r, allow command "osd blacklist"'
|
2018-03-30 10:49:12 +08:00
|
|
|
osd: >-
|
|
|
|
allow class-read object_prefix rbd_children,
|
|
|
|
allow rwx pool={{ ceph_cinder_pool_name }},
|
|
|
|
allow rwx pool={{ ceph_cinder_pool_name }}-cache,
|
|
|
|
allow rwx pool={{ ceph_nova_pool_name }},
|
|
|
|
allow rwx pool={{ ceph_nova_pool_name }}-cache,
|
|
|
|
allow rwx pool={{ ceph_glance_pool_name }},
|
|
|
|
allow rwx pool={{ ceph_glance_pool_name }}-cache
|
|
|
|
|
2015-10-18 20:34:17 +00:00
|
|
|
|
2015-07-12 03:02:33 +00:00
|
|
|
####################
|
|
|
|
# Database
|
|
|
|
####################
|
|
|
|
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 %}"
|
2017-12-15 19:58:53 +08:00
|
|
|
nova_database_address: "{{ database_address }}:{{ database_port }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
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 %}"
|
2017-12-15 19:58:53 +08:00
|
|
|
nova_api_database_address: "{{ database_address }}:{{ database_port }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
|
|
|
####################
|
|
|
|
# Docker
|
|
|
|
####################
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_install_type: "{{ kolla_install_type }}"
|
|
|
|
nova_tag: "{{ openstack_release }}"
|
|
|
|
|
|
|
|
nova_libvirt_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-libvirt"
|
|
|
|
nova_libvirt_tag: "{{ nova_tag }}"
|
2015-08-11 07:03:47 +00:00
|
|
|
nova_libvirt_image_full: "{{ nova_libvirt_image }}:{{ nova_libvirt_tag }}"
|
2017-12-20 10:01:04 +01:00
|
|
|
nova_libvirt_cpu_mode: "{{ 'host-passthrough' if ansible_architecture == 'aarch64' else '' }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_ssh_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-ssh"
|
|
|
|
nova_ssh_tag: "{{ nova_tag }}"
|
2016-03-27 00:39:07 +08:00
|
|
|
nova_ssh_image_full: "{{ nova_ssh_image }}:{{ nova_ssh_tag }}"
|
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_conductor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-conductor"
|
|
|
|
nova_conductor_tag: "{{ nova_tag }}"
|
2015-08-11 07:03:47 +00:00
|
|
|
nova_conductor_image_full: "{{ nova_conductor_image }}:{{ nova_conductor_tag }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_novncproxy_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-novncproxy"
|
|
|
|
nova_novncproxy_tag: "{{ nova_tag }}"
|
2015-08-11 07:03:47 +00:00
|
|
|
nova_novncproxy_image_full: "{{ nova_novncproxy_image }}:{{ nova_novncproxy_tag }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_spicehtml5proxy_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-spicehtml5proxy"
|
|
|
|
nova_spicehtml5proxy_tag: "{{ nova_tag }}"
|
2015-11-06 03:39:31 +00:00
|
|
|
nova_spicehtml5proxy_image_full: "{{ nova_spicehtml5proxy_image }}:{{ nova_spicehtml5proxy_tag }}"
|
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_scheduler_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-scheduler"
|
|
|
|
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
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_compute_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-compute"
|
|
|
|
nova_compute_tag: "{{ nova_tag }}"
|
2015-08-11 07:03:47 +00:00
|
|
|
nova_compute_image_full: "{{ nova_compute_image }}:{{ nova_compute_tag }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-api"
|
|
|
|
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
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_compute_ironic_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-compute-ironic"
|
|
|
|
nova_compute_ironic_tag: "{{ nova_tag }}"
|
2015-12-25 18:07:41 +02:00
|
|
|
nova_compute_ironic_image_full: "{{ nova_compute_ironic_image }}:{{ nova_compute_ironic_tag }}"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2017-06-03 16:00:58 +07:00
|
|
|
nova_serialproxy_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-serialproxy"
|
|
|
|
nova_serialproxy_tag: "{{ nova_tag }}"
|
2016-08-22 22:21:25 +02:00
|
|
|
nova_serialproxy_image_full: "{{ nova_serialproxy_image }}:{{ nova_serialproxy_tag }}"
|
|
|
|
|
2018-04-25 14:19:07 +05:30
|
|
|
nova_libvirt_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_ssh_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_api_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_novncproxy_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_scheduler_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_spicehtml5proxy_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_serialproxy_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_conductor_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_compute_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
nova_compute_ironic_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
|
2019-04-09 16:55:20 +08:00
|
|
|
nova_libvirt_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-libvirt/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "/lib/modules:/lib/modules:ro"
|
|
|
|
- "/run/:/run/:shared"
|
|
|
|
- "/dev:/dev"
|
|
|
|
- "/sys/fs/cgroup:/sys/fs/cgroup"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "libvirtd:/var/lib/libvirt"
|
|
|
|
- "{{ nova_instance_datadir_volume }}:/var/lib/nova/"
|
|
|
|
- "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
|
|
|
|
- "nova_libvirt_qemu:/etc/libvirt/qemu"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_ssh_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-ssh/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla"
|
|
|
|
- "{{ nova_instance_datadir_volume }}:/var/lib/nova"
|
|
|
|
- "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_api_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "/lib/modules:/lib/modules:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_novncproxy_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-novncproxy/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_scheduler_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-scheduler/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_spicehtml5proxy_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-spicehtml5proxy/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_serialproxy_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-serialproxy/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_conductor_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-conductor/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_compute_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "/lib/modules:/lib/modules:ro"
|
|
|
|
- "/run:/run:shared"
|
|
|
|
- "/dev:/dev"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}"
|
|
|
|
- "libvirtd:/var/lib/libvirt"
|
|
|
|
- "{{ nova_instance_datadir_volume }}:/var/lib/nova/"
|
|
|
|
- "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
nova_compute_ironic_default_volumes:
|
|
|
|
- "{{ node_config_directory }}/nova-compute-ironic/:{{ container_config_directory }}/:ro"
|
|
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
- "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
|
|
|
|
|
|
|
|
nova_extra_volumes: "{{ default_extra_volumes }}"
|
|
|
|
nova_libvirt_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_ssh_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_api_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_novncproxy_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_scheduler_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_spicehtml5proxy_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_serialproxy_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_conductor_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_compute_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
nova_compute_ironic_extra_volumes: "{{ nova_extra_volumes }}"
|
|
|
|
|
|
|
|
|
2018-10-30 12:08:11 +00:00
|
|
|
####################
|
|
|
|
# HAProxy
|
|
|
|
####################
|
|
|
|
haproxy_nova_serialconsole_proxy_tunnel_timeout: "10m"
|
|
|
|
|
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
|
|
|
####################
|
2016-07-28 22:58:58 +08:00
|
|
|
|
2018-12-18 09:42:52 -05:00
|
|
|
nova_legacy_admin_endpoint: "{{ admin_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s"
|
|
|
|
nova_legacy_internal_endpoint: "{{ internal_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s"
|
|
|
|
nova_legacy_public_endpoint: "{{ public_protocol }}://{{ nova_external_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s"
|
2015-07-12 03:02:33 +00:00
|
|
|
|
2019-05-31 18:42:49 +01:00
|
|
|
nova_admin_endpoint: "{{ admin_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2.1"
|
|
|
|
nova_internal_endpoint: "{{ internal_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2.1"
|
|
|
|
nova_public_endpoint: "{{ public_protocol }}://{{ nova_external_fqdn }}:{{ nova_api_port }}/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
|
|
|
|
2018-07-20 16:31:30 +01:00
|
|
|
nova_compute_host_rp_filter_mode: 0
|
2018-04-04 16:52:51 +07:00
|
|
|
nova_enable_rolling_upgrade: "yes"
|
|
|
|
nova_safety_upgrade: "no"
|
2016-03-27 00:39:07 +08:00
|
|
|
|
2019-04-05 15:10:04 -06:00
|
|
|
nova_libvirt_port: "{{'16514' if libvirt_tls | bool else '16509'}}"
|
2016-03-27 00:39:07 +08:00
|
|
|
nova_ssh_port: "8022"
|
2017-03-10 22:23:58 +01:00
|
|
|
|
2019-03-22 14:59:41 +00:00
|
|
|
nova_services_require_nova_conf:
|
|
|
|
- nova-api
|
|
|
|
- nova-compute
|
|
|
|
- nova-compute-ironic
|
|
|
|
- nova-conductor
|
|
|
|
- nova-novncproxy
|
|
|
|
- nova-serialproxy
|
|
|
|
- nova-scheduler
|
|
|
|
- nova-spicehtml5proxy
|
|
|
|
|
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
|
|
|
# After upgrading nova-compute, services will have an RPC version cap in place.
|
|
|
|
# We need to restart all services that communicate with nova-compute in order
|
|
|
|
# to allow them to use the latest RPC version. Ideally, there would be a way to
|
|
|
|
# check whether all nova services are using the latest version, but currently
|
|
|
|
# there is not. Instead, wait a short time for all nova compute services to
|
|
|
|
# update the version of their service in the database. This seems to take
|
|
|
|
# around 10 seconds, but the default is 30 to allow room for slowness.
|
|
|
|
nova_compute_startup_delay: 30
|
|
|
|
|
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': 'admin', 'url': '{{ nova_legacy_admin_endpoint }}'}
|
|
|
|
- {'interface': 'internal', 'url': '{{ nova_legacy_internal_endpoint }}'}
|
|
|
|
- {'interface': 'public', 'url': '{{ nova_legacy_public_endpoint }}'}
|
|
|
|
- name: "nova"
|
|
|
|
type: "compute"
|
|
|
|
description: "OpenStack Compute Service"
|
|
|
|
endpoints:
|
|
|
|
- {'interface': 'admin', 'url': '{{ nova_admin_endpoint }}'}
|
|
|
|
- {'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"
|
|
|
|
|
2017-03-10 22:23:58 +01:00
|
|
|
####################
|
|
|
|
# Notification
|
|
|
|
####################
|
|
|
|
nova_notification_topics:
|
|
|
|
- name: notifications
|
2018-03-21 11:39:26 -04:00
|
|
|
enabled: "{{ enable_ceilometer | bool or enable_searchlight | bool or enable_neutron_infoblox_ipam_agent | bool }}"
|
2017-03-10 22:23:58 +01:00
|
|
|
- name: notifications_designate
|
|
|
|
enabled: "{{ enable_designate | bool }}"
|
2018-12-12 11:32:52 +07:00
|
|
|
- name: vitrage_notifications
|
|
|
|
enabled: "{{ enable_vitrage | 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
|
|
|
|
|
|
|
####################
|
|
|
|
# VMware
|
|
|
|
####################
|
|
|
|
vmware_vcenter_datastore_regex: ".*"
|
2018-05-07 05:46:38 -07:00
|
|
|
ovs_bridge: "nsx-managed"
|
2018-04-13 12:44:00 +08:00
|
|
|
|
2019-01-17 15:13:42 +08:00
|
|
|
####################
|
|
|
|
# Libvirt/qemu
|
|
|
|
####################
|
|
|
|
# The number of max files qemu can open
|
|
|
|
qemu_max_files: 32768
|
|
|
|
# The number of max processes qemu can open
|
|
|
|
qemu_max_processes: 131072
|
2019-04-05 15:10:04 -06:00
|
|
|
# Use TLS for libvirt connections and live migration
|
|
|
|
libvirt_tls: false
|
|
|
|
# Should kolla-ansible manage/copy the certs. False, assumes the deployer is
|
|
|
|
# responsible for making the TLS certs show up in the config directories
|
|
|
|
# also means the deployer is responsible for restarting the nova_compute and
|
|
|
|
# nova_libvirt containers when the key changes, as we can't know when to do that
|
|
|
|
libvirt_tls_manage_certs: true
|
|
|
|
# When using tls we are verfiying the hostname we are connected to matches the
|
|
|
|
# libvirt cert we are presented. As such we can't use IP's here, but keep the
|
|
|
|
# ability for people to override the hostname to use.
|
|
|
|
migration_hostname: "{{ ansible_nodename }}"
|
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 }}"
|
2018-09-24 14:38:08 +01:00
|
|
|
|
|
|
|
###################################
|
|
|
|
# Enable Shared Bind Propogation
|
|
|
|
###################################
|
|
|
|
|
|
|
|
enable_shared_var_lib_nova_mnt: "{{ enable_cinder_backend_nfs | bool or enable_cinder_backend_quobyte | bool }}"
|