Соответствие шаблону запуска неисправностей по команде cisco iosxr в Ansible - PullRequest
0 голосов
/ 30 октября 2019

У меня есть регулярное выражение, которое соответствует всему после определенного слова. Когда я вызываю этот pattern_match в моей пьесе, я получаю следующую ошибку:

*ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.
The error appears to be in '/etc/ansible/REGEX.yml': line 12, column 6, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:*

           show int bundle-ether 21 | inc clearing
   - name: get time
     ^ here

Код ниже:

---
- hosts: SCRING
  gather_facts: true
  connection: network_cli

  tasks:

   - name: show int | inc clearing
     iosxr_command:
       commands:
           show int bundle-ether 21 | inc clearing
   - name: get time
     pattern_match:
       regex: "(?<=counters ).*$"
     export: yes
     register: last
   - debug:
       msg: "{{ inventory_hostname }} counters last cleared - {{ last }}"

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Мне удалось запустить этот процесс, создав отдельный файл yaml для разбора.

См. Ниже:

- name: parser meta data
  parser_metadata:
    version: 1.0
    command: show int bundle-ether 20 | inc clearing
    network_os: iosxr


- name: get time
  pattern_match:
    regex: "(?<=counters ).*$"
    match_all: yes
  register: last
  export: yes

AND

---
- hosts: SCRING
  gather_facts: false
  connection: network_cli


  roles:
    - ansible-network.network-engine


  tasks:

   - name: show int | inc clearing
     iosxr_command:
       commands:
         - show int bundle-ether 20 | inc clearing
     register: clearing

   - name: PARSE
     command_parser:
       file: "parser_templates/last_cleared.yml"
       content: "{{ clearing.stdout[0] }}"

   - debug:
       msg: "{{ inventory_hostname }} counters last cleared - {{ last }}"

Это мне не очень понравилось, вывод выглядит так:

msg: 'Счетчики CHS_ASR в последний раз очищены - [{' 'совпадений' ': u''1w1d' '}]'

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

0 голосов
/ 30 октября 2019

Я подозреваю, что проблема синтаксиса в "команда" .. вы можете попробовать, как показано ниже.

commands: show int bundle-ether 21

или

commands:
    - show int bundle-ether 21

добавлен дефис (-) для команды во второй попытке. .

...