From 67b570702fef0c469f8c2d5f076d3ccb68dc6dcb Mon Sep 17 00:00:00 2001 From: Cuong Nguyen Date: Fri, 17 Nov 2017 13:56:34 +0700 Subject: [PATCH] Use group_names to check a host belongs to group Also, use nova_services dict to get group name Change-Id: Iec090937b0213120854847eebf099df4ffc03528 --- handlers/main.yml | 2 +- tasks/main.yml | 10 +++++----- tasks/nova_install.yml | 8 +++++--- templates/nova.conf.j2 | 6 ++++-- vars/main.yml | 6 ++++-- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/handlers/main.yml b/handlers/main.yml index 2b81ca57..add7ac58 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -71,7 +71,7 @@ delay: 5 until: "ansible_nodename in _compute_host_list.stdout_lines" when: - - "'nova_compute' in group_names" + - "nova_services['nova-compute']['group'] in group_names" - "nova_discover_hosts_in_cells_interval | int < 1" listen: "Restart nova services" diff --git a/tasks/main.yml b/tasks/main.yml index d97e95a3..729f2047 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -81,7 +81,7 @@ - include: nova_db_setup.yml static: no when: - - "'nova_conductor' in group_names" + - "nova_services['nova-conductor']['group'] in group_names" - "inventory_hostname == ((groups['nova_conductor'] | intersect(ansible_play_hosts)) | list)[0]" tags: - nova-config @@ -97,7 +97,7 @@ - include: nova_service_setup.yml static: no when: - - "'nova_conductor' in group_names" + - "nova_services['nova-conductor']['group'] in group_names" - "inventory_hostname == ((groups['nova_conductor'] | intersect(ansible_play_hosts)) | list)[0]" tags: - nova-config @@ -105,7 +105,7 @@ - include: nova_compute.yml static: no when: - - "'nova_compute' in group_names" + - "nova_services['nova-compute']['group'] in group_names" tags: - nova-compute @@ -116,7 +116,7 @@ openstack_service_system_user: "{{ nova_system_user_name }}" openstack_service_venv_bin: "{{ nova_bin }}" when: - - "'nova_compute' in group_names" + - "nova_services['nova-compute']['group'] in group_names" - "(nova_libvirt_images_rbd_pool is defined) or (nova_cinder_rbd_inuse | bool)" tags: @@ -138,6 +138,6 @@ loop_control: loop_var: conductor_host when: - - "'nova_compute' in group_names" + - "nova_services['nova-compute']['group'] in group_names" tags: - nova-config diff --git a/tasks/nova_install.yml b/tasks/nova_install.yml index d128a453..68f23f30 100644 --- a/tasks/nova_install.yml +++ b/tasks/nova_install.yml @@ -17,7 +17,7 @@ include: nova_install_apt_powervm.yml static: no when: - - "'nova_compute' in group_names" + - "nova_services['nova-compute']['group'] in group_names" - "nova_virt_type == 'powervm'" - "ansible_pkg_mgr == 'apt'" @@ -38,7 +38,7 @@ delay: 2 with_items: "{{ nova_spice_distro_packages }}" when: - - inventory_hostname in groups['nova_console'] + - "nova_services['nova-spicehtml5proxy']['group'] in group_names" - nova_console_type == "spice" tags: - nova-apt-packages @@ -166,7 +166,9 @@ - include: "consoles/nova_console_{{ nova_console_type }}_install.yml" when: - - "'nova_console' in group_names" + - "nova_services['nova-novncproxy']['group'] in group_names or + nova_services['nova-spicehtml5proxy']['group'] in group_names or + nova_services['nova-serialconsole-proxy']['group'] in group_names" - "nova_console_type != 'serialconsole'" tags: - nova-install diff --git a/templates/nova.conf.j2 b/templates/nova.conf.j2 index 5fc71a07..e9c28711 100644 --- a/templates/nova.conf.j2 +++ b/templates/nova.conf.j2 @@ -27,7 +27,9 @@ allow_resize_to_same_host = True image_cache_manager_interval = {{ nova_image_cache_manager_interval }} resume_guests_state_on_host_boot = {{ nova_resume_guests_state_on_host_boot }} -{% if nova_console_user_ssl_cert is defined and nova_console_user_ssl_key is defined and inventory_hostname in groups['nova_console'] %} +{% if nova_console_user_ssl_cert is defined and nova_console_user_ssl_key is defined and nova_services['nova-novncproxy']['group'] in group_names or +nova_services['nova-spicehtml5proxy']['group'] in group_names or +nova_services['nova-serialconsole-proxy']['group'] in group_names %} # Console SSL keys ssl_only = true cert = {{ nova_console_ssl_cert }} @@ -139,7 +141,7 @@ enabled = {{ nova_serialconsoleproxy_enabled }} base_url= {{ nova_serialconsoleproxy_base_url }} proxyclient_address = {% if nova_management_address == 'localhost' %}127.0.0.1{% else %}{{ nova_management_address }}{% endif %} port_range = {{ nova_serialconsoleproxy_port_range }} -{% if 'nova_console' in group_names %} +{% if nova_services['nova-serialconsole-proxy']['group'] %} serialproxy_host= {{ nova_serialconsoleproxy_serialconsole_proxyserver_proxyclient_address }} serialproxy_port= {{ nova_serialconsoleproxy_port }} {% endif %} diff --git a/vars/main.yml b/vars/main.yml index 49767bc9..a6bc63dc 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -20,7 +20,9 @@ # nova_package_list: |- {% set packages = nova_distro_packages %} - {% if 'nova_console' in group_names %} + {% if nova_services['nova-novncproxy']['group'] in group_names or + nova_services['nova-spicehtml5proxy']['group'] in group_names or + nova_services['nova-serialconsole-proxy']['group'] in group_names %} {% if nova_console_type == 'novnc' %} {% set _ = packages.extend(nova_novnc_distro_packages) %} {% endif %} @@ -28,7 +30,7 @@ nova_package_list: |- {% set _ = packages.extend(nova_spice_distro_packages) %} {% endif %} {% endif %} - {% if 'nova_compute' in group_names %} + {% if nova_services['nova-compute']['group'] in group_names %} {% if nova_virt_type in ['kvm', 'qemu'] %} {% set _ = packages.extend(nova_compute_kvm_distro_packages) %} {% if nova_compute_ksm_enabled %}