With_items и «зарегистрированный» вывод с использованием ios_module и отсутствие новых строк в stdout_lines - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь создать игру для сбора информации о сети после любых изменений (в основном, тесты достижимости и / или трассировки от удаленных сетевых устройств с использованием модуля ios_command. Если я помещаю все команды как отдельные элементы в формате списка (в основном жесткий код)пункты назначения ping) в игре вывод будет печататься нормально с символами новой строки и т. д. Я могу использовать stdout_lines при отладке: вывод msg и получать структурированные выходные данные.

Если я хочу поместить эти цели ping в файл и использовать with_itemsв воспроизведении, ссылающемся на эту переменную, зарегистрируйте вывод во время выполнения воспроизведения, а затем используйте модуль отладки в последующем воспроизведении (снова используя with_items), данные в stdout_lines не имеют символов новой строки (кажется, что вместо символов новой строки вместо них стоит «u», когдаЯ вывожу через отладку).

"msg": ["строка 1 [[u'Type escape-последовательность для отмены. ', U'Sending 3, 100-байтовый эхо-запрос ICMP на 172.16.8.231, тайм-аут равен 2секунд: ', u'Пакет отправлен с адресом источника 172.16.40.2', u '!!!', u'SuccСкорость ess составляет 100 процентов (3/3), мин. / мин. / макс. = 23/23/23 мс 'туда и обратно', [u'Type escape-последовательность для отмены. ', u'Tracing маршрут к 172.16.8.231', u'VRF информация: (vrf в имени / идентификаторе, vrf out в имени / идентификаторе) ', u' 1 172.16.40.3 2 мсек, u '2 172.30.200.1 23 мсек', u '3 172.20.2.41 24 мсек', u '4 172.16.8.231 23 мсек']] ",

Вот задачи

 - name: Ping Devices
   ios_command:
     commands:
         - "ping {{item}} source Po1.20 re 3"
        - "tracerout {{item}} source Po1.20 probe 1 timeout 1 ttl 1 6"
    register: output
    with_items: "{{PING_TARGETS}}"
  - name: show registered output
    debug:
      msg:
        - "line 1{{ output.results[0].stdout_lines }} "
        - "line 2 is {{output.results[1].stdout_lines}} "

Когда это печатает, это одна длинная строка, которая затрудняет расшифровку (особенно traceroute),Я попытался использовать with_items на стороне отладки с «output.results», а затем с помощью «item» в выходном операторе, но я не смог получить это для вывода нужных результатов (именно поэтому я пошел, указав номер списка какoutput.results [0]).

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...