Mac OS X'te “/ etc / ansible /” içinde yapılandırma dosyası bulunamıyor


15

Mac OS X kullanıyorum ve Ansible'da yeniyim . Nasıl kurduğumu unutuyorum. Bence pip:

$ pip freeze
altgraph==0.12
ansible==1.9.2

Ne olursa olsun, ne okudum itibaren bir yapılandırma dosyası olmalıdır /etc/ansible/, ama bu dizinin içeriği sadece:

$ ls -a /etc/ansible/
.       ..      .hosts.swp  hosts       roles

Tanımlanmış bir ortam değişkeni yok gibi görünmüyor:

$ echo $ANSIBLE_CONFIG
# blank line

Ansible anlayabildiğim kadarıyla çalışıyor (yerel olmadan ve kullanıcı dizinindeki klasörde ansible.cfghiçbir şey yok ansible), ama şaşkınım.

Birisi buraya gelmediğimi açıklayabilir mi?

Yanıtlar:


14

Bildiğim kadarıyla Ansible yapılandırma dosyası ( ansible.cfg) kullanıcı düzeyinde yapılandırma ayarları için burada bulunabilir:

~/.ansible.cfg

Burada bulunan sistem genelindeki konfigürasyonun yanı sıra; belirttiğiniz yerde böyle bir dosya bulamazsınız:

 /etc/ansible/ansible.cfg

Bir şekilde sisteminizde birden fazla kullanıcı varsa, belki de ~/.ansible.cfgkullanıcı dizinlerinden birinde unutmuş olduğunuz bir değişken var mı?

Sen bunu kullanarak yüklemiş olabilir devlet pip, ancak kontrol yanıtlayıcı 'için Homebrew formülü , bu oldu ancak son zamanlarda 4 Eylül'de 1.9.3 sürüm 1.9.2 den çarptı . Belki de Homebrew ile kurdun?

Ve asıl endişeniz ansible.cfggerekli olup olmadığı gibi görünüyor :

Ansible anlayabildiğim kadarıyla çalışıyor (yerel olmadan ve kullanıcı dizinindeki klasörde ansible.cfghiçbir şey yok ansible), ama şaşkınım.

Birisi buraya gelmediğimi açıklayabilir mi?

Evet, bir yapılandırma olmadan iyi çalışmalıdır. Çoğu yazılım parçası için bir yapılandırma dosyasının yaptığı çekirdek sistem varsayılanlarını geçersiz kılar. Bu nedenle ansible.cfg, eksikse Ansible yine de çalışır, ancak yalnızca temel sistem varsayılanlarını kullanır. Ansible'ın resmi belgelerinde açıklandığı gibi :

Ansible'daki bazı ayarlar bir yapılandırma dosyası aracılığıyla ayarlanabilir. Stok yapılandırması çoğu kullanıcı için yeterli olmalıdır, ancak bunları değiştirmek isteyebileceğiniz nedenler olabilir.

Değişiklikler aşağıdaki sırayla işlenecek bir yapılandırma dosyasında yapılabilir ve kullanılabilir:

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg

her iki yerde de değil. ve ben tek kullanıcıyım. i sadece git repo kopyalamak ve bu dizinlerden birine yerleştirmek sanırım.
MikeiLL

İyi karar. Homebrew ile yüklenmedi, ancak 1.9.2 sürümü idi. şu anda pip üzerinden yeniden yükleme ...
MikeiLL

Şimdi 1.9.3'te ancak yine de yukarıdaki konumlardan birinde bir yapılandırma dizini bulamıyorum. Var ~/.ansible/cpve /etc/ansible/aynı içeriğe sahip.
MikeiLL

Teşekkürler. Mantıklı. Stok yapılandırmasının normalde başvurulan ansible.cfgdosyalardan birinde depolanıp depolanmadığından emin değildim .
MikeiLL

1
@MikeiLL Hayır, endişelenme. Son düzenlemem, nihayet endişelerinizi anladığım zamandı. Dürüst olmak gerekirse, “Temel varsayılanlarım olacak, ancak varsayılanları geçersiz kılacak bir kullanıcı yapılandırma dosyası bulursam” mantığıyla çalışmayan iyi bilinen bir yazılım parçasını düşünemiyorum. Tüm sisteminiz harici bir yapılandırma dosyasına bağımlı olduğunda elde ettiğiniz büyük güvenlik / istikrar riski, bu dosya gittiğinde, tüm sistem çöküyor mu? İyi bir plan değil. Mutlu, yapılandırma dosyası eksikse, kötü bir şey olmadığını anlıyorsunuz.
JakeGould

13

homebrewFormül dizesini değiştirir /etc/ansibleiçinde constants.pybirlikte /usr/local/etc/ansible. Bana kötü juju gibi geliyor.

Ben yoktu /usr/local/etc/ansiblesonra brew install ansible. Ancak, ansible.cfgorada geçerli bir koyarsanız , onurlandırılacağını onayladım (şimdilik).

Önerilerim:

  1. brewYüklemek için kullanmayın Ansible.
  2. Konfigürasyonunuz hakkında açık olun, sistem ortamı küresellerine bağlı değildir /etc/ansible/ansible.cfg.

Kod Referansları:

demlemek ansible formül değiştirme # 475: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/ansible.rb#L475

ansible constants.py # 61: https://github.com/ansible/ansible/blob/v1.9.3-1/lib/ansible/constants.py#L61


homebrew kullanıcı alanında çalışır, böylece her şey / usr / local altındadır. Bu iyi.
gagarine

3

OSX'te pip kullanarak ansible yükledim ve ansible.cfg dosyasının / etc / ansible veya ana dizinimde bulunmadığını gördüm.

Kaynak: https://github.com/ansible/ansible/issues/18512

pip genellikle yapılandırma dosyalarını yüklemez ve ansible ile pip farklı değildir. Sadece ansible'ı denemek istiyorsanız, genellikle ansible.cfg dosyası olmadan çalışır. (Bazı envanter belirtmeniz gerekir, ancak bunu bir dosya yerine komut satırında yapabilirsiniz). Uyarlamak için örnek bir yapılandırma dosyası almak istiyorsanız, dosyayı tarball'dan veya kaynak havuzundan buradan alabilirsiniz: https://github.com/ansible/ansible/blob/devel/examples/ansible.cfg

Envanter dosyaları burada açıklanmaktadır: http://docs.ansible.com/ansible/intro_inventory.html Komut satırında envanter için ana bilgisayarları belirtmek yerine bunun gibi bir şey yapın:

ansible -i 'host1,host2,host3'  all -m command -a 'hostname'

Komut satırı üzerinden tek bir ana bilgisayar belirtmek istiyorsanız, envanter dizesinde bir virgül kullanın:

ansible -i 'host1,' all -m command -a 'hostname'

2

Homebrew'un bir /etc/ansibledizin oluşturmayacağını veya bir yapılandırma veya ana bilgisayar dosyası oluşturmayacağını buldum . Ancak /etc/ansibledizini oluşturup yapılandırmayı github deposundan dizine kopyalarsanız, /etc/ansiblebunu bir config olarak tanıyacaktır.

Ayrıca, bu yapılandırmaya gitmek ve envanter konumunu belirten satırı kaldırmak isteyebilirsiniz:

envanter = / etc / ansible / hosts

Bunu yaptıktan sonra ansible, diğer herhangi bir kurulumdan bir homebrew kurulumu ile aynı şekilde çalışır ve çevrimiçi bulduğunuz belgeler homebrew sürümü ile kullanılabilir.


/ usr / local / etc / tanınmadı. / Etc / ansible / dizini oluşturmaya çalıştı ve taşınan ana bilgisayarlar ve ansible.cfg iyi çalıştı!
aelkz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.