openstack-ansible-ceph_client/tasks/ceph_install_python_libs.yml

56 lines
1.8 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: Find the venv's python version
find:
paths: "{{ openstack_service_venv_bin | dirname }}/lib/"
patterns: "python*"
file_type: directory
recurse: no
register: python_venv_details
- name: Set python venvs details
set_fact:
venv_python_lib_folder: "{{ python_venv_details.files[0].path }}"
ceph_python_interp: "/usr/bin/{{ ((python_venv_details.files[0].path | basename)[:-2] == 'python3') | ternary('python3', 'python') }}"
- name: Register rados module path
command: "{{ ceph_python_interp }} -c 'import rados; print(rados.__file__)'"
changed_when: false
register: rados_module_path
- name: Register rbd module path
command: "{{ ceph_python_interp }} -c 'import rbd; print(rbd.__file__)'"
changed_when: false
register: rbd_module_path
- name: Link rados module into the venv
file:
src: "{{ rados_module_path.stdout }}"
dest: "{{ venv_python_lib_folder }}/site-packages/{{ rados_module_path.stdout | basename }}"
state: link
force: "yes"
notify:
- Restart os services
- name: Link rbd module into the venv
file:
src: "{{ rbd_module_path.stdout }}"
dest: "{{ venv_python_lib_folder }}/site-packages/{{ rbd_module_path.stdout | basename }}"
state: link
force: "yes"
notify:
- Restart os services