# Build and install a docker image for cinder. --- - name: include secrets include_vars: file: ../../secrets.yml name: secrets - set_fact: docker_image: webhost12.service.rug.nl/hpc/openstack-cinder-controller:latest env_vars: > -e "MY_IP={{ ansible_default_ipv4.address }}" -e "CINDER_HOST={{ hostvars[groups['cinder-controller'][0]]['ansible_default_ipv4']['address'] }}" -e "CINDER_PASSWORD={{ secrets['CINDER_PASSWORD'] }}" -e "CINDER_USER=cinder" -e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" -e "MYSQL_HOST={{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}" -e "MYSQL_ROOT_PASSWORD={{ secrets['MYSQL_ROOT_PASSWORD'] }}" -e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}" -e "RABBIT_HOST={{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}" -e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}" -e "RABBIT_USER=openstack" - name: pull docker image docker_image: name: "{{ docker_image }}" tags: pull - name: Make build and persistent directories file: path: "{{ item }}" state: directory mode: 0777 with_items: - /srv/cinder-controller - /srv/cinder-controller/root - name: install service file. template: src: templates/cinder-controller.service dest: /etc/systemd/system/cinder-controller.service mode: 644 owner: root group: root - command: systemctl daemon-reload - name: Initialize database. command: > /usr/bin/docker run --rm {{ env_vars }} -v /srv/cinder-controller/root:/root \ {{ docker_image }} /etc/bootstrap.sh tags: bootstrap - name: make sure service is started systemd: name: cinder-controller.service state: restarted