--- - hosts: localhost vars_files: - "/etc/openstack/cinder.conf" tasks: - name: Create the cinder user. user: name: cinder comment: Openstack Cinder Daemons shell: /sbin/nologin home: /var/lib/cinder - name: Create the /var folders for cinder file: path: "{{ item }}" state: directory owner: cinder group: cinder with_items: - /var/run/cinder - /var/lock/cinder - /var/log/cinder - /var/lib/cinder - /var/lib/cinder/volumer - name: Create /etc/cinder directory file: path: /etc/cinder state: directory - name: Add the configuration needed for cinder in /etc/cinder using templates template: src: /usr/share/openstack/cinder/{{ item }} dest: /etc/cinder/{{ item }} with_lines: - cd /usr/share/openstack/cinder && find -type f - name: Create cinder service user in service tenant keystone_user: user: "{{ CINDER_USER }}" password: "{{ CINDER_PASSWORD }}" tenant: service token: "{{ KEYSTONE_TEMPORARY_ADMIN_TOKEN }}" - name: Assign admin role to cinder service user in the service tenant keystone_user: role: admin user: "{{ CINDER_USER }}" tenant: service token: "{{ KEYSTONE_TEMPORARY_ADMIN_TOKEN }}" - name: Add cinder endpoint keystone_service: name: cinder type: volume description: Openstack Block Storage publicurl: 'http://{{ CONTROLLER_HOST_ADDRESS }}:8776/v1/%(tenant_id)s' internalurl: 'http://{{ CONTROLLER_HOST_ADDRESS }}:8776/v1/%(tenant_id)s' adminurl: 'http://{{ CONTROLLER_HOST_ADDRESS }}:8776/v1/%(tenant_id)s' region: regionOne token: "{{ KEYSTONE_TEMPORARY_ADMIN_TOKEN }}" - name: Add cinderv2 endpoint keystone_service: name: cinderv2 type: volumev2 description: Openstack Block Storage publicurl: 'http://{{ CONTROLLER_HOST_ADDRESS }}:8776/v2/%(tenant_id)s' internalurl: 'http://{{ CONTROLLER_HOST_ADDRESS }}:8776/v2/%(tenant_id)s' adminurl: 'http://{{ CONTROLLER_HOST_ADDRESS }}:8776/v2/%(tenant_id)s' region: regionOne token: "{{ KEYSTONE_TEMPORARY_ADMIN_TOKEN }}" - name: Create postgresql user for cinder postgresql_user: name: "{{ CINDER_DB_USER }}" sudo: yes sudo_user: cinder - name: Create database for cinder services postgresql_db: name: cinder owner: "{{ CINDER_DB_USER }}" sudo: yes sudo_user: cinder - name: Initiate cinder database cinder_manage: action: dbsync sudo: yes sudo_user: cinder - name: Enable and start openstack-cinder services service: name: "{{ item }}" enabled: yes state: started with_items: - openstack-cinder-api - openstack-cinder-scheduler - openstack-cinder-volume - openstack-cinder-backup - lvg: vg: cinder-volumes pvs: "{{ CINDER_DEVICE }}"