Verificar la integridad del archivo con el resumen de comprobación
En este paso, utilizarás el módulo get_url de Ansible para verificar la integridad del archivo descargado utilizando un resumen de comprobación.
Primero, modifica el archivo de playbook existente eliminando todo el contenido y agregando el siguiente contenido al archivo de playbook:
- hosts: localhost
tasks:
- name: Descargar un archivo y verificar el resumen de comprobación
get_url:
url: "https://releases.ansible.com/ansible/ansible-2.9.25.tar.gz"
dest: "/tmp/ansible-2.9.25-2.tar.gz"
checksum: "sha256:https://releases.ansible.com/ansible/ansible-2.9.25.tar.gz.sha"
get_url
: Este es un módulo en Ansible utilizado para descargar archivos desde Internet.
url
: Este parámetro especifica la URL desde la que se descargará el archivo. En este caso, está descargando la versión 2.9.25 de Ansible
desde las versiones oficiales de Ansible.
dest
: Este parámetro especifica la ruta de destino en el host destino donde se guardará el archivo descargado. En este caso, está guardando el archivo en /tmp/ansible-2.9.25-2.tar.gz
.
checksum
: Este parámetro se utiliza para especificar el resumen de comprobación del archivo que se está descargando, junto con su tipo. En este caso, está configurado como sha256:https://releases.ansible.com/ansible/ansible-2.9.25.tar.gz.sha
, lo que indica que Ansible debe verificar el resumen de comprobación SHA256
del archivo descargado con el resumen de comprobación proporcionado en la URL especificada. Esto garantiza la integridad del archivo descargado.
En resumen, este playbook descargará el archivo comprimido de la versión 2.9.25 de Ansible desde la URL especificada, lo guardará como ansible-2.9.25-2.tar.gz
en el directorio /tmp
del host local y verificará su integridad comparando su resumen de comprobación SHA256
con el resumen de comprobación proporcionado en la URL especificada.
Luego, ejecuta el playbook con el siguiente comando:
ansible-playbook get_url-module-playbook.yaml
Observa la salida para ver si el archivo se ha descargado y guardado correctamente en el host remoto, y comprueba si la verificación del resumen de comprobación tuvo éxito.
Salida de ejemplo:
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
PLAY [localhost] ***************************************************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [Download a file and verify checksum] *************************************
changed: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Verifica que el archivo se haya descargado y guardado correctamente en el host remoto.
ll /tmp/ansible-2.9.25-2.tar.gz
Salida de ejemplo:
-rw-rw-r-- 1 labex labex 14M Mar 15 13:31 /tmp/ansible-2.9.25-2.tar.gz