Lamobot
а версия у хогвартса какая?
К фактам можно обращаться через словарь ansible_facts['элемент_словаря'] а можно через ansible_элемент_словаря
shuu
ага, я уже отдебажил, нашел ошибку
shuu
в ansible_facts тире в подчеркивание превращается
shuu
KeyError: 'br-e9e0af23e01a'
shuu
но у меня не настолько длинная волшебная палочка, чтобы починить ваше заклинание
Lamobot
Тогда ещё replace нужно к интерфейсам применять
shuu
Тогда ещё replace нужно к интерфейсам применять
а как одновременно вытащить и имя и макадресс?
shuu
tasks: - name: wtf delegate_to: localhost debug: msg: "{{item.device}} {{item.macaddress}}" with_items: "{{ ansible_interfaces | map('regex_replace', '-', '_') | map('extract', ansible_facts) | selectattr('active') | selectattr('type','equalto','ether') | list }}"
shuu
почему selectattr нет в официальной доке?
shuu
это черная магия?
Lamobot
почему selectattr нет в официальной доке?
Воу-воу! Полегче! Есть секретный jinja гримуар https://jinja.palletsprojects.com/en/2.11.x/templates/#list-of-builtin-filters
Lamobot
Только никому не говори! 🤫
Dan
а тут судя по всему тащится просто как enp7s0
можно делать так: vars['ansible_'~nic_name].ipv4.address например, {{ nic_name }} == 'enp7s0' в данном случае
Petr
Может глупый вопрос, но тем не менее, что необходимо установить и в какой последовательности в CentOS 7 чтобы беспроблемно заработал модуль docker_compose?
George
У меня такой же глупый вопрос
George
А зачем тебе это ?
Vitaly
Питоновский пакет, докер и композ? )
Vitaly
Вроде ничего больше не ставил
Vitaly
Ну да, репозиторий docker-ce еще
V 🏴‍☠️
Питоновский пакет, докер и композ? )
ТС хочет не то, чтобы композом воспользоваться, а модулем ансибла docker_compose
Petr
Вроде ничего больше не ставил
Чёт всё перепробовал. Какой-то конфликт питоновских либ возникает видимо
George
Чёт всё перепробовал. Какой-то конфликт питоновских либ возникает видимо
Ага, а ты чего хотел. Вот коллега на днях с этим мучался, можешь выше поискать
George
Позавчера вроде
Sergey
Не найдёшь.
George
Надо было оставить для истории
Отделение Bereke Bank
Может глупый вопрос, но тем не менее, что необходимо установить и в какой последовательности в CentOS 7 чтобы беспроблемно заработал модуль docker_compose?
Я делаю так и все норм. Докер из центосьих реп. Не из CE - name: Install docker and docker-compose pip packages pip: name: - docker==4.0.2 - docker-compose==1.25.0 state: present
Отделение Bereke Bank
Ты фигачишь в системный питон пипом?
на хостах с докером да 😒
Sergey
на хостах с докером да 😒
😂 нет больше вопросов
Отделение Bereke Bank
Elenhil
Композ прекрасно ставится с юма
Отделение Bereke Bank
😂 нет больше вопросов
работает - пох. в свое время столько говна с этими двумя модулями наелся
George
😂 нет больше вопросов
Нужно больше питоносрача
Sergey
А в чем проблема?
Судя по твоему вопросу, с этим никаких проблем нет.
Elenhil
Он там старый
В епеле разве старый? Ок, давно не сидел на центоси
Petr
работает - пох. в свое время столько говна с этими двумя модулями наелся
Полностью согласен, если на хосте больше ничего не планируется ставить
Elenhil
Полностью согласен, если на хосте больше ничего не планируется ставить
Ставить систем вайд пакеты с двух разных источников-так себе идея
Elenhil
Вот теперь и не работает ансиболь)
Petr
Ставить систем вайд пакеты с двух разных источников-так себе идея
Для меня главное конечное состояние системы - чтобы работало так как ожидается. А что там и как ставится мне пофиг есчесно. Другой более критичной боли и без этого хватает...
Sergey
Ставить систем вайд пакеты с двух разных источников-так себе идея
В том-то и шутка юмора, что pip системным пакетам перпендикулярен.
Petr
Я не просто так спросил про последовательность установки...
George
В том-то и шутка юмора, что pip системным пакетам перпендикулярен.
Слушай, а как варик - сварить енв с докер и докер компоуз модулями и просто указать питону через настройку ансибла запускаться оттуда - такое прокатит ?
George
йеп
Ivan
срочно в прод
George
Мне кажется, эта проблема будет повторяться из раза в раз и достойна занесения в факью
Отделение Bereke Bank
Слушай, а как варик - сварить енв с докер и докер компоуз модулями и просто указать питону через настройку ансибла запускаться оттуда - такое прокатит ?
и потом инсталить туда пакеты для каждого другого модуля? ты же не сможешь переопределить интерпритатор только для докеровых тасок
Elenhil
Зачем нужны дев пакеты в системе?
George
Зачем нужны дев пакеты в системе?
Дефайн «дев пакет»?
Elenhil
Да и вообще ящитаю установку доп пакетов, у которых нет назначения кроме "депенденси для ансиблового модуля" на клиентской системе - так себе идеей
Elenhil
Оно как бы и ничего страшного, но система засирается
Sergey
Противоречит FHS, опять же.
Sergey
Просто собираешь RPM с нужной дрянью - и всё.
George
Это идеальный кейс
George
Но... коллеги хотят грязно, быстро, но чтоб без последствий
Sergey
Напрашиваются аналогии из области биологии :-D в двух словах - "это невозможно"
Fire
Ну пишется дольше pkgbuild, но не на много.
Alexander
Такая проблема: использую модули - выводит бред. Использую башсибл - выводит то что нужно. Есть textfile.txt с содержимым: consumerTable="value" loadKey="[ID]" oracleFormat="" awake="value" Есть плейбук: - debug: msg: "{{ item.split('=')[0] }}" with_items: "{{lookup('file', 'textfile.txt') }}" - shell: cat textfile.txt register: lines - debug: msg: "{{ item.split('=')[0] }}" with_items: "{{ lines.stdout_lines }}" И вывод: TASK [debug] ************ ok: [localhost] => (item=None) => msg: consumerTable TASK [shell] ******************* changed: [localhost] TASK [debug] *********************** ok: [localhost] => (item=None) => msg: consumerTable ok: [localhost] => (item=None) => msg: loadKey ok: [localhost] => (item=None) => msg: oracleFormat ok: [localhost] => (item=None) => msg: awake
Elenhil
ith_items: "{{lookup('file', 'textfile.txt') }}" возвращает тебе содержимое файла одной строкой
Alexander
Вот оно что, спасибо
Elenhil
ты его сплитишь, получаешь в [0] что надо