--- # 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/python3" - 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: Register cephfs module path command: "{{ ceph_python_interp }} -c 'import cephfs; print(cephfs.__file__)'" changed_when: false failed_when: false register: cephfs_module_path - name: Register ceph_volume_client path command: "{{ ceph_python_interp }} -c 'import ceph_volume_client; print(ceph_volume_client.__file__)'" changed_when: false failed_when: false register: ceph_volume_client_module_path - name: Register ceph_argparse path command: "{{ ceph_python_interp }} -c 'import ceph_argparse; print(ceph_argparse.__file__)'" changed_when: false failed_when: false register: ceph_argparse_module_path - name: Link rados module into the venv file: src: "{{ rados_module_path.stdout | replace('.pyc', '.py') }}" dest: "{{ venv_python_lib_folder }}/site-packages/{{ rados_module_path.stdout | basename | replace('.pyc', '.py') }}" state: link force: "yes" notify: - Restart os services - name: Link rbd module into the venv file: src: "{{ rbd_module_path.stdout | replace('.pyc', '.py') }}" dest: "{{ venv_python_lib_folder }}/site-packages/{{ rbd_module_path.stdout | basename | replace('.pyc', '.py') }}" state: link force: "yes" notify: - Restart os services - name: Link cephfs module into the venv file: src: "{{ cephfs_module_path.stdout | replace('.pyc', '.py') }}" dest: "{{ venv_python_lib_folder }}//site-packages/{{ cephfs_module_path.stdout | basename | replace('.pyc', '.py') }}" state: link force: "yes" when: - cephfs_module_path.rc == 0 notify: - Restart os services - name: Link ceph_volume_client module into the venv file: src: "{{ ceph_volume_client_module_path.stdout | replace('.pyc', '.py') }}" dest: "{{ venv_python_lib_folder }}/site-packages/{{ ceph_volume_client_module_path.stdout | basename | replace('.pyc', '.py') }}" state: link force: "yes" when: - ceph_volume_client_module_path.rc == 0 notify: - Restart os services - name: Link ceph_argparse module into the venv file: src: "{{ ceph_argparse_module_path.stdout | replace('.pyc', '.py') }}" dest: "{{ venv_python_lib_folder }}/site-packages/{{ ceph_argparse_module_path.stdout | basename | replace('.pyc', '.py') }}" state: link force: "yes" when: - ceph_argparse_module_path.rc == 0 notify: - Restart os services