заметки об администрировании и программировании (python, ruby, php). Траблшутинг в «примерах» и HOWTO.

😎 О себе | 📚 Литература и ресурсы | ⚡ Все посты | 📮 E-mail
9 заметок с тегом

ansible

Ansible, ssh и macOS — во всем виновата библиотека sshpass

При попытке запуска плейбука получал следующую ошибку на macOS

fatal: [x.x.x.x]: FAILED! => {«msg»: «to use the ’ssh’ connection type with passwords, you must install the sshpass program»}

Для установки данной библиотеки следует использовать команду ниже


brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb


После этого все возвращается на свои места — ошибки больше не увидим

 Нет комментариев    93   2 мес   ansible   macOS   ssh
 Нет комментариев    46   6 мес   ansible
 Нет комментариев    68   6 мес   ansible   jinja2

Ansible: получить имя ОС, релиза или номера релиза

При написании сценариев для ansible, может потребоваться узнать версию ОС, ее кодовое имя, номер релиза. Для этого, можно использовать следующие внутренние переменные:


- hosts: localhost
  gather_facts: yes
  become: false
  tasks:
  - name: System details
    debug: msg="{{ item }}"
    with_items: 
    - "{{ ansible_distribution }}"
    - "{{ ansible_distribution_release }}" 
    - "{{ ansible_distribution_version }}"
    - "{{ ansible_distribution_major_version }}"


источник

 Нет комментариев    44   6 мес   ansible

Расшифровать строку ansible-vault

Для расшифровки строки, зашифрованной с помощью ansible-vault можно использовать следующую команду:


echo '$ANSIBLE_VAULT;1.1;AES256
          646162435566313133333333.....' | tr -d '  ' | ansible-vault decrypt --vault-password-file=.vaultpass && echo


где .vaultpass файл с паролем

 Нет комментариев    92   1 год   ansible   ansible-vault   string   Vault

Генерация /etc/hosts с помощью ansible


      - name: Generate /etc/hosts file
        template:
          src: templates/hosts.j2
          dest: /etc/hosts
        backup: yes
        tags: fist


Шаблон:


# templates/hosts.j2
# {{ ansible_managed }}
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# Network nodes as generated through Ansible.
{% for host in play_hosts %}
{% if 'ansible_eth0' in hostvars[host] %}
{{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}  {{ host }}
{% endif %}
{% endfor %}


Инвентори-файл:


[srv-dev]
domain_host1 ansible_host=10.10.1.2
domain_host2 ansible_host=10.10.2.2
domain_host3 ansible_host=10.10.2.3

[srv-dev:vars]
ansible_python_interpreter=/usr/bin/python2


ЗЫ: не забываем включить gather_facts: yes

 Нет комментариев    136   2018   ansible
Ранее Ctrl + ↓