Merge "Only sync glance database on major versions"

This commit is contained in:
Jenkins 2017-06-26 21:54:33 +00:00 committed by Gerrit Code Review
commit 2d9a897c1f
2 changed files with 49 additions and 6 deletions

View File

@ -13,14 +13,43 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Perform a Glance DB sync
command: "{{ glance_bin }}/glance-manage db_sync"
- name: Check Glance DB version
command: "{{ glance_bin }}/glance-manage db version"
become: yes
become_user: "{{ glance_system_user_name }}"
register: db_version
changed_when: false
- name: Load glance metadata definitions
command: "{{ glance_bin }}/glance-manage db_load_metadefs {{ glance_etc_dir }}/metadefs"
# We only set to minor here if the version_compare filter passes, and we make
# sure that can't be accessed unless there's actually a '.' in the version.
# Passing in 'major' or 'testing' to version_compare causes a Jinja error.
- name: Determine whether a major or minor release was installed
set_fact:
upgrade_type: |-
{% set existing = glance_venv_tag %}
{% set upgrade_type = 'major' %}
{% if '.' in existing %}
{% set existing_major = existing.split('.')[0] %}
{% set venv_major = glance_venv_tag.split('.')[0] %}
{% if existing_major != venv_major %}
{% set upgrade_type = 'major' %}
{% elif existing | version_compare(glance_venv_tag, '!=', strict=True) %}
{% set upgrade_type = 'minor' %}
{% endif %}
{% endif %}
{{ upgrade_type }}
delegate_to: localhost
- name: Perform a Glance DB sync
command: "{{ glance_bin }}/glance-manage db sync"
changed_when: false
become: yes
become_user: "{{ glance_system_user_name }}"
when: upgrade_type == 'major' or db_version.stdout.startswith('Database is either not under migration control')
- name: Load glance metadata definitions
command: "{{ glance_bin }}/glance-manage db load_metadefs"
changed_when: false
become: yes
become_user: "{{ glance_system_user_name }}"
when: upgrade_type == 'major' or db_version.stdout.startswith('Database is either not under migration control')

View File

@ -33,6 +33,13 @@
tags:
- glance-install
- name: refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- glance-config
- include: glance_post_install.yml
tags:
- glance-config
@ -42,12 +49,19 @@
- glance-config
- include: glance_db_setup.yml
when: inventory_hostname == groups['glance_all'][0]
run_once: true
tags:
- glance-config
- include: glance_service_setup.yml
when: inventory_hostname == groups['glance_all'][0]
run_once: true
tags:
- glance-config
- name: refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- glance-config