openstack-ansible-os_cinder/tasks/cinder_post_install.yml
Kevin Carter 0c6e5fb911 Modified apt install and lvm volume specific tasks
The change updates the cinder role to isolate the packages
being installed when using the LVM volume driver. Currently
the tgt and other packages are being installed everywhere as
well as setting up specific LVM config in all locations. This
can and will cause issues when the role is executed on metal
or in various other scenarios on top of the fact that the
installation and maintenance of the extra packages is a burden
that we no longer need to carry. To resolve this, the pattern for
multi-distro support was added to the package install process and
conditionals were added to the specific LVM volume type tasks.

Change-Id: I85568e5680812c37fbf4aa4a21419127f8cee8d9
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-03-17 01:16:04 -05:00

108 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.
- name: Copy cinder configs
config_template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ item.owner|default(cinder_system_user_name) }}"
group: "{{ item.group|default(cinder_system_group_name) }}"
mode: "0644"
config_overrides: "{{ item.config_overrides }}"
config_type: "{{ item.config_type }}"
with_items:
- src: "cinder.conf.j2"
dest: "/etc/cinder/cinder.conf"
config_overrides: "{{ cinder_cinder_conf_overrides }}"
config_type: "ini"
- src: "api-paste.ini.j2"
dest: "/etc/cinder/api-paste.ini"
config_overrides: "{{ cinder_api_paste_ini_overrides }}"
config_type: "ini"
- src: "rootwrap.conf.j2"
dest: "/etc/cinder/rootwrap.conf"
owner: "root"
group: "root"
config_overrides: "{{ cinder_rootwrap_conf_overrides }}"
config_type: "ini"
- src: "policy.json.j2"
dest: "/etc/cinder/policy.json"
config_overrides: "{{ cinder_policy_overrides }}"
config_type: "json"
notify:
- Restart cinder services
tags:
- cinder-config
- name: Drop cinder configs
copy:
src: "rootwrap.d/volume.filters"
dest: "/etc/cinder/rootwrap.d/volume.filters"
owner: "root"
group: "root"
notify:
- Restart cinder services
tags:
- cinder-config
- name: Ensure cinder tgt include
lineinfile:
dest: /etc/tgt/targets.conf
line: "include /var/lib/cinder/volumes/*"
state: present
notify: Ensure tgt service restarted
when:
- inventory_hostname in groups['cinder_volume']
- cinder_backend_lvm_inuse | bool
tags:
- cinder-tgt
- name: Create nfs shares export file
template:
src: nfs_shares.j2
dest: "{{ cinder_nfs_client.nfs_shares_config }}"
when:
- cinder_nfs_client is defined
- inventory_hostname in groups['cinder_volume']
tags:
- cinder-nfs
- name: Get cinder command path
command: which cinder
register: cinder_command_path
when:
- not cinder_venv_enabled | bool
tags:
- cinder-command-bin
- name: Set cinder command path
set_fact:
cinder_bin: "{{ cinder_command_path.stdout | dirname }}"
when:
- not cinder_venv_enabled | bool
tags:
- cinder-command-bin
- name: Drop sudoers file
template:
src: "sudoers.j2"
dest: "/etc/sudoers.d/{{ cinder_system_user_name }}_sudoers"
mode: "0440"
owner: "root"
group: "root"
tags:
- sudoers
- cinder-sudoers