ansible 2.0.1.0
Saya tidak dapat melakukan tindakan yang memungkinkan berdasarkan tag "Pemilik" untuk mesin di lingkungan saya yang memiliki alamat email sebagai nilainya.
Saya memeriksa untuk memastikan nilai tag ada:
./ec2.py --list >> aws_example.json
Dan saya dapat mengonfirmasi tag "Pemilik":
...
"ec2_tag_Owner": "infrastructure",
...
"ec2_tag_Owner": "[email protected]",
...
Tetapi ketika saya menjalankan perintah yang memungkinkan untuk mereferensikan host yang menggunakan tag, itu tidak dapat menemukan yang dengan alamat email sebagai nilainya:
ansible -i tools/ec2.py [email protected] -m ping
Berikut adalah contoh perintah yang sama dengan nilai tag hanya "infrastruktur"
ansible -i tools/ec2.py tag_Owner_infrastructure -m ping
The authenticity of host '52.53.222.209 (52.53.222.209)' can't be established.
Ini menunjukkan bahwa ia mengetahui host dan mencoba menjangkau untuk menyambungkannya.
$ ansible -i tools/ec2.py [email protected] -m ping -vvvv
Using /Users/.../ansible/ansible.cfg as config file
ERROR! Specified hosts options do not match any hosts
Ini menunjukkan bahwa itu tidak dapat mengaitkan instance dengan Kunci:"Pemilik" dan Nilai:" [email protected] "
@bhuddleston Terima kasih atas laporannya, bagaimanapun, ec2.py melakukan ini "dengan sengaja" untuk membatasi nilai nama grup yang dihasilkan ke alfanumerik ASCII.
Lihatlah to_safe()
di ec2.py: https://github.com/ansible/ansible/blob/devel/contrib/inventory/ec2.py#L1367
Nama grup Anda seharusnya masuk sebagai tag_Owner_it_domain_com
. (Anda selalu dapat melakukan debug: var=groups
dari konteks host Anda untuk mengetahui semua grup yang dimilikinya).
Perilaku ini mungkin sedikit Draconian (karena saya telah memverifikasi bahwa kami benar-benar akan menerima dan bekerja dengan nama grup dengan '@' dan '.' di dalamnya)- jangan ragu untuk mengajukan masalah atau PR (atau memulai diskusi tentang milis kami/IRC) untuk mengubah perilaku ec2.py.
AH! Sekarang saya tahu apa yang sedang terjadi, saya mencoba versi "_" dan berhasil! Terima kasih untuk bantuannya.
Karena penasaran, apakah itu detail dalam dokumentasi di mana saja? Saya ingin memastikan bahwa saya tidak melewatkan sesuatu yang jelas.
Saya mungkin akan menghubungi dan melihat apakah milis menerimanya.
Brian Huddleston
Desain TI Terbuka (Insinyur TI)
+1.510.460.1444 (utama)
+1.510.780.2425 (faks)
[email protected]
Pada 28 April 2016, pukul 17.05, Matt Davis [email protected] menulis:
@bhuddleston Terima kasih atas laporannya, bagaimanapun, ec2.py melakukan ini "dengan sengaja" untuk membatasi nilai nama grup yang dihasilkan ke alfanumerik ASCII.
Lihatlah to_safe() di ec2.py: https://github.com/ansible/ansible/blob/devel/contrib/inventory/ec2.py#L1367
Nama grup Anda harus masuk sebagai tag_Owner_it_domain_com. (Anda selalu dapat melakukan debug: var=groups dari konteks host Anda untuk mengetahui semua grup yang dimilikinya).
Perilaku ini mungkin sedikit Draconian (karena saya telah memverifikasi bahwa kami benar-benar akan menerima dan bekerja dengan nama grup dengan '@' dan '.' di dalamnya)- jangan ragu untuk mengajukan masalah atau PR (atau memulai diskusi tentang milis kami/IRC) untuk mengubah perilaku ec2.py.
—
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung atau lihat di GitHub
Ya, itu ada di halaman dokumen Inventaris Dinamis , tetapi agak terkubur di bagian Tag: "Setiap pasangan kunci/nilai adalah grup instancenya sendiri, sekali lagi dengan karakter khusus yang dikonversi menjadi garis bawah, dalam format tag_KEY_VALUE"