У меня проблемы с чтением секретов из хранилища с использованием файлов динамической инвентаризации VMware.
Инвентарь:
https://github.com/ansible/ansible/blob/devel/contrib/inventory/vmware_inventory.ini (используя его как vmware.yml в моей структуре каталогов Ansible)
https://github.com/ansible/ansible/blob/devel/contrib/inventory/vmware_inventory.py
Обновлено несколько строк в скрипте динамической инвентаризации ( vmware_inventory.py - # L213) для чтения переменных -
'ini_path': os.path.join(os.path.dirname(__file__), '../group_vars/vmware/vmware.yml'),
Структура каталога Ansible:
ansible/
inventory/
vmware_inventory.py
group_vars/
all_vars.yml
vmware/
vmware.yml
vault.yml
roles/
Я могу пропинговать все хосты, используя - ansible all -i vmware_inventory.py -m ping
Пробная версия A:
Зашифровать значение пароля с помощью ansible-vault encrypt_string password123 --name 'password' --ask-vault-pass
.Обновите vmware.yml с зашифрованным паролем.
cat vmware.yml
server: vcsa.lab
port: 443
username: devuser
password: !vault |
$ANSIBLE_VAULT;1.1;AES256
62616231653730653366633966626531383362323165643034336533356165626166313466396462
3866363332663963366231636230646465363530666366320a346539343366663135353639646234
65363163386136636662356534343430663133313865333731336230373437663230356361373363
3434633132343731370a393139383464306432626638633837333030623539653462343230373562
6433
validate_certs: False
Ошибка:
vmware_inventory.py) произошла ошибка выполнения: Невозможно выполнитьподключиться к серверу ESXi из-за (vim.fault.InvalidLogin) {dynamicType =, dynamicProperty = (vmodl.DynamicProperty) [], msg = 'Невозможно завершить вход в систему из-за неверного имени пользователя или пароля.', faultCause =, faultMessage = (vmodl.LocalizableMessage) []}
Пробная версия B: по этой ссылке
Создание файла хранилища ansible (ansible-vault create ../group_vars/ vmware / vault), добавьте его в виде простого текста и прочитайте это значение в файле vmware.yml
cat vmware.yml
server: vcsa.lab
port: 443
username: dev
password: "{{ vault_password}}"
validate_certs: False
, но по-прежнему возникает ошибка с той же ошибкой
Невозможно завершить вход в систему из-за неверного имени пользователя или пароля.
Но я могу выполнить ту же команду с простым текстом без шифрования пароля с помощью хранилища.
Env:
ansible 2.7.0
python version = 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
Любой человек может помочь найти его 'идет не так?очень ценю вашу помощь!