Probar 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.