Jump to content

внесение изменений в конфигурацию оборудования через ansible


Recommended Posts

Posted

День добрый, нашел статью на "нагах" про прошивку через ансибл.

Все в ней хорошо, но выполняется она без перехода в режим configure, а мне необходимо на всех свичах разом добавить допустим параметр logging, для сбора данных на определенном хосту, и ни в какую ансибл не переходит в режим конфигурации.

freebsd13:/home/user/ansible # cat make_log_snr.yml
---
- name: make_logging
  hosts: S2985G
  gather_facts: false
  tasks:
  connection: network_cli

  vars:
    ansible_user: admin
    ansible_ssh_pass: admin
    ansible_network_os: ios
    ansible_become: yes
    ansible_become_method: enable
    ansible_become_password: pass

  tasks:
    - name: Logging
      ios_command:
         commands:
           - command: 'configure'
           - command: 'logging 10.0.0.252 facility local7 level debugging'
           - command: 'exit'

    - name: Switch save
      ios_command:
        commands:
          - command: 'write'
            prompt: '\[Y/N\]:'
            answer: 'y'

    - name: Switch exit
      ios_command:
        commands:
         - command: 'exit'
      ignore_errors: yes

При попытке выполнить данный сценарий выдает ошибку: 

freebsd13:/home/user/ansible # ansible-playbook -i inventory.yml make_log_snr.yml
[WARNING]: While constructing a mapping from /usr/home/user/ansible/make_log_snr.yml, line 2, column 3, found a duplicate dict key (tasks). Using last defined value only.

PLAY [make_logging] *********************************************************************************************************************************************************************************

TASK [Logging] **************************************************************************************************************************************************************************************
[WARNING]: ansible-pylibssh not installed, falling back to paramiko
fatal: [10.0.0.4]: FAILED! => {"changed": false, "msg": "logging 10.0.0.252 facility local7 level debugging\r\n                            ^\r\n% Invalid input detected at '^' marker.\r\n\r\nsnr.s}

PLAY RECAP ******************************************************************************************************************************************************************************************
10.0.0.4                   : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

Ну и как бы понятно что он пытается выполнить команду logging 10.0.0.252 facility local7 level debugging не в "конфиг" режиме, как быть, помогите.

Posted

Оказывается есть разные типы команд - ios_config и ios_command, и они как раз выполняются в режиме конфигурации и нет, если кому то понадобится.

freebsd13:/home/user/ansible # cat make_log_snr.yml
---
- name: make_logging
  hosts: S2985G
  gather_facts: false
  tasks:
  connection: network_cli

  vars:
    ansible_user: admin
    ansible_ssh_pass: admin
    ansible_network_os: ios
    ansible_become: yes
    ansible_become_method: enable
    ansible_become_password: pass

  tasks:
    - name: Logging
      ios_config:
         commands: logging 10.0.0.252 facility local7 level debugging
         parents: []
      register: result

    - name: save
      ios_command:
        commands:
          - command: 'write'
            prompt: '\[Y/N\]:'
            answer: 'y'

    - name: Switch exit
      ios_command:
        commands:
         - command: 'exit'
      ignore_errors: yes

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.