
python3-cinder is dependent on python3-zstd which requires to have libzstd(x86-64) >= 1.5.5 present. Older python3-zstd can be installed from EPEL, but this needs EPEL repo to be present on the host. As we are adding code for handling extra repos for Cinder - I made it more universal, to handle not only EPEL, but any arbitrary repo in more clear way. This might be helpful as well in case of adding some 3rd party storage requirements. Change-Id: I3039e84740da9c3684293b8e76792659136abf79
94 lines
3.2 KiB
YAML
94 lines
3.2 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: Record the installation method
|
|
community.general.ini_file:
|
|
dest: "/etc/ansible/facts.d/openstack_ansible.fact"
|
|
section: "cinder"
|
|
option: "install_method"
|
|
value: "{{ cinder_install_method }}"
|
|
mode: "0644"
|
|
|
|
- name: Refresh local facts to ensure the cinder section is present
|
|
ansible.builtin.setup:
|
|
filter: ansible_local
|
|
gather_subset: "!all"
|
|
|
|
- name: Include cinder_install_distro tasks
|
|
ansible.builtin.include_tasks: cinder_install_distro.yml
|
|
when:
|
|
- cinder_extra_repos or cinder_extra_gpg_keys
|
|
|
|
- name: Install distro packages
|
|
ansible.builtin.package:
|
|
name: "{{ cinder_package_list }}"
|
|
state: "{{ cinder_package_state }}"
|
|
update_cache: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('yes', omit) }}"
|
|
cache_valid_time: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary(cache_timeout, omit) }}"
|
|
register: install_packages
|
|
until: install_packages is success
|
|
retries: 5
|
|
delay: 2
|
|
notify:
|
|
- "Restart cinder services"
|
|
|
|
- name: Install cinder packages from PIP
|
|
ansible.builtin.import_tasks: cinder_install_source.yml
|
|
when: cinder_install_method == 'source'
|
|
|
|
- name: Run the systemd service role
|
|
ansible.builtin.import_role:
|
|
name: systemd_service
|
|
vars:
|
|
systemd_user_name: "{{ cinder_system_user_name }}"
|
|
systemd_group_name: "{{ cinder_system_group_name }}"
|
|
systemd_tempd_prefix: openstack
|
|
systemd_slice_name: "{{ cinder_system_slice_name }}"
|
|
systemd_lock_dir: "{{ cinder_lock_dir }}"
|
|
systemd_service_cpu_accounting: true
|
|
systemd_service_block_io_accounting: true
|
|
systemd_service_memory_accounting: true
|
|
systemd_service_tasks_accounting: true
|
|
systemd_services: "{{ filtered_cinder_services }}"
|
|
tags:
|
|
- cinder-config
|
|
- systemd-service
|
|
|
|
- name: Record local facts for distro path
|
|
when: cinder_install_method == 'distro'
|
|
block:
|
|
- name: Record the osa version deployed
|
|
community.general.ini_file:
|
|
dest: "/etc/ansible/facts.d/openstack_ansible.fact"
|
|
section: cinder
|
|
option: venv_tag
|
|
value: "{{ cinder_venv_tag }}"
|
|
mode: "0644"
|
|
|
|
- name: Set the upgrade facts
|
|
community.general.ini_file:
|
|
dest: "/etc/ansible/facts.d/openstack_ansible.fact"
|
|
section: cinder
|
|
option: "{{ item }}"
|
|
value: true
|
|
mode: "0644"
|
|
with_items:
|
|
- "need_online_data_migrations"
|
|
- "need_service_restart"
|
|
when:
|
|
- (install_packages is changed) or
|
|
('need_online_data_migrations' not in ansible_local['openstack_ansible']['cinder']) or
|
|
('need_service_restart' not in ansible_local['openstack_ansible']['cinder'])
|