Кто-нибудь успешно использовал этот модуль? Я пытался следовать инструкциям здесь и, похоже, застрял на чем-то глупом: Я установил модуль через ansible-galaxy. Насколько я понимаю, обычный инвентарь "hosts" в Ansible просто не используется для этого модуля, но если это не так, я не могу понять, как это делается по этим инструкциям. Вот пример из моего .yml: YAML: # Разворачивает контейнер Arvados
- hosts: localhost
tasks:
- name: Создать API контейнер
community.general.proxmox:
vmid: 500
node: ibnmajid
api_user: root@pam
api_password: setecastronomy
api_host: ibnmajid
password: setecastronomy
hostname: arvados-api
ostemplate: 'largewrxFS:vztmpl/ubuntu-20.04-standard_20.04-1_amd64.tar.gz'
cores: 1
memory: 2048
disk: 40
storage: fastwrx
mounts: '{"mp0":"largewrxFS:/arvadosdata/,mp=/mnt/arvadosdata/"}'
netif: '{"net0":"name=eth0,gw=192.168.9.1,ip=192.168.9.80/24,bridge=vmbr0"}'
unprivileged: no
validate_certs: no
onboot: yes
description: контейнер для Arvados API сервера (очевидно, некорректный пароль) Затем у меня есть еще несколько -name записей для создания дополнительных контейнеров. Это постоянно дает сбой. Я пытался создать простой hosts.yml в качестве заглушки, но это не помогло. Код: jtd@Picon:~/arvados-cluster$ ansible-playbook arvados-deploy-hosts.yml -i hosts.yml
PLAY [localhost] *****************************************************************************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************************************************************
ok: [localhost]
TASK [Create API container] ******************************************************************************************************************************************************************
Во время выполнения задачи произошла ошибка. Чтобы увидеть полный трассировочный вывод, используйте -vvv. Ошибка: TypeError: deprecate() получил неожиданный аргумент 'collection_name'
фатальная ошибка: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/home/jtd/.ansible/tmp/ansible-tmp-1613891679.837745-47033749956554/AnsiballZ_proxmox.py\", line 102, in <module>\n _ansiballz_main()\n File \"/home/jtd/.ansible/tmp/ansible-tmp-1613891679.837745-47033749956554/AnsiballZ_proxmox.py\", line 94, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/jtd/.ansible/tmp/ansible-tmp-1613891679.837745-47033749956554/AnsiballZ_proxmox.py\", line 40, in invoke_module\n runpy.run_module(mod_name='ansible_collections.community.general.plugins.modules.proxmox', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/lib/python3.8/runpy.py\", line 207, in run_module\n return _run_module_code(code, init_globals, run_name,\n File \"/usr/lib/python3.8/runpy.py\", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/usr/lib/python3.8/runpy.py\", line 87, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_community.general.proxmox_payload_y_kcagyv/ansible_community.general.proxmox_payload.zip/ansible_collections/community/general/plugins/modules/proxmox.py\", line 706, in <module>\n File \"/tmp/ansible_community.general.proxmox_payload_y_kcagyv/ansible_community.general.proxmox_payload.zip/ansible_collections/community/general/plugins/modules/proxmox.py\", line 546, in main\nTypeError: deprecate() got an unexpected keyword argument 'collection_name'\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
PLAY RECAP ***********************************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0 Я *предполагаю*, что вы используете "localhost" для "host" в Ansible, потому что детали для каждого создаваемого контейнера содержат API-хост, к которому вы подключаетесь и выполняете команды. Если это не так, то из документации это совершенно неясно. Может кто-нибудь объяснить мне это? Заранее спасибо.
- hosts: localhost
tasks:
- name: Создать API контейнер
community.general.proxmox:
vmid: 500
node: ibnmajid
api_user: root@pam
api_password: setecastronomy
api_host: ibnmajid
password: setecastronomy
hostname: arvados-api
ostemplate: 'largewrxFS:vztmpl/ubuntu-20.04-standard_20.04-1_amd64.tar.gz'
cores: 1
memory: 2048
disk: 40
storage: fastwrx
mounts: '{"mp0":"largewrxFS:/arvadosdata/,mp=/mnt/arvadosdata/"}'
netif: '{"net0":"name=eth0,gw=192.168.9.1,ip=192.168.9.80/24,bridge=vmbr0"}'
unprivileged: no
validate_certs: no
onboot: yes
description: контейнер для Arvados API сервера (очевидно, некорректный пароль) Затем у меня есть еще несколько -name записей для создания дополнительных контейнеров. Это постоянно дает сбой. Я пытался создать простой hosts.yml в качестве заглушки, но это не помогло. Код: jtd@Picon:~/arvados-cluster$ ansible-playbook arvados-deploy-hosts.yml -i hosts.yml
PLAY [localhost] *****************************************************************************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************************************************************
ok: [localhost]
TASK [Create API container] ******************************************************************************************************************************************************************
Во время выполнения задачи произошла ошибка. Чтобы увидеть полный трассировочный вывод, используйте -vvv. Ошибка: TypeError: deprecate() получил неожиданный аргумент 'collection_name'
фатальная ошибка: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/home/jtd/.ansible/tmp/ansible-tmp-1613891679.837745-47033749956554/AnsiballZ_proxmox.py\", line 102, in <module>\n _ansiballz_main()\n File \"/home/jtd/.ansible/tmp/ansible-tmp-1613891679.837745-47033749956554/AnsiballZ_proxmox.py\", line 94, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/jtd/.ansible/tmp/ansible-tmp-1613891679.837745-47033749956554/AnsiballZ_proxmox.py\", line 40, in invoke_module\n runpy.run_module(mod_name='ansible_collections.community.general.plugins.modules.proxmox', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/lib/python3.8/runpy.py\", line 207, in run_module\n return _run_module_code(code, init_globals, run_name,\n File \"/usr/lib/python3.8/runpy.py\", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/usr/lib/python3.8/runpy.py\", line 87, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_community.general.proxmox_payload_y_kcagyv/ansible_community.general.proxmox_payload.zip/ansible_collections/community/general/plugins/modules/proxmox.py\", line 706, in <module>\n File \"/tmp/ansible_community.general.proxmox_payload_y_kcagyv/ansible_community.general.proxmox_payload.zip/ansible_collections/community/general/plugins/modules/proxmox.py\", line 546, in main\nTypeError: deprecate() got an unexpected keyword argument 'collection_name'\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
PLAY RECAP ***********************************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0 Я *предполагаю*, что вы используете "localhost" для "host" в Ansible, потому что детали для каждого создаваемого контейнера содержат API-хост, к которому вы подключаетесь и выполняете команды. Если это не так, то из документации это совершенно неясно. Может кто-нибудь объяснить мне это? Заранее спасибо.
