Görev adında envanter_anahtar_adı veya ansible_hostname kullanın


19

Ben bir haddeleme yükseltme playbook yazıyorum ve yükseltilmiş mevcut ana bilgisayar ana bilgisayar adını yazdırmak istiyorum.

Ben koymak inventory_hostnameve ansible_hostnamegörev adlarında ama işi vermedi

- name: upgrade softare on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}

hata ayıklama iyi çalışıyor

- name: Test a variable
  debug: var=inventory_hostname

TASK: [Test a variable] ******************************************************* 
ok: [SERV14] => {
    "var": {
        "inventory_hostname": "SERV14"
    }
}

Öyleyse bu değişkenleri görev adı açıklamalarında kullanabilmek için ne yapmalıyım.

Teşekkürler


4
Şu anda, adında değişken ikame yapılamamaktadır. Buraya
cuonglm

Yanıtlar:


27

V2.0'dan itibaren Ansible, görev / işleyici adlarında değişken ikameyi destekler: https://github.com/ansible/ansible/issues/10347 , bu nedenle bu örnekler beklendiği gibi çalışacaktır:

- name: upgrade software on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}

0

Sanırım {{ ansible_hostname }}sonrasını yazmalısınız tasks:, çünkü ondan önce henüz gerçekleri toplamamış, böylece sonucu veremez. Konsept konusunda yanlış olabilirim ama pratikte başarılı oldu.

tasks:
  - name: Install the httpd on {{ ansible_hostname }}
    yum: 
      name: httpd 
      state: latest

senaryo

çıktıyı çal

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.