Contenu du handler : tâches nécessaires à la mise à jour sécurisée des switch Cisco IOS
- name: Vérification de la version IOS cisco.ios.ios_facts: gather_subset: min register: ios_version- name: Fin du playbook si déjà à jour ansible.builtin.meta: end_play when: ios_version.ansible_facts.ansible_net_version == "15.2(7)E13"- name: Debug version IOS ansible.builtin.debug: var: ios_version.ansible_facts.ansible_net_version- name: Copie TFTP du firmware - SCP sever pull ansible.netcommon.net_put: src: firmwares_IOS_15.2_7_E13/{{ firmware_image_name }} protocol: scp dest: flash:{{ firmware_image_name }}- name: Vérification checksum cisco.ios.ios_command: commands: - verify /md5 flash:{{ firmware_image_name }} register: md5_verification ignore_errors: true- name: Extraction du checksum ansible.builtin.set_fact: firmware_md5_current: >- {{ (md5_verification.stdout[0] | regex_search('[a-fA-F0-9]{32}')) }}- name: Vérification du checksum ansible.builtin.fail: msg: > Firmware corrompu sur {{ ansible_net_model }} Attendu: {{ firmware_checksum }} Trouvé: {{ firmware_md5_current }} failed_when: firmware_md5_current != firmware_checksum- name: Configurer le boot system cisco.ios.ios_config: lines: - no boot system - boot system flash:{{ firmware_image_name }}- name: Sauvegarder la configuration cisco.ios.ios_command: commands: - write memory