Из того, что я понимаю, использование подключаемых модулей ansible-инвентаризации над провайдерами динамической инвентаризации - это новый способ обработки динамических хостов, таких как облачные провайдеры и т. Д.
Итак, сначала я установилучетные данные Azure в моей среде:
± env | grep AZ
AZURE_SECRET=asdf
AZURE_TENANT=asdf
AZURE_SUBSCRIPTION_ID=asdf
AZURE_CLIENT_ID=asdf
Далее я написал ansible.cfg со следующим содержимым:
± cat ansible.cfg
[inventory]
enable_plugins = azure_rm
Наконец, я написал файл yaml с минимальными настройкамикак показано на странице ansible инвентаризации страница:
± cat foo.azure_rm.yaml
---
plugin: azure_rm
Когда я запускаю двоичный файл ansible-инвентаризации в этом файле, я получаю:
± ansible-inventory -i foo.azure_rm.yaml --list
[WARNING]: * Failed to parse /path/to/foo.azure_rm.yaml with azure_rm plugin: Unicode-objects must be encoded before hashing
[WARNING]: Unable to parse /path/to/foo.azure_rm.yaml as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
{
"_meta": {
"hostvars": {}
},
"all": {
"children": [
"ungrouped"
]
},
"ungrouped": {}
}
Summingвверх: Основная проблема, кажется, строка:
[WARNING]: * Failed to parse /path/to/foo.azure_rm.yaml with azure_rm plugin: Unicode-objects must be encoded before hashing
Помогите, кто-нибудь?