Skip to content

Backup Brocade FOS configuration & IBM configuration devices with Ansible

This outlines the primary commands to back up the devices; however, the Ansible tasks for local data persistence and file generation are omitted.

Brocade FOS

To backup Brocade FOS :

    - name: "Define context depending on brocade name"
      set_fact:
        contexts: "{{ [20, 40] if (inventory_hostname is search('brocade.*dc2')) else ([10, 30] if (inventory_hostname is search('brocade.*dc1')) else [1]) }}"
    - name: "Run switchshow on brocade"
      shell: "sshpass -p '{{ ansible_ssh_pass }}' ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no {{ ansible_user }}@{{ inventory_hostname }} switchshow"
      register: running_switch_cfg
      delegate_to: localhost

    - name: "Run cfgshow on brocade with all contexts"
      shell: |
        sshpass -p '{{ ansible_ssh_pass }}' ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no {{ ansible_user }}@{{ inventory_hostname }} << EOF
        setcontext {{ item }}
        cfgshow
        exit
        EOF
      register: running_zone_cfg
      loop: "{{ contexts }}"
      delegate_to: localhost

IBM storage

To backup IBM storage :

    - name: "Trigger the configuration backup (svcconfig backup)"
      shell: "sshpass -p '{{ ansible_ssh_pass }}' ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no {{ ansible_user }}@{{ inventory_hostname }} 'svcconfig backup'"
      register: backup_output
      delegate_to: localhost

    - name: "Collect backup files from FlashSystem via SCP"
      shell: "sshpass -p '{{ ansible_ssh_pass }}' scp -o StrictHostKeyChecking=no {{ ansible_user }}@{{ inventory_hostname }}:{{ backup_svc }}/svc.config.backup.*  {{ backup_folder }}/{{ inventory_hostname }}/"
      register: scp_output
      delegate_to: localhost

SANnav

SANnav can create a daily backup. Do not forget to push this backup outside SANnav.