Я пытаюсь поэкспериментировать с динамической инвентаризацией Ansible, чтобы установить программное обеспечение или выполнить управление конфигурацией.
Я выполнил инструкции, приведенные здесь Microsoft: https://docs.microsoft.com/en-us/azure/ansible/ansible-manage-azure-dynamic-inventories
Команды из моегоВМ находятся здесь:
az group create --resource-group ansible-inventory-test-rg --location eastus
az vm create --resource-group ansible-inventory-test-rg --name ansible-inventory-test-vm1 --image UbuntuLTS --generate-ssh-keys
az vm create --resource-group ansible-inventory-test-rg --name ansible-inventory-test-vm2 --image UbuntuLTS --generate-ssh-keys
az account show
az resource tag --tags nginx --id /subscriptions/<Subscription ID>/resourceGroups/ansible-inventory-test-rg/providers/Microsoft.Compute/virtualMachines/ansible-inventory-test-vm1
wget https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/azure_rm.py
chmod +x azure_rm.py
ansible -i azure_rm.py ansible-inventory-test-rg -m ping
Однако выдает ошибку, как показано ниже:
[WARNING]: * Failed to parse /media/sf_C_DRIVE/OnlyOnMyPC/ansible.rhel75.master/azure_rm.py with script plugin: Inventory script
(/media/sf_C_DRIVE/OnlyOnMyPC/ansible.rhel75.master/azure_rm.py) had an execution error: /usr/lib/python2.7/site-packages/requests/__init__.py:91:
RequestsDependencyWarning: urllib3 (1.24.1) or chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning) 'Cloud' object has no attribute 'find'
[WARNING]: * Failed to parse /media/sf_C_DRIVE/OnlyOnMyPC/ansible.rhel75.master/azure_rm.py with ini plugin:
/media/sf_C_DRIVE/OnlyOnMyPC/ansible.rhel75.master/azure_rm.py:22: Error parsing host definition ''''': No closing quotation
[WARNING]: Unable to parse /media/sf_C_DRIVE/OnlyOnMyPC/ansible.rhel75.master/azure_rm.py as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
[WARNING]: Could not match supplied host pattern, ignoring: ansible-inventory-test-rg
Я не удивлен, увидев, что она не работает, так как технически загрузка материала из интернета не будет работатьнапрямую, должно быть какое-то соединение.
Я не могу понять, что здесь является отсутствующей ссылкой, поскольку я выполнил ее в качестве документа с сайта Microsoft, я что-то здесь упускаю?
Кроме того, как этот сценарий Python будет знать, какую подписку, какую группу ресурсов и какие виртуальные машины он должен применить для конкретной пьесы?