diff options
Diffstat (limited to 'deploy/adapters/ansible/roles/glance/tasks')
4 files changed, 119 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/roles/glance/tasks/glance_config.yml b/deploy/adapters/ansible/roles/glance/tasks/glance_config.yml new file mode 100644 index 00000000..008595dc --- /dev/null +++ b/deploy/adapters/ansible/roles/glance/tasks/glance_config.yml @@ -0,0 +1,33 @@ +--- +- name: init glance db version + shell: glance-manage db_version_control 0 + +- name: sync glance db + shell: sleep 15; su -s /bin/sh -c "glance-manage db_sync" glance + register: result + until: result.rc == 0 + retries: 5 + delay: 3 + notify: + - restart glance-registry + - restart glance-api + +- meta: flush_handlers + +- name: place image upload script + template: src=image_upload.sh dest=/opt/image_upload.sh mode=0744 + +- name: get image http server + shell: awk -F'=' '/compass_server/ {print $2}' /etc/compass.conf + register: http_server + +- name: download cirros image file + get_url: url="http://{{ http_server.stdout_lines[0] }}/image/{{ build_in_image_name }}" dest=/opt/{{ build_in_image_name }} + +- name: wait for 9292 port to become available + wait_for: host={{ image_host }} port=9292 delay=5 + +- name: run image upload + shell: for i in {0..5}; do /opt/image_upload.sh && touch image_upload_completed; if [ $? != 0 ] ;then sleep 5; else break;fi;done + args: + creates: image_upload_completed diff --git a/deploy/adapters/ansible/roles/glance/tasks/glance_install.yml b/deploy/adapters/ansible/roles/glance/tasks/glance_install.yml new file mode 100644 index 00000000..d9d15db3 --- /dev/null +++ b/deploy/adapters/ansible/roles/glance/tasks/glance_install.yml @@ -0,0 +1,24 @@ +--- +- include_vars: "{{ ansible_os_family }}.yml" + +- name: install glance packages + action: "{{ ansible_pkg_mgr }} name={{ item }} state=latest force=yes" + with_items: glance_packages + +- name: generate glance service list + shell: echo {{ item }} >> /opt/service + with_items: glance_services + +- name: update glance conf + template: src={{ item }} dest=/etc/glance/{{ item }} + backup=yes + with_items: + - glance-api.conf + - glance-registry.conf + notify: + - restart glance-registry + - restart glance-api + +- name: remove default sqlite db + shell: rm /var/lib/glance/glance.sqlite || touch glance.sqllite.db.removed + diff --git a/deploy/adapters/ansible/roles/glance/tasks/main.yml b/deploy/adapters/ansible/roles/glance/tasks/main.yml new file mode 100644 index 00000000..5d7db8e9 --- /dev/null +++ b/deploy/adapters/ansible/roles/glance/tasks/main.yml @@ -0,0 +1,20 @@ +--- +- include_vars: "{{ ansible_os_family }}.yml" + +- include: glance_install.yml + tags: + - install + - glance_install + - glance + +- include: nfs.yml + tags: + - nfs + +- include: glance_config.yml + when: HA_CLUSTER is not defined or HA_CLUSTER[inventory_hostname] == '' + tags: + - config + - glance_config + - glance + diff --git a/deploy/adapters/ansible/roles/glance/tasks/nfs.yml b/deploy/adapters/ansible/roles/glance/tasks/nfs.yml new file mode 100644 index 00000000..70ed91d5 --- /dev/null +++ b/deploy/adapters/ansible/roles/glance/tasks/nfs.yml @@ -0,0 +1,42 @@ +--- +- name: install packages + action: "{{ ansible_pkg_mgr }} name=nfs-common state=present" + with_items: nfs-packages + +- name: install nfs + local_action: yum name=nfs-utils state=present + run_once: True + +- name: create image directory + local_action: file path=/opt/images state=directory mode=0777 + run_once: True + +- name: update nfs config + local_action: lineinfile dest=/etc/exports state=present + regexp="/opt/images *(rw,insecure,sync,all_squash)" + line="/opt/images *(rw,insecure,sync,all_squash)" + run_once: True + +- name: restart nfs service + local_action: service name={{ item }} state=restarted enabled=yes + with_items: + - rpcbind + - nfs + run_once: True + +- name: get mount info + command: mount + register: mount_info + +- name: get nfs server + shell: awk -F'=' '/compass_server/ {print $2}' /etc/compass.conf + register: ip_info + +- name: mount image directory + shell: | + mount -t nfs -onfsvers=3 {{ ip_info.stdout_lines[0] }}:/opt/images /var/lib/glance/images + sed -i '/\/var\/lib\/glance\/images/d' /etc/fstab + echo {{ ip_info.stdout_lines[0] }}:/opt/images /var/lib/glance/images/ nfs nfsvers=3 >> /etc/fstab + when: mount_info.stdout.find('images') == -1 + retries: 5 + delay: 3 |