Nikolay
Точно. Вот это я и проглядел. Хотя в прошлом плейбуке не прошляпил и создал подпапки tsksk. Спасибо.
Nikolay
а чтобы скопировать полностью папку с ансибл-хоста на удаленный хост, надо использовать synchronize?
Artem
Или copy
Nikolay
Или copy
copy сожрал всю память и весь swap 0_о
Artem
Зачит что-то не так делаешь, копи через sftp/scp работает, и как оно может вожрать всю память я с трудом представляю
Nikolay
вот эту папку пытаюсь скопировать
Nikolay
может лучше ее в архив, а потом копи вызывать? а на месте уже разархивировать
Nikolay
в общем копи не выжил "ERROR! A worker was found in a dead state"
🇷🇺 Роман
Nikolay
уже через synchronize сделал. всё скопировалось 👍
Dmitry
парни, а есть по солту чят?
Denis 災 nobody
Этот был. Первого апреля.
Dmitry
а спрошу тут - один хер джинджа и ямль
Dmitry
targets: host13: checks: - icmp - node - ports: - 80 - 22
Dmitry
есть такой ямль
Dmitry
и нужно его распарсить джинжой, чтобы сунуть в другой ямль только в другом виде
Dmitry
и все нормально парсится-разбирается
Dmitry
пока я не упираюсь в - ports: - 80 - 22
Sergey
пока я не упираюсь в - ports: - 80 - 22
хитрая вещь - элемент списка, являющийся словарём с одним ключом, по которому лежит список 😊))) похоже, что месье любит боль и унижение. а какая задача изначально стоит по парсингу этой псевдорадости?
Dmitry
ну надо сделать удобный конфиг для того чтобы генерить не очень удобный конфиг
Dmitry
{% for check in ["https", "node", "http", "icmp", "ports"] %} - targets: {%- for host, properties in pillar.get('targets', {}).iteritems() -%} {% if check in properties["checks"] -%} {% if check == 'node' %} - {{ host }}:9100 - {{ host }}:9126 {%- elif check is iterable %} blahblah {%- else %} - {{ host }} {%- endif %} {%- endif -%} {%- endfor -%} {% endfor %}
Dmitry
вот как то так сейчас
Sergey
что ломается?
Dmitry
да ничего не ломается, просто в итерации с ports пусто
Dmitry
пробовал {%- elif 'ports' in check %}
Dmitry
тоже не едет
Sergey
я бы при отладке такой конструкции попробовал проверить работу условных блоков
Sergey
ну и dict - вовсе не iterable
Dmitry
я думаю что {% if check in properties["checks"] -%} тут просто не отрабатывает
Sergey
отрабатывает, но не тем способом 😊 напиши {% else %} блоки для if-ов, результат обещает быть интересным
Dmitry
{'checks': ['icmp', 'node', {'ports': [80, 22]}]}
Dmitry
вот что в пропертис кстати
Sergey
я ж тебе так и сказал - портс это словарь (dict или hash)
Sergey
туплю
Sergey
не портс - словарь, а тртий элемент списка - словарь с единственным ключом "портс", значением которого является список
Sergey
так что там пригодится вот эта проверка - http://jinja.pocoo.org/docs/2.9/templates/#mapping
Sergey
и дальше уже внутри этого словаря проходить циклом по парам "ключ-значение"
Anonymous
Вечер добрый. Парни, почему when: ansible_distribution_version не отрабатывает?
Anonymous
Имею вот такую конструкцию: - name: Copy the binary file (CentOS 7). copy: src: binfile_7 dest: /bin/binfile mode: 0755 when: ansible_distribution_version >= 7 - name: Copy the binary file (CentOS 6). copy: src: binfile_6 dest: /bin/binfile mode: 0755 when: ansible_distribution_version < 7
Dmitry
targets: host13: checks: - icmp - node ports: - 80 - 22
Anonymous
о как. Спасибо
Sergey
о как. Спасибо
ю а велкам
Anonymous
вроде не первый день с ансиблом работаю, а это шаманство ненужно было)
Sergey
а помогло?
Sergey
дока говорит, что этот фильтр ещё с 1.6 существует
Anonymous
сделал изящней
Anonymous
- name: Copy the binary file. copy: src: binfile_{{ ansible_distribution_major_version }} dest: /bin/binfile mode: 0755
Sergey
а, ну тож годно. только LFHS не соответствует 😞... если хочется красиво - "/opt/provider_name/application_name/bin/binfile" в тренде
Anonymous
а почему не /usr/local/bin вроде тоже подходит)
Anonymous
Потому что там обычно бардак
Ilya
Приветствую!
Ilya
Это нормально что команды которые на выходе дают много строчек инфы не "пролезают" через анзибль? Например: show interfaces fe-0/0/7.0 работает, а show interfaces fe-0/0/7, которая выдает на пару десятков строк больше 0 нет.
Ilya
Ilya
у вас парамико?
как проверить? я не знаю даже, по гайдам всё ставил)
Nikolay
У меня ansible 2.2.1.0 show run забирает нормально
Ilya
У меня ansible 2.2.1.0 show run забирает нормально
no module named utils пишет, 2.3.0.0 версия
Nikolay
Это при запуске ansible? Как вы его ставили?
Anonymous
git clone наверно.
Ilya
при выполнении плейбука
Ilya
вот собственно сам бук
Ilya
Ilya
подозреваю, что нет каких-то зависимостей Питона, либо система не может их найти, получается
Nikolay
Я тоже так думаю. Я ставил через pip, он всё нужно всасывает
Alf 🙀
подозреваю, что нет каких-то зависимостей Питона, либо система не может их найти, получается
месье, просто чтобы развеять свои сомнения в пух и прах, вы же джунос консольку нам показываете, да?
Ilya
месье, просто чтобы развеять свои сомнения в пух и прах, вы же джунос консольку нам показываете, да?
это SSH-сессия до NMS, на которой стоит анзибль, который стучится на Juniper SRX 240
Nikolay
Да
Ilya
странно, делал то же самое...
Ilya
а не напомните мне что такое NMS?
нетворк менеджмент стейшн. Виртуалка с дебианом)
Alf 🙀
окей