--- # Copyright 2015, 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: Create sparse Cinder file command: "truncate -s {{ bootstrap_host_loopback_cinder_size }}G /openstack/cinder.img" args: creates: /openstack/cinder.img register: cinder_create tags: - cinder-file-create - name: Run the systemd service role include_role: name: systemd_service vars: systemd_services: - service_name: "loop-cinder" config_overrides: Unit: Description: no After: systemd-udev-settle.service Before: lvm2-activation-early.service Wants: systemd-udev-settle.service Service: RemainAfterExit: yes service_type: oneshot execstarts: - /bin/bash -c "/sbin/losetup $(/sbin/losetup -f) /openstack/cinder.img" - /sbin/pvscan execstops: - /bin/bash -c "losetup -d $(losetup -l | awk '/cinder.img/ {print $1}')" enabled: yes state: started systemd_tempd_prefix: openstack tags: - cinder-config - name: Get loopback device shell: "losetup -l | awk '/cinder.img/ {print $1}'" changed_when: false register: cinder_losetup tags: - skip_ansible_lint - name: Make LVM physical volume on the cinder device shell: "pvcreate {{ cinder_losetup.stdout }} && touch /openstack/cinder.pvcreate" args: creates: "/openstack/cinder.pvcreate" tags: - skip_ansible_lint - cinder-lvm-pv - name: Run pvscan command: "pvscan" changed_when: false tags: - cinder-lvm-pv - name: Add cinder-volumes volume group lvg: vg: cinder-volumes pvs: "{{ cinder_losetup.stdout }}" tags: - cinder-lvm-vg