У меня были похожие проблемы с одним и тем же хостом, но в разных играх. Эта вещь, которую следует помнить, это факты, а не переменные, которые сохраняются в разных играх. Вот как я оборачиваю проблему.
#!/usr/local/bin/ansible-playbook --inventory=./inventories/ec2.py
---
- name: "TearDown Infrastructure !!!!!!!"
hosts: localhost
gather_facts: no
vars:
aws_state: absent
vars_prompt:
- name: "aws_region"
prompt: "Enter AWS Region:"
default: 'eu-west-2'
tasks:
- name: Make vars persistant
set_fact:
aws_region: "{{aws_region}}"
aws_state: "{{aws_state}}"
- name: "TearDown Infrastructure hosts !!!!!!!"
hosts: monitoring.ec2
connection: local
gather_facts: no
tasks:
- name: set the facts per host
set_fact:
aws_region: "{{hostvars['localhost']['aws_region']}}"
aws_state: "{{hostvars['localhost']['aws_state']}}"
- debug:
msg="state {{aws_state}} region {{aws_region}} id {{ ec2_id }} "
- name: last few bits
hosts: localhost
gather_facts: no
tasks:
- debug:
msg="state {{aws_state}} region {{aws_region}} "
приводит к
Enter AWS Region: [eu-west-2]:
PLAY [TearDown Infrastructure !!!!!!!] ***************************************************************************************************************************************************************************************************
TASK [Make vars persistant] **************************************************************************************************************************************************************************************************************
ok: [localhost]
PLAY [TearDown Infrastructure hosts !!!!!!!] *********************************************************************************************************************************************************************************************
TASK [set the facts per host] ************************************************************************************************************************************************************************************************************
ok: [XXXXXXXXXXXXXXXXX]
TASK [debug] *****************************************************************************************************************************************************************************************************************************
ok: [XXXXXXXXXXX] => {
"changed": false,
"msg": "state absent region eu-west-2 id i-0XXXXX1 "
}
PLAY [last few bits] *********************************************************************************************************************************************************************************************************************
TASK [debug] *****************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"changed": false,
"msg": "state absent region eu-west-2 "
}
PLAY RECAP *******************************************************************************************************************************************************************************************************************************
XXXXXXXXXXXXX : ok=2 changed=0 unreachable=0 failed=0
localhost : ok=2 changed=0 unreachable=0 failed=0
Соглашение «com.sun» является более предпочтительным форматом, поскольку оно следует за «соглашениями об именах», которые были установлены для именования пакетов Java.
http: //java.sun. com / docs / codeconv / html / CodeConventions.doc8.html
Вы должны использовать свою уникальную компанию или собственный URL веб-сайта в качестве первых нескольких слов в пакете, чтобы гарантировать уникальность в Пространство имен. Те, которые начинаются с «солнца», вероятно, не предназначены для воздействия на внешний мир.
Не ответ на вопрос, но имейте в виду, что вы не должны использовать пакеты «sun» или «com.sun» непосредственно в ваших программах.
См. Почему разработчики не должны писать Программы, которые называют «sun» Packages
Эти пакеты не являются частью общедоступного API стандартной библиотеки Java, и использование их может сделать вашу программу несовместимой с будущими версиями Java или реализациями Java кроме реализации Sun (и есть несколько реализаций других поставщиков, включая Apple, IBM и HP).
Если вы взглянете на документ совместимости для Java 5 , вы заметите, что есть и другие причины:
Apache - классы org.apache , которые никогда не поддерживались API J2SE, но используются пакетом javax.xml, переместились с 5.0 на ** com.sun. ** org.apache.package.internal, чтобы они не столкнулись с более поздними разработчиками - загруженные версии классов. Любые приложения, зависящие от классов org.apache, являющихся частью выпуска J2SE, должны выполнить одно из следующих действий для работы в 5.0: * Кодируйте приложение, чтобы оно использовало только поддерживаемые интерфейсы, входящие в состав JAXP. * Загрузите классы org.apache.xalan из Apache.
blockquote>