Ansible: register: ec2 / with_items: ec2.instances - da como resultado "el objeto str no tiene atributo"

Creado en 18 jun. 2015  ·  3Comentarios  ·  Fuente: ansible/ansible

Tengo un libro de jugadas que es muy similar a los ejemplos en línea:


Tareas:
- nombre: crea una instancia EC2
ec2:
[-recorte-]
registro: ec2
- nombre: imprimirlo
debug: msg = "el elemento tiene - {{item.public_ip}}"
with_items: ec2.instances


Esto da el error:


fatal: [localhost] => Una o más variables indefinidas: 'str object' no tiene atributo 'public_ip'

Si lo cambio a {{item}}, veo:

TAREA: [imprimirlo] * * * * * * * * * * * * * * * * * * * *
ok: [localhost] => (item = ec2.instances) => {
"item": "ec2.instances",
"msg": "el elemento tiene - ec2.instances"
}


¿Parece que 'ec2.instances' es simplemente una cadena? Por último, si uso "with_items: ec2.results", puedo recorrerlo, pero tengo que hacer referencia a él como item.instances.0.public_ip

¿Alguna idea de por qué ec2_instances parece ser una cadena en lugar de un diccionario?

Editar:
: arp_kiki / pts / 55: 0.08: nuevo; ansible --versión ansible 1.5.4

después de actualizar:

ok: [localhost] => (item = ec2.instances) => {
"item": "ec2.instances",
"msg": "el elemento tiene - ec2.instances"
}

JUGAR CRÓNICA * * * * * * * * * * * * * * * * * * * * * *
localhost: ok = 2 cambiado = 1 inalcanzable = 0 fallido = 0

: arp_kiki / pts / 55: 0.31: nuevo; ansible --versión
ansible 1.9.1

Comentario más útil

Comprendido. Asumí que era un error porque estaba siguiendo la documentación y obteniendo resultados diferentes.

Todos 3 comentarios

¡Hola!

Muchas gracias por su interés en Ansible. Sinceramente, significa mucho para nosotros.

Esta parece ser una pregunta de usuario, y nos gustaría dirigir este tipo de cosas a la lista de correo o al canal de IRC.

También la razón es porque se usa with_items, por lo tanto, habrá múltiples instancias y los resultados de cada instancia creada se almacenan en el dictado ec2.results. si solo hay una instancia única, cree avoild with_items, entonces debe obtener lo que necesita o si tiene varias instancias para crear, entonces obtenga el uso de IP pública con_items: ec2.results y item.public_ip

IRC: #ansible en irc.freenode.net
lista de correo: https://groups.google.com/forum/#!forum/ansible -project
Si puede pasar por allí, se lo agradeceríamos. Esto nos permite mantener el rastreador de problemas para errores, solicitudes de extracción, RFE y similares.

Gracias una vez más y esperamos verte en la lista o en el IRC. ¡Gracias!

Comprendido. Asumí que era un error porque estaba siguiendo la documentación y obteniendo resultados diferentes.

Acabo de llegar a este hilo debido a que cometí el mismo "error de usuario", que with_items va a ser un patrón muy común. gestión de sistemas en zonas de disponibilidad establecidas.

¿Fue útil esta página
0 / 5 - 0 calificaciones