Isto é para inventário dinâmico para uso com AWS
RHEL 7.3
python2-boto-2.45.0-3.el7.noarch
VERSÃO ANSIBLE
ansible 2.3.1.0
config file = /projects/robomation/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.5 (default, Aug 2 2016, 04:20:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]
Tenho vários recursos rodando e quando executo
ec2.py --list
{
"_meta": {
"hostvars": {}
}
}
Além disso, quando tento executar playbooks ansible segmentando hosts com determinadas tags, recebo isso
[WARNING]: Found both group and host with same name: localhost
...
...
...
skipping: no hosts matched
Estou tendo problemas para configurar o inventário dinâmico para funcionar corretamente. Eu tenho meus arquivos ec2.ini e ec2.py e ec2.py está configurado para ser executável e acredito que configurei corretamente. Além disso, o comando não retorna erro apenas não retorna nada no corpo.
[root@robomation robomation]# env | grep ANSIBLE
ANSIBLE_HOSTS=/projects/robomation/inventory/ec2.py
[root@robomation robomation]# env | grep EC2_INI
EC2_INI_PATH=/projects/robomation/inventory/ec2.ini
[root@robomation robomation]# env | grep AWS
AWS_REGION=us-west-2
[root@robomation robomation]# inventory/ec2.py --list
{
"_meta": {
"hostvars": {}
}
}
[root@robomation robomation]# ansible --version
ansible 2.3.1.0
config file = /projects/robomation/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.5 (default, Aug 2 2016, 04:20:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]
O que faço para solucionar problemas de inventário dinâmico?
ATUALIZAR:
pip freeze
boto3==1.4.4
botocore==1.5.82
rpm -qa | grep boto
python2-boto-2.45.0-3.el7.noarch
O
ec2.py
inventário dinâmico é usadoboto
para fazer chamadas de API para a AWS.Portanto, você pode verificar se
boto
pode se conectar à AWS executando:se você receber algo assim:
suas credenciais não estão corretas. Existem várias maneiras de configurar o boto. Mas para fins de depuração, você pode simplesmente definir
AWS_ACCESS_KEY_ID
e `AWS_SECRET_ACCESS_KEY' via linha de comando como esta:Ao usar
IAM roles
você deve observar que: