Probando la configuración personalizada
Ahora que tenemos nuestra configuración personalizada lista, creemos un playbook simple para probarla. Esto nos ayudará a entender cómo los cambios en nuestra configuración afectan el comportamiento de Ansible.
Crea un nuevo archivo llamado test_config.yml en el directorio /home/labex/project:
nano /home/labex/project/test_config.yml
Actualiza el contenido como se muestra a continuación:
---
- name: Test Custom Configuration
hosts: all
tasks:
- name: Display remote user
debug:
msg: "Connected as user: {{ ansible_user }}"
- name: Display privilege escalation info
debug:
msg: "Privilege escalation is {{ 'enabled' if ansible_become | default(false) else 'disabled' }}"
- name: Show Ansible configuration
debug:
msg: "Inventory file: {{ lookup('config', 'DEFAULT_HOST_LIST') }}"
- name: Check if become is enabled in ansible.cfg
command: grep "become = True" /home/labex/project/ansible.cfg
register: become_check
changed_when: false
failed_when: false
- name: Display become setting from ansible.cfg
debug:
msg: "Become is {{ 'enabled' if become_check.rc == 0 else 'disabled' }} in ansible.cfg"
Este playbook actualizado realiza los siguientes cambios:
- Hemos agregado un valor predeterminado para
ansible_become para evitar el error de variable no definida.
- Hemos agregado dos nuevas tareas que verifican directamente el archivo
ansible.cfg para la configuración de become, lo que proporciona una representación más precisa de tu configuración.
Ahora, ejecutemos el playbook actualizado:
ansible-playbook /home/labex/project/test_config.yml
Esto debería ejecutarse sin errores y proporcionarte información sobre tu configuración de Ansible.
Además, abordemos la advertencia de desaprobación actualizando nuestro archivo ansible.cfg:
nano /home/labex/project/ansible.cfg
Agrega la siguiente línea bajo la sección [defaults]:
interpreter_python = /usr/bin/python3
Tu archivo ansible.cfg ahora debería verse algo así:
[defaults]
inventory = /home/labex/project/inventory
remote_user = labex
host_key_checking = False
stdout_callback = yaml
interpreter_python = /usr/bin/python3
[privilege_escalation]
become = True
become_method = sudo
become_user = root
become_ask_pass = False
Guarda y sale del editor.
Ahora, cuando vuelvas a ejecutar el playbook:
ansible-playbook /home/labex/project/test_config.yml
Deberías ver la salida sin la advertencia de desaprobación, y debería mostrar correctamente tus configuraciones.