diff --git a/glance.yml b/glance.yml new file mode 100644 index 0000000..a344321 --- /dev/null +++ b/glance.yml @@ -0,0 +1,5 @@ +--- +- hosts: glance + become: True + roles: + - glance diff --git a/roles/glance/tasks/main.yml b/roles/glance/tasks/main.yml new file mode 100644 index 0000000..3183fe3 --- /dev/null +++ b/roles/glance/tasks/main.yml @@ -0,0 +1,42 @@ +# Build and install a docker image for glance. +--- +- include: ../common/tasks/docker.yml + +- name: Make build and persistent directories + file: + path: "{{ item }}" + state: directory + mode: 0777 + with_items: + - /srv/glance + +## Todo: remove this when we have a docker repo +#- name: clone docker-glance repo +# git: +# accept_hostkey: True +# repo: ssh://git@git.webhosting.rug.nl:222/P256174/docker-glance.git +# dest: /srv/glance + +- name: build glance image + docker_image: + path: /srv/glance + name: hpc/openstack-glance + +- name: install service file. + template: + src: templates/glance.service + dest: /etc/systemd/system/glance.service + mode: 644 + owner: root + group: root + +- command: systemctl daemon-reload + +- name: Initialize database. + command: docke run --rm hpc/openstack-glance /etc/bootstrap.sh + tags: bootstrap + +- name: make sure service is started + systemd: + name: glance.service + state: restarted diff --git a/roles/glance/templates/glance.service b/roles/glance/templates/glance.service new file mode 100644 index 0000000..1f2c0a4 --- /dev/null +++ b/roles/glance/templates/glance.service @@ -0,0 +1,17 @@ +[Unit] +Description=Openstack Glance Container +After=docker.service +Requires=docker.service + +[Service] +TimeoutStartSec=0 +Restart=always +ExecStartPre=-/usr/bin/docker stop %n +ExecStartPre=-/usr/bin/docker rm %n +ExecStart=/usr/bin/docker run --name %n \ + --add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }} \ + -p 9292:9292 \ + hpc/openstack-glance + +[Install] +WantedBy=multi-user.target