Ansible 与 aruba aoscx 剧本和模块问题

问题描述 投票:0回答:1

我在使用 ansible 和 aruba aoscx(型号 8325)时遇到一些问题,我只用主机和剧本进行了简单的安装,它们适用于 vlan 和横幅配置,但当我想做接口时出现了问题。 所以我在论坛上搜索并安装了requirements.txt和.yml,但之后我的简单vlan配置手册就不再工作了。 当我不安装requirements.txt和.yml时,VLAN可以工作,但接口不能工作,因为缺少一些模块。

我尝试更改我的连接方法(目前使用api:“8325-data ansible_host= ansible_user= ansible_password= ansible_connection=httpapi ansible_network_os=aoscx ansible_httpapi_validate_certs=False ansible_httpapi_use_ssl=True ansible_acx_no_proxy=True”) 我尝试过这个:

another host in yml 但他没有工作。

所以首先我尝试在没有任何模块的情况下启动我的剧本:Error without modules

之后我尝试安装 pyaoscx 就像之前的错误所说的那样,但它不起作用:

fatal: [test]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  
File \"/root/.ansible/tmp/ansible-local-3218g33sflom/ansible-tmp-1681219383.9224215-3271-232635014444859/AnsiballZ_aoscx_interface.py\", line 102, in <module>\n    _ansiballz_main()\n  
File \"/root/.ansible/tmp/ansible-local-3218g33sflom/ansible-tmp-1681219383.9224215-3271-232635014444859/AnsiballZ_aoscx_interface.py\", line 94, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  
File \"/root/.ansible/tmp/ansible-local-3218g33sflom/ansible-tmp-1681219383.9224215-3271-232635014444859/AnsiballZ_aoscx_interface.py\", line 40, in invoke_module\n  
runpy.run_module(mod_name='ansible.modules.aoscx_interface', init_globals=None, run_name='__main__', alter_sys=True)\n  
File \"/usr/lib/python3.9/runpy.py\", line 210, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  
File \"/usr/lib/python3.9/runpy.py\", line 97, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  
File \"/usr/lib/python3.9/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n  
File \"/tmp/ansible_aoscx_interface_payload_0ce255zt/ansible_aoscx_interface_payload.zip/ansible/modules/aoscx_interface.py\", line 477, in <module>\n  
File \"/tmp/ansible_aoscx_interface_payload_0ce255zt/ansible_aoscx_interface_payload.zip/ansible/modules/aoscx_interface.py\", line 429, in main\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/pyaoscx_factory.py\", line 22, in __call__\n    cls.__instance = super(Singleton, cls).__call__(*args, **kwargs)\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/device.py\", line 36, in __init__\n    self.get_firmware_version()\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/pyaoscx_module.py\", line 39, in ensure_connected\n    return fnct(self, *args, **kwargs)\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/device.py\", line 199, in get_firmware_version\n    data = self.get_firmware_info()\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/pyaoscx_module.py\", line 39, in ensure_connected\n    
return fnct(self, *args, **kwargs)\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/device.py\", line 218, in get_firmware_info\n    
raise GenericOperationError(response.text, response.status_code)\npyaoscx.exceptions.generic_op_error.GenericOperationError: 'GENERIC OPERATION ERROR: Missing CSRF token: Code: 403'\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

我的界面手册:

- hosts: all
  roles:
    - role: arubanetworks.aoscx_role
  tasks:
    - name: test
      aoscx_interface:
        name: 1/1/1
        description: "with ansible"

这个 vlan 的剧本目前正在工作:

- hosts: all
  roles:
    - role: arubanetworks.aoscx_role
  tasks:
    - name: Create Vlan 300
      aoscx_vlan:
        vlan_id: "300"
        description: "with ansible" 

当我安装requirements.txt和.yml时,我遇到了这个问题:

pyaoscx.exceptions.generic_op_error.GenericOperationError: 'GENERIC OPERATION ERROR: Missing CSRF token: Code: 403'
fatal: [test]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  
File \"/root/.ansible/tmp/ansible-local-2734ibid8snz/ansible-tmp-1681219182.6246307-2787-110852312667305/AnsiballZ_aoscx_vlan.py\", line 102, in <module>\n    _ansiballz_main()\n  
File \"/root/.ansible/tmp/ansible-local-2734ibid8snz/ansible-tmp-1681219182.6246307-2787-110852312667305/AnsiballZ_aoscx_vlan.py\", line 94, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  
File \"/root/.ansible/tmp/ansible-local-2734ibid8snz/ansible-tmp-1681219182.6246307-2787-110852312667305/AnsiballZ_aoscx_vlan.py\", line 40, in invoke_module\n    runpy.run_module(mod_name='ansible.modules.aoscx_vlan',
 init_globals=None, run_name='__main__', alter_sys=True)\n  
File \"/usr/lib/python3.9/runpy.py\", line 210, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  
File \"/usr/lib/python3.9/runpy.py\", line 97, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  
File \"/usr/lib/python3.9/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n
File \"/tmp/ansible_aoscx_vlan_payload_5mgje5cx/ansible_aoscx_vlan_payload.zip/ansible/modules/aoscx_vlan.py\", line 215, in <module>\n  
File \"/tmp/ansible_aoscx_vlan_payload_5mgje5cx/ansible_aoscx_vlan_payload.zip/ansible/modules/aoscx_vlan.py\", line 135, in main\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/pyaoscx_factory.py\", line 22, in __call__\n    cls.__instance = super(Singleton, cls).__call__(*args, **kwargs)\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/device.py\", line 36, in __init__\n    self.get_firmware_version()\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/pyaoscx_module.py\", line 39, in ensure_connected\n    return fnct(self, *args, **kwargs)\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/device.py\", line 199, in get_firmware_version\n    data = self.get_firmware_info()\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/pyaoscx_module.py\", line 39, in ensure_connected\n    return fnct(self, *args, **kwargs)\n  
File \"/usr/local/lib/python3.9/dist-packages/pyaoscx/device.py\", line 218, in get_firmware_info\n    
raise GenericOperationError(response.text, response.status_code)\npyaoscx.exceptions.generic_op_error.GenericOperationError: 'GENERIC OPERATION ERROR: Missing CSRF token: Code: 403'\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

(感谢您提供有关我尝试编辑的不良做法的信息)

ansible aruba ansible-api
1个回答
0
投票

有人帮助了我,实际上在我的配置中我混合了两种方法,所以要解决这个问题只需安装需求和集合:

  1. 安装ansible

  2. 安装 ansible 集合 arubanetworks aoscx :

ansible-galaxy collection install arubanetworks.aoscx
  1. 安装这两个要求:
ansible-galaxy install -r requirements.yml

python3 -m pip install -r requirements.txt

对于剧本:

- hosts: all
  collections:
    - arubanetworks.aoscx
  vars:
    ansible_python_interpreter: /usr/bin/python3
  gather_facts: False
  tasks:
    - name: test
      aoscx_interface:
        name: 1/1/1
        description: "with ansible"

并且在主机文件(开关)中您必须放置:

8325-data ansible_host=<host> ansible_user=<user> ansible_password=<password> ansible_connection=arubanetworks.aoscx.aoscx ansible_network_os=aoscx ansible_httpapi_validate_certs=False ansible_httpapi_use_ssl=True ansible_acx_no_proxy=True

此答案作为 edit 发布到问题 Ansible with aruba aoscx playbook 和模块问题[已解决],由 OP Nsso 在 CC BY-SA 4.0 下发布。

© www.soinside.com 2019 - 2024. All rights reserved.