Я использую ansible-napalm и пытаюсь написать простую книгу для извлечения фактов с сетевых устройств.Я хочу зашифровать пароли с помощью ansible-vault, однако независимо от того, что я пытаюсь, я получаю сообщение об ошибке: Ошибка unhexlify формата хранилища: Строка нечетной длины
Сначала я пытался это сделать в bash в подсистеме Windows дляLinux и я думали, что это может быть проблемой, поэтому я воссоздал все на Centos VM и все еще столкнулся с той же проблемой.
Я пытался использовать команду encrypt-string для встраивания зашифрованного pw непосредственно в playbook.Я также попытался зашифровать файл и вызвать переменную.Оба метода выдают одну и ту же ошибку.
Я обнаружил эту проблему: Ошибки Ansible-хранилища с "строкой нечетной длины" И я подумал, что проблема связана с ограничителями строки CRLF, поэтому я отсортировалэто и убедитесь, что все файлы были в тексте ASCII, но это все равно дает те же ошибки.
Мой код приведен ниже, любая помощь будет принята с благодарностью, потому что я вырываю свои волосы!
---
- name: napalm_facts
hosts: all
connection: local
gather_facts: no
tasks:
- name: get facts from device
napalm_get_facts:
hostname: "{{ ansible_host }}"
username: 'admin'
password: "{{ napalm_password }}"
dev_os: 'ios'
register: result
- name: print results
debug: msg="{{ result }}"
Я попробовал следующие методы, для справки.
ansible-vault encrypt vars/vaultpw.yml
ansible-vault encrypt_string password123 --ask-vault-pass