Ansible: Skrip Inventaris Ec2.py tidak akan mengurai tag dengan email sebagai nilainya

Dibuat pada 28 Apr 2016  ·  3Komentar  ·  Sumber: ansible/ansible

JENIS MASALAH
  • Laporan Bug
    VERSI YANG MUNGKIN
ansible 2.0.1.0
KONFIGURASI
OS / LINGKUNGAN

RINGKASAN

Saya tidak dapat melakukan tindakan yang memungkinkan berdasarkan tag "Pemilik" untuk mesin di lingkungan saya yang memiliki alamat email sebagai nilainya.

LANGKAH-LANGKAH REPRODUKSI

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
HASIL YANG DIHARAPKAN

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.

HASIL NYATA
$ 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] "

bug

Semua 3 komentar

@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"

Apakah halaman ini membantu?
0 / 5 - 0 peringkat