--- # 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: Prepare cinder-volumes volume group hosts: localhost # This set of tasks runs against localhost # and requires root access, but tests run as # the user running the playbook (zuul). As # such, we use a local connection and become. connection: local become: yes tasks: - name: Install lvm2 package package: name: lvm2 - name: Create sparse Cinder file command: "truncate -s 10G /openstack/cinder.img" args: creates: /openstack/cinder.img register: cinder_create - name: Get a loopback device for cinder file command: losetup -f when: cinder_create is changed register: cinder_losetup - name: Create the loopback device command: "losetup {{ cinder_losetup.stdout }} /openstack/cinder.img" when: cinder_create is changed - name: Make LVM physical volume on the cinder device command: "{{ item }}" when: cinder_create is changed with_items: - "pvcreate {{ cinder_losetup.stdout }}" - "pvscan" - name: Add cinder-volumes volume group lvg: vg: cinder-volumes pvs: "{{ cinder_losetup.stdout }}" when: cinder_create is changed