Skip to content

Commit a8ddcba

Browse files
Merge pull request #1207 from eduolivares/retry-ovn-restore
Add retries when OVN DBs are restored
2 parents 6eaf179 + 9353909 commit a8ddcba

2 files changed

Lines changed: 24 additions & 41 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,6 @@
2020
*.swp
2121
*.swo
2222
*~
23+
24+
# CLAUDE
25+
CLAUDE.md

tests/roles/ovn_adoption/tasks/main.yaml

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -249,47 +249,27 @@
249249
--certificate=/etc/pki/tls/misc/tls.crt ssl:$PODIFIED_OVSDB_SB_IP:6642 > /backup/ovs-sb.ovsschema && ovsdb-tool convert /backup/ovs-sb.db /backup/ovs-sb.ovsschema"
250250
when: enable_tlse|bool
251251

252-
- name: restore OVN database backups to podified ovsdb-servers
253-
when: enable_tlse|bool is false
254-
block:
255-
- name: restore OVN NB database backup to podified ovsdb-servers
256-
no_log: "{{ use_no_log }}"
257-
ansible.builtin.shell: |
258-
{{ shell_header }}
259-
{{ oc_header }}
260-
{{ ovn_copy_shell_vars }}
261-
262-
oc exec ovn-copy-data -- bash -c "ovsdb-client -v restore tcp:$PODIFIED_OVSDB_NB_IP:6641 < /backup/ovs-nb.db"
263-
264-
- name: restore OVN SB database backup to podified ovsdb-servers
265-
no_log: "{{ use_no_log }}"
266-
ansible.builtin.shell: |
267-
{{ shell_header }}
268-
{{ oc_header }}
269-
{{ ovn_copy_shell_vars }}
270-
271-
oc exec ovn-copy-data -- bash -c "ovsdb-client -v restore tcp:$PODIFIED_OVSDB_SB_IP:6642 < /backup/ovs-sb.db"
272-
273-
- name: restore OVN database backups to podified ovsdb-servers (tls)
274-
when: enable_tlse|bool
275-
block:
276-
- name: restore OVN NB database backup to podified ovsdb-servers (tls)
277-
no_log: "{{ use_no_log }}"
278-
ansible.builtin.shell: |
279-
{{ shell_header }}
280-
{{ oc_header }}
281-
{{ ovn_copy_shell_vars }}
282-
283-
oc exec ovn-copy-data -- bash -c "ovsdb-client -v restore --ca-cert=/etc/pki/tls/misc/ca.crt --private-key=/etc/pki/tls/misc/tls.key --certificate=/etc/pki/tls/misc/tls.crt ssl:$PODIFIED_OVSDB_NB_IP:6641 < /backup/ovs-nb.db"
284-
285-
- name: restore OVN SB database backup to podified ovsdb-servers (tls)
286-
no_log: "{{ use_no_log }}"
287-
ansible.builtin.shell: |
288-
{{ shell_header }}
289-
{{ oc_header }}
290-
{{ ovn_copy_shell_vars }}
291-
292-
oc exec ovn-copy-data -- bash -c "ovsdb-client -v restore --ca-cert=/etc/pki/tls/misc/ca.crt --private-key=/etc/pki/tls/misc/tls.key --certificate=/etc/pki/tls/misc/tls.crt ssl:$PODIFIED_OVSDB_SB_IP:6642 < /backup/ovs-sb.db"
252+
- name: restore OVN database backup to podified ovsdb-servers - {{ item }}
253+
vars:
254+
ovn_db_ip: "{{ 'PODIFIED_OVSDB_NB_IP' if item == 'nb' else 'PODIFIED_OVSDB_SB_IP' }}"
255+
ovn_db_port: "{{ '6641' if item == 'nb' else '6642' }}"
256+
ovn_db_file: "ovs-{{ item }}.db"
257+
tls_opts: "{{ '--ca-cert=/etc/pki/tls/misc/ca.crt --private-key=/etc/pki/tls/misc/tls.key --certificate=/etc/pki/tls/misc/tls.crt' if enable_tlse | bool else '' }}"
258+
proto: "{{ 'ssl' if enable_tlse | bool else 'tcp' }}"
259+
no_log: "{{ use_no_log }}"
260+
ansible.builtin.shell: |
261+
{{ shell_header }}
262+
{{ oc_header }}
263+
{{ ovn_copy_shell_vars }}
264+
265+
oc exec ovn-copy-data -- bash -c "ovsdb-client -v restore {{ tls_opts }} {{ proto }}:${{ ovn_db_ip }}:{{ ovn_db_port }} < /backup/{{ ovn_db_file }}"
266+
register: podified_ovn_db_restore
267+
until: podified_ovn_db_restore is success
268+
retries: 5
269+
delay: "{{ ovn_retry_delay }}"
270+
loop:
271+
- nb
272+
- sb
293273

294274
- name: deploy podified OVN northd service to keep databases in sync
295275
ansible.builtin.shell: |

0 commit comments

Comments
 (0)