Articles of ansible

Ansible escribir variables en el archivo YAML

Tengo una estructura de variable ansible específica que deseo obtener de la bóveda en un archivo yaml en mis hosts. Asummos una estructura como esta: secrets: psp1: username: this password: that secret_key: 123 … Necesito algo como una plantilla “genérica” ​​para mostrar lo que contengan los “secretos” en este momento, ya que el contenido cambia […]

Python (Jinja2) variable dentro de una variable

Estoy intentando iterar sobre un diccionario en una plantilla Jinja2 (en Ansible). Una de las matrices o claves en el diccionario es ‘abcd’ Este {{ item.value.abcd.port }} funciona bien, pero la clave ‘abcd’ varía en cada diccionario. Estoy buscando hacer algo como abajo usando una variable ‘nginx_dir’. {% set nginx_dir = item.value.keys().1 %} {% set […]

fusionando diccionarios en ansible

Actualmente estoy desarrollando una función para instalar PHP usando ansible, y tengo algunas dificultades para combinar diccionarios. He intentado varias formas de hacerlo, pero no puedo hacer que funcione como quiero: # A vars file: my_default_values: key = value my_values: my_key = my_value # In a playbook, I create a task to attempt merging the […]

Ansible creando un virtualenv

¿Cómo crear un virtualenv para una versión específica de python usando ansible? ¿Hay un comando en la biblioteca estándar ansible? Me gustaría algo como: – virtualenv: dest=venv python_version:/usr/bin/python3

Ansible: las mejores prácticas para mantener la lista de sudoers

En la documentación , hay un ejemplo del uso del módulo lineinfile para editar /etc/sudoers . – lineinfile: “dest=/etc/sudoers state=present regexp=’^%wheel’ line=’%wheel ALL=(ALL) NOPASSWD: ALL'” Se siente un poco hackish. Supuse que habría algo en el módulo de user para manejar esto, pero no parece haber ninguna opción. ¿Cuáles son las mejores prácticas para agregar […]

¿Cómo ejecutar Ansible sin especificar el inventario pero el host directamente?

Quiero ejecutar Ansible en Python sin especificar el archivo de inventario a través de (ANSIBLE_HOST) pero solo por: ansible.run.Runner( module_name=’ping’, host=’www.google.com’ ) Realmente puedo hacer esto en tela fácilmente, pero me pregunto cómo hacerlo en Python. Por otro lado, la documentación de la API de Ansible para python no está realmente completa.

Usando variables ansibles en testinfra

Uso de TestInfra con Ansible backend para fines de prueba. Todo va bien, excepto el uso de Ansible al ejecutar pruebas. test.py import pytest def test_zabbix_agent_package(host): package = host.package(“zabbix-agent”) assert package.is_installed package_version = host.ansible(“debug”, “msg={{ zabbix_agent_version }}”)[“msg”] (…) donde zabbix_agent_version es una variable ansible de group_vars. Se puede obtener ejecutando este libro de jugadas. – […]

Cómo agregar un complemento de callback a un PlaybookExecutor en Ansible 2

¿Cómo especificar una callback cuando se llama ansible a través de su API? Tengo un complemento de callback database_write.py para ansible 2.0.0.2 que inicia sesión en una base de datos cuando se ejecuta: ansible-playbook -i inventory.txt playbook.yml # callback is fired ok Esto funciona bien porque en mi $ PWD tengo ansible.cfg con esta línea: […]

Ansible + 10.11.6

Tengo un problema extraño con Ansible en una instalación (muy) limpia de 10.11.6. He instalado brew, zsh, oh-my-zsh, Lil ‘snitch y 1password (y, literalmente, nada más). He instalado ansible con … brew install ansible … que tuvo éxito. Luego fui a un proyecto de Ansible preexistente (y bastante simple) e hice un … ansible -m […]

Cómo recorrer una lista de diccionarios e imprimir cada clave y par de valores en Ansible

Tengo una lista de diccionario en la configuración de Ansible myList – name: Bob age: 25 – name: Alice age: 18 address: USA Escribo codigo como – name: loop through debug: msg =”{{item.key}}:{{item.value}}” with_items: “{{ myList }}” Quiero imprimir como msg: “name:Bob age:25 name:Alice age:18 address:USA” ¿Cómo puedo recorrer este diccionario y obtener pares de […]