7f69cdd1df
Remove all tasks and variables related to toggling between installation of nova inside or outside of a Python virtual environment. Installing within a venv is now the only supported deployment. Additionally, a few changes have been made to make the creation of the venv more resistant to interruptions during a run of the role. * unarchiving a pre-built venv will now also occur when the venv directory is created, not only after being downloaded * virtualenv-tools is run against both pre-built and non pre-built venvs to account for interruptions during or prior to unarchiving Change-Id: Ia8687d49803705702f0e9f7ea9a83d3c05694d46 Implements: blueprint only-install-venvs
88 lines
3.0 KiB
YAML
88 lines
3.0 KiB
YAML
---
|
|
# Copyright 2014, 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.
|
|
|
|
# NOTE(cloudnull) this task is not in dict formation because it is
|
|
# dynamically loading facts from the nova_virt_types based on the
|
|
# nova_virt_type setting.
|
|
- name: Set nova config facts
|
|
set_fact: '{{ item.key }}="{{ item.value }}"'
|
|
with_dict: "{{ nova_virt_types[nova_virt_type] }}"
|
|
when:
|
|
- item.key not in hostvars[inventory_hostname] or item.key is undefined
|
|
tags:
|
|
- nova-config
|
|
- nova-post-install
|
|
|
|
- name: Generate nova config
|
|
config_template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: "{{ item.owner|default(nova_system_user_name) }}"
|
|
group: "{{ item.group|default(nova_system_group_name) }}"
|
|
mode: "0644"
|
|
config_overrides: "{{ item.config_overrides }}"
|
|
config_type: "{{ item.config_type }}"
|
|
with_items:
|
|
- src: "nova.conf.j2"
|
|
dest: "/etc/nova/nova.conf"
|
|
config_overrides: "{{ nova_nova_conf_overrides }}"
|
|
config_type: "ini"
|
|
- src: "rootwrap.conf.j2"
|
|
dest: "/etc/nova/rootwrap.conf"
|
|
owner: "root"
|
|
group: "root"
|
|
config_overrides: "{{ nova_rootwrap_conf_overrides }}"
|
|
config_type: "ini"
|
|
- src: "api-paste.ini.j2"
|
|
dest: "/etc/nova/api-paste.ini"
|
|
config_overrides: "{{ nova_api_paste_ini_overrides }}"
|
|
config_type: "ini"
|
|
- src: "policy.json.j2"
|
|
dest: "/etc/nova/policy.json"
|
|
config_overrides: "{{ nova_policy_overrides }}"
|
|
config_type: "json"
|
|
notify: Restart nova services
|
|
tags:
|
|
- nova-config
|
|
- nova-post-install
|
|
|
|
- name: Copy nova rootwrap filter config
|
|
copy:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: "root"
|
|
group: "root"
|
|
with_items:
|
|
- { src: "rootwrap.d/api-metadata.filters", dest: "/etc/nova/rootwrap.d/api-metadata.filters" }
|
|
- { src: "rootwrap.d/baremetal-compute-ipmi.filters", dest: "/etc/nova/rootwrap.d/baremetal-compute-ipmi.filters" }
|
|
- { src: "rootwrap.d/baremetal-deploy-helper.filters", dest: "/etc/nova/rootwrap.d/baremetal-deploy-helper.filters" }
|
|
- { src: "rootwrap.d/compute.filters", dest: "/etc/nova/rootwrap.d/compute.filters" }
|
|
- { src: "rootwrap.d/network.filters", dest: "/etc/nova/rootwrap.d/network.filters" }
|
|
notify: Restart nova services
|
|
tags:
|
|
- nova-config
|
|
- nova-post-install
|
|
|
|
- name: Drop sudoers file
|
|
template:
|
|
src: "sudoers.j2"
|
|
dest: "/etc/sudoers.d/{{ nova_system_user_name }}_sudoers"
|
|
mode: "0440"
|
|
owner: "root"
|
|
group: "root"
|
|
tags:
|
|
- sudoers
|
|
- nova-sudoers
|