Ansible hosts dosyasında tanımlanan geçerli makinenin ana makine adını nasıl alabilirim?


166

Birkaç sunucu kurmak için bir Ansible oyun kitabı kuruyorum. Yalnızca mevcut ana bilgisayar, ana bilgisayar dosyamda "yerel" adlı yerel geliştiricim ise çalıştırmak istediğim birkaç görev var. Bunu nasıl yapabilirim? Belgelerde hiçbir yerde bulamıyorum.

Bu zaman ifadesini denedim, ancak ansible_hostnamemakine oluşturduğunuzda oluşturulan ana bilgisayar adına değil, ana bilgisayar dosyasında tanımladığınız ana bilgisayara çözümlenmediğinden başarısız olur .

- name: Install this only for local dev machine
  pip: name=pyramid
  when: ansible_hostname == "local"

Yanıtlar:



2

Envanterinizdeki özel 'yerel' etiketinize güvenmeden, oyunlarındaki ana bilgisayar başlığını değiştirerek bir oynatma kitabının kapsamını sınırlandırabilirsiniz. Localhost'un stoklarda özel bir satıra ihtiyacı yoktur.

- name: run on all except local
  hosts: all:!local

hosts: !localhostmuhtemelen de çalışıyor gibi --limit '!dev'çalışıyor
timdiels

0

Bu bir alternatif:

- name: Install this only for local dev machine
  pip: name=pyramid
  delegate_to: localhost
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.