Execution
Date 14 Dec 2025 10:21:40 +0000
Duration 00:43:55.98
Controller aio1.openstack.local
User root
Versions
Ansible 2.18.6
ara 1.7.4 / 1.7.4
Python 3.13.5
Summary
13 Hosts
2438 Tasks
2413 Results
107 Plays
511 Files
0 Records

File: /home/zuul/src/opendev.org/openstack/openstack-ansible-os_trove/vars/main.yml

---
# Copyright 2021 City Network International AB
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

_trove_is_first_play_host: >-
  {{
    (trove_services['trove-api']['group'] in group_names and
      inventory_hostname == (groups[trove_services['trove-api']['group']] | select('in', ansible_play_hosts)) | first) | bool
  }}
_trove_conductor_is_first_play_host: >-
  {{
    (trove_services['trove-conductor']['group'] in group_names and
      inventory_hostname == (groups[trove_services['trove-conductor']['group']] | select('in', ansible_play_hosts)) | first) | bool
  }}

_trove_oslomsg_rpc_vhost_conf: >-
  {{
    (trove_oslomsg_rpc_vhost is string) | ternary(
      trove_oslomsg_rpc_vhost, trove_oslomsg_rpc_vhost | selectattr('state', 'eq', 'present') | map(attribute='name') | first)
  }}
_trove_oslomsg_notify_vhost_conf: >-
  {{
    (trove_oslomsg_notify_vhost is string) | ternary(
      trove_oslomsg_notify_vhost, trove_oslomsg_notify_vhost | selectattr('state', 'eq', 'present') | map(attribute='name') | first)
  }}

_trove_guest_oslomsg_rpc_vhost_conf: >-
  {{
    (trove_guest_oslomsg_rpc_vhost is string) | ternary(
      trove_guest_oslomsg_rpc_vhost, trove_guest_oslomsg_rpc_vhost | selectattr('state', 'eq', 'present') | map(attribute='name') | first)
  }}
_trove_guest_oslomsg_notify_vhost_conf: >-
  {{
    (trove_guest_oslomsg_notify_vhost is string) | ternary(
      trove_guest_oslomsg_notify_vhost, trove_guest_oslomsg_notify_vhost | selectattr('state', 'eq', 'present') | map(attribute='name') | first)
  }}

filtered_trove_services: |-
  {% set services = [] %}
  {% for key, value in trove_services.items() %}
  {%   if (value['group'] in group_names) and
          (('condition' not in value) or
           ('condition' in value and value['condition'])) and
            not ('wsgi_app' in value and value['wsgi_app']) %}
  {%     set _ = value.update(
            {
              'service_key': key,
              'enabled': value['enabled'] | default(True),
              'state': value['state'] | default('started')
            }
          )
  %}
  {%     set _ = services.append(value) %}
  {%   endif %}
  {% endfor %}
  {{ services | sort(attribute='start_order') }}

uwsgi_trove_services: |-
  {% set services = {} %}
  {% for key, value in trove_services.items() %}
  {%   if (value['group'] in group_names) and
         (('condition' not in value) or ('condition' in value and value['condition']))
         and ('wsgi_app' in value and value['wsgi_app']) %}
  {%     set _ = value.update(
           {
             'wsgi_path':  trove_bin ~ '/' ~ value.wsgi_name,
             'wsgi_venv': trove_bin | dirname,
             'uwsgi_uid': trove_system_user_name,
             'uwsgi_guid': trove_system_group_name,
             'uwsgi_processes': trove_api_workers,
             'uwsgi_threads': trove_wsgi_threads,
           }
         ) %}
  {%     set _ = services.update({key: value}) %}
  {%   endif %}
  {% endfor %}
  {{ services }}

_trove_glance_images_compat: |-
  {% set images = [] %}
  {% for image in trove_guestagent_images %}
  {%   if 'public' in image and image['public'] %}
  {%     set _ = image.update({'visibility': 'public'}) %}
  {%     set _ = image.pop('public')  %}
  {%   endif %}
  {%   if 'distro' in image %}
  {%     set image_properties = image.get('properties', {}) %}
  {%     set _ = image_properties.update({'os_distro': image.pop('distro')}) %}
  {%     set _ = image.update({'properties': image_properties}) %}
  {%   endif %}
  {%   if 'file' in image and image['file'] is url %}
  {%     set _ = image.update({'url': image.pop('file')}) %}
  {%   endif %}
  {%   if 'image_format' in image %}
  {%     set _ = image.update({'container_format': image.pop('image_format')}) %}
  {%   endif %}
  {# NOTE(noonedeadpunk): Glance requires image checksum to be in plain md5 only #}
  {%   if 'checksum' in image and image['checksum'].split(':') | length > 1 %}
  {%     set _ = image.pop('checksum') %}
  {%   endif %}
  {%   set _ = images.append(image) %}
  {% endfor %}
  {{ images }}