0

連接時,我已經下載ec2.py和ec2.ini文件並將其放入Ansible動態庫存與AWS

/etc/ansible/inventory 

下,我已經改變了ansible.cfg到

inventory  = /etc/ansible/inventory/ec2.py 

我有環境變量設置爲

export AWS_ACCESS_KEY_ID="XXXXXXXXXXXXXXX" 
export AWS_SECRET_ACCESS_KEY="XXXXXXXXXXXXXXXXXXXXX" 
export AWS_DEFAULT_REGION="us-east-1" 
export EC2_INI_PATH="/etc/ansible/inventory/ec2.ini" 

現在當我運行ansible -m平所有 我得到

[WARNING]: provided hosts list is empty, only localhost is available 

,而不是執行ping所有實例在我的帳戶

當我運行./ec2.py --list我得到

{ 
    "_meta": { 
    "hostvars": {} 
} 
} 

我在AWS所有實例運行

+0

你嘗試'é c2.py --refresh-cache'? –

回答

0

看起來你沒有使用正確的庫存文件。

  • 檢查ec2.py是運行(chmod + x)的
  • 運行ansible與-v選項來檢查什麼是真正 使用

    ansible -v -m ping all

  • 檢查,如果你的配置文件就有ANSIBLE_INVENTORY或ANSIBLE_HOSTS環境 變量覆蓋預期的配置文件。可以通過設置

    export ANSIBLE_INVENTORY=/etc/ansible/inventory/ec2.py

覆蓋庫存定義提醒配置文件被以下面的順序處理

  • ANSIBLE_CONFIG(環境變量)
  • ansible.cfg(在當前目錄)
  • .ansible.cfg(在主目錄中)
  • /etc/ansible/ansible.cfg

1.5以前的順序爲:

  • ansible.cfg(在當前目錄)
  • ANSIBLE_CONFIG(環境變量)
  • .ansible.cfg(主目錄)
  • /etc/ansible/ansible.cfg
+0

謝謝,我重新檢查了配置。與您的建議,它的工作 – chandra