![Kevin Carter](/assets/img/avatar_default.png)
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>
108 lines
3.0 KiB
YAML
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
|