Posso usar meus papéis do Ansible na Ansible Tower?

2

Eu criei cerca de 30 funções no ansible. Eu tenho que converter manualmente aqueles em playbooks únicos para usá-los no Ansible Tower?

    
por Alexander 29.05.2015 / 09:41

3 respostas

4

Sim, você pode usar funções no Tower. Fazemos algo como o seguinte, agrupando funções relacionadas em um playbook (playbook.yml neste exemplo) e depois chamando isso de um trabalho do Tower.

playbook.yml

---
- name: Example playbook
  hosts: '{{ target }}'
  roles:
    - { role: init }
    - { role: deploy }
    - { role: cleanup }

Árvore de diretórios

roles/
  init/
    ...
    tasks/
      main.yml
    ...
  deploy/
    ...
    tasks/
      main.yml
    ...
  cleanup/
    ...
    tasks/
      main.yml
  ...

Em seguida, no trabalho do Tower, você pode fornecer {{ target }} ou usar um questionário para solicitar ao usuário.

    
por 29.05.2015 / 11:29
1

Você pode mover todas as funções para a pasta roles e pode chamá-las do arquivo yml para que elas possam ser executadas a partir de uma torre ansible.

Abaixo está o arquivo de exemplo que funcionou para mim.

---
- name: Give your name
    roles:
       - { role: role1 }
       - { role: role2 }

Nota: crie uma pasta com funções de nome onde você está criando este arquivo yml e mova todas as funções para essa pasta. Consulte Layout do diretório nos documentos do Ansible para obter mais informações.

    
por 29.05.2015 / 11:55
1

Você pode aproveitar o tower + galaxy para fazer o download das funções automaticamente. Basta criar um arquivo requirements.yml em seus projetos de manual.

link

    
por 25.01.2016 / 17:00