« A portée de main, toutes les informations sur mon parcours. »


BTS Services Informatiques aux Organisations, un parcours passionnant au cœur des technologies et de l’innovation.

handler.yml

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