Add memcache flushing handler on db migrations
Flushing cache when schema changes occur to avoid drift between what might be cached and what keystone queries expect. Change-Id: Ibf8f3dd60d6f3c446a14dc8228fa005f12fcc840 Closes-Bug: 1793389
This commit is contained in:
parent
1d05548513
commit
afc0e5b1ce
@ -164,6 +164,17 @@
|
|||||||
retries: 5
|
retries: 5
|
||||||
delay: 2
|
delay: 2
|
||||||
|
|
||||||
|
- name: Flush all of the cache in memcached
|
||||||
|
vars:
|
||||||
|
nc_command:
|
||||||
|
debian: nc -q 1 $(awk '/^\-l/ {print $2}' "/etc/memcached.conf" | awk -F, '{print $1}') $(awk '/^\-p/ {print $2}' "/etc/memcached.conf")
|
||||||
|
redhat: nc $(awk -F '-l' '/^OPTIONS/ {print $2}' "/etc/sysconfig/memcached" | awk -F ',' '{gsub(/"/, "", $1); print $1}' | awk -F '-' '{print $1}') 11211
|
||||||
|
suse: nc -w 1 $(awk -F '-l' '/^MEMCACHED_PARAMS/ {print $2}' "/etc/sysconfig/memcached" | awk -F ',' '{gsub(/"/, "", $1); print $1}' | awk -F '-' '{print $1}') 11211
|
||||||
|
shell: "echo 'flush_all' | {{ nc_command.get(ansible_os_family | lower) }}"
|
||||||
|
delegate_to: "{{ item }}"
|
||||||
|
with_items: "{{ groups.memcached_all }}"
|
||||||
|
listen: flush cache
|
||||||
|
|
||||||
- meta: noop
|
- meta: noop
|
||||||
listen: Manage LB
|
listen: Manage LB
|
||||||
when: false
|
when: false
|
||||||
|
@ -102,6 +102,7 @@
|
|||||||
when:
|
when:
|
||||||
- "ansible_local['openstack_ansible']['keystone']['need_db_expand'] | bool"
|
- "ansible_local['openstack_ansible']['keystone']['need_db_expand'] | bool"
|
||||||
run_once: yes
|
run_once: yes
|
||||||
|
notify: flush cache
|
||||||
|
|
||||||
- name: Perform a Keystone DB sync migrate
|
- name: Perform a Keystone DB sync migrate
|
||||||
command: "{{ keystone_bin }}/keystone-manage db_sync --migrate"
|
command: "{{ keystone_bin }}/keystone-manage db_sync --migrate"
|
||||||
@ -110,6 +111,7 @@
|
|||||||
when:
|
when:
|
||||||
- "ansible_local['openstack_ansible']['keystone']['need_db_migrate'] | bool"
|
- "ansible_local['openstack_ansible']['keystone']['need_db_migrate'] | bool"
|
||||||
run_once: yes
|
run_once: yes
|
||||||
|
notify: flush cache
|
||||||
|
|
||||||
- name: Perform a Keystone DB sync contract
|
- name: Perform a Keystone DB sync contract
|
||||||
command: "{{ keystone_bin }}/keystone-manage db_sync --contract"
|
command: "{{ keystone_bin }}/keystone-manage db_sync --contract"
|
||||||
@ -119,3 +121,4 @@
|
|||||||
- "(keystone_all_software_updated | default('no')) | bool"
|
- "(keystone_all_software_updated | default('no')) | bool"
|
||||||
- "ansible_local['openstack_ansible']['keystone']['need_db_contract'] | bool"
|
- "ansible_local['openstack_ansible']['keystone']['need_db_contract'] | bool"
|
||||||
run_once: yes
|
run_once: yes
|
||||||
|
notify: flush cache
|
||||||
|
Loading…
Reference in New Issue
Block a user