Skip to content

Commit 54efe19

Browse files
committed
Refactor OVN database restore tasks using loop
Consolidate four separate tasks for restoring OVN NB/SB database backups (TLS and non-TLS variants) into a single task with a loop. This reduces code duplication by using conditional variables based on the loop item and enable_tlse flag. Assisted-By: Claude (claude-opus-4.5)
1 parent 319cc9b commit 54efe19

2 files changed

Lines changed: 20 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: 17 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -247,47 +247,23 @@
247247
oc exec ovn-copy-data -- bash -c "ovsdb-client get-schema --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.ovsschema && ovsdb-tool convert /backup/ovs-sb.db /backup/ovs-sb.ovsschema"
248248
when: enable_tlse|bool
249249

250-
- name: restore OVN database backups to podified ovsdb-servers
251-
when: enable_tlse|bool is false
252-
block:
253-
- name: restore OVN NB database backup to podified ovsdb-servers
254-
no_log: "{{ use_no_log }}"
255-
ansible.builtin.shell: |
256-
{{ shell_header }}
257-
{{ oc_header }}
258-
{{ ovn_copy_shell_vars }}
259-
260-
oc exec ovn-copy-data -- bash -c "ovsdb-client -v restore tcp:$PODIFIED_OVSDB_NB_IP:6641 < /backup/ovs-nb.db"
261-
262-
- name: restore OVN SB database backup to podified ovsdb-servers
263-
no_log: "{{ use_no_log }}"
264-
ansible.builtin.shell: |
265-
{{ shell_header }}
266-
{{ oc_header }}
267-
{{ ovn_copy_shell_vars }}
268-
269-
oc exec ovn-copy-data -- bash -c "ovsdb-client -v restore tcp:$PODIFIED_OVSDB_SB_IP:6642 < /backup/ovs-sb.db"
270-
271-
- name: restore OVN database backups to podified ovsdb-servers (tls)
272-
when: enable_tlse|bool
273-
block:
274-
- name: restore OVN NB database backup to podified ovsdb-servers (tls)
275-
no_log: "{{ use_no_log }}"
276-
ansible.builtin.shell: |
277-
{{ shell_header }}
278-
{{ oc_header }}
279-
{{ ovn_copy_shell_vars }}
280-
281-
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"
282-
283-
- name: restore OVN SB database backup to podified ovsdb-servers (tls)
284-
no_log: "{{ use_no_log }}"
285-
ansible.builtin.shell: |
286-
{{ shell_header }}
287-
{{ oc_header }}
288-
{{ ovn_copy_shell_vars }}
289-
290-
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"
250+
- name: restore OVN database backup to podified ovsdb-servers - {{ item }}
251+
vars:
252+
ovn_db_ip: "{{ 'PODIFIED_OVSDB_NB_IP' if item == 'nb' else 'PODIFIED_OVSDB_SB_IP' }}"
253+
ovn_db_port: "{{ '6641' if item == 'nb' else '6642' }}"
254+
ovn_db_file: "ovs-{{ item }}.db"
255+
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 '' }}"
256+
proto: "{{ 'ssl' if enable_tlse | bool else 'tcp' }}"
257+
no_log: "{{ use_no_log }}"
258+
ansible.builtin.shell: |
259+
{{ shell_header }}
260+
{{ oc_header }}
261+
{{ ovn_copy_shell_vars }}
262+
263+
oc exec ovn-copy-data -- bash -c "ovsdb-client -v restore {{ tls_opts }} {{ proto }}:${{ ovn_db_ip }}:{{ ovn_db_port }} < /backup/{{ ovn_db_file }}"
264+
loop:
265+
- nb
266+
- sb
291267

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

0 commit comments

Comments
 (0)