![Dmitriy Rabotyagov](/assets/img/avatar_default.png)
At the moment we don't restart services if systemd unit file is changed. We knowingly prevent systemd_service role handlers to execute by providing `state: started` as otherwise service will be restarted twice. With that now we ensure that role handlers will also listen for systemd unit changes. Change-Id: I4a3346c90825a4bf0b416943286696fa529f526d
87 lines
3.4 KiB
YAML
87 lines
3.4 KiB
YAML
---
|
|
# Copyright 2018, VEXXHOST, Inc.
|
|
#
|
|
# 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.
|
|
|
|
_octavia_is_first_play_host: "{{ (octavia_services['octavia-api']['group'] in group_names and inventory_hostname == (groups[octavia_services['octavia-api']['group']] | intersect(ansible_play_hosts)) | first) | bool }}"
|
|
|
|
#
|
|
# Compile a list of the services on a host based on whether
|
|
# the host is in the host group and the service is enabled.
|
|
#
|
|
filtered_octavia_services: |-
|
|
{% set services = [] %}
|
|
{% for key, value in octavia_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'),
|
|
'config_overrides': value.init_config_overrides
|
|
}
|
|
)
|
|
%}
|
|
{% set _ = value.pop('init_config_overrides') %}
|
|
{% set _ = services.append(value) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ services | sort(attribute='start_order') }}
|
|
|
|
uwsgi_octavia_services: |-
|
|
{% set services = {} %}
|
|
{% for key, value in octavia_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': octavia_bin ~ '/' ~ value.wsgi_name,
|
|
'wsgi_venv': ((octavia_install_method == 'source') | ternary(octavia_bin | dirname, None)),
|
|
'uwsgi_uid': octavia_system_user_name,
|
|
'uwsgi_guid': octavia_system_group_name,
|
|
'uwsgi_processes': octavia_wsgi_processes,
|
|
'uwsgi_threads': octavia_wsgi_threads
|
|
}
|
|
)
|
|
%}
|
|
{% set _ = services.update({key: value}) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ services }}
|
|
|
|
_octavia_legacy_policies:
|
|
"context_is_admin": "role:admin or role:load-balancer_admin"
|
|
"admin_or_owner": "is_admin:True or project_id:%(project_id)s"
|
|
"load-balancer:read": "rule:admin_or_owner"
|
|
"load-balancer:read-global": "is_admin:True"
|
|
"load-balancer:write": "rule:admin_or_owner"
|
|
"load-balancer:read-quota": "rule:admin_or_owner"
|
|
"load-balancer:read-quota-global": "is_admin:True"
|
|
"load-balancer:write-quota": "is_admin:True"
|
|
|
|
_octavia_jobboard_driver_map:
|
|
zookeeper: zookeeper_taskflow_driver
|
|
redis: redis_taskflow_driver
|
|
|
|
_octavia_enabled_provider_drivers: |-
|
|
{% set drivers = ["amphora:'The Octavia Amphora driver.'", "octavia:'Deprecated name of Amphora driver.'"] %}
|
|
{% if (octavia_coordination_enable | bool) %}
|
|
{% set _ = drivers.append("amphorav2:'The Octavia Amphora v2 driver.'") %}
|
|
{% endif %}
|
|
{{ drivers | join(',') }}
|