377588a57c
The variables nova_developer_mode and nova_venv_download no longer carry any meaning. This review changes nova to do the equivalent of what developer_mode was all the time, meaning that it always builds the venv and never requires the repo server, but it will use a repo server when available. We also change include_tasks to import_tasks and include_role to import_role so that the tags in the python_venv_build role will work. Change-Id: I1a1ac5948f3bd647eb0ee5e10e9e7ae06b740bb7
77 lines
2.8 KiB
YAML
77 lines
2.8 KiB
YAML
---
|
|
# Copyright 2017, Rackspace US, 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.
|
|
|
|
nova_venv_packages: |-
|
|
{%- set pkg_list = nova_pip_packages | union(nova_user_pip_packages) %}
|
|
{%- if nova_oslomsg_amqp1_enabled | bool %}
|
|
{%- set _ = pkg_list.extend(nova_optional_oslomsg_amqp1_pip_packages) %}
|
|
{%- endif %}
|
|
{%- if (nova_services['nova-novncproxy']['group'] in group_names) and
|
|
(nova_console_type == 'novnc') %}
|
|
{%- set _ = pkg_list.extend(nova_novnc_pip_packages) %}
|
|
{%- endif %}
|
|
{%- if (nova_services['nova-compute']['group'] in group_names) %}
|
|
{%- if nova_virt_type == 'lxd' %}
|
|
{%- set _ = pkg_list.extend(nova_compute_lxd_pip_packages) %}
|
|
{%- elif nova_virt_type == 'ironic' %}
|
|
{%- set _ = pkg_list.extend(nova_compute_ironic_pip_packages) %}
|
|
{%- endif %}
|
|
{%- endif %}
|
|
{{- pkg_list | unique }}
|
|
|
|
#
|
|
# 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_nova_services: |-
|
|
{% set services = [] %}
|
|
{% for key, value in nova_services.items() %}
|
|
{% if (value['group'] in group_names) and
|
|
(('condition' not in value) or
|
|
('condition' in value and value['condition'])) %}
|
|
{% set _ = value.update({'service_key': key}) %}
|
|
{% set _ = services.append(value) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ services | sort(attribute='start_order') }}
|
|
|
|
# Define all Nova mountpoints when using NFS. If defined
|
|
# the corresponding directory will only be created by the
|
|
# mount point task.
|
|
nova_mount_points: |-
|
|
{% set mps = [] %}
|
|
{% for mp in nova_nfs_client %}
|
|
{% set _ = mps.append(mp.local_path) %}
|
|
{% endfor %}
|
|
{{ mps }}
|
|
|
|
_nova_rootwrap_conf_overrides:
|
|
DEFAULT:
|
|
filters_path: "/etc/nova/rootwrap.d,/usr/share/nova/rootwrap"
|
|
exec_dirs: "{{ nova_bin }},/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin"
|
|
|
|
nova_core_files:
|
|
- tmp_f: "/tmp/api-paste.ini"
|
|
target_f: "/etc/nova/api-paste.ini"
|
|
config_overrides: "{{ nova_api_paste_ini_overrides }}"
|
|
config_type: "ini"
|
|
- tmp_f: "/tmp/rootwrap.conf"
|
|
target_f: "/etc/nova/rootwrap.conf"
|
|
config_overrides: "{{ _nova_rootwrap_conf_overrides | combine(nova_rootwrap_conf_overrides, recursive=True) }}"
|
|
config_type: "ini"
|
|
owner: "root"
|
|
group: "{{ nova_system_group_name }}"
|
|
mode: "0640"
|