Huan
fatal: [host1]: FAILED! => { "changed": false } MSG: ValueError: u'host1' is not in list
Huan
в hosts: [kafka] host1 ansible_host=192.168.1.1 host2 ansible_host=192.168.1.2 host3 ansible_host=192.168.1.3
Nklya
Если ты пилишь роль для кафки подсмотри просто как это сделано в готовых ролях, может там уже все придумали за тебя
Huan
спасибо погуглю
Huan
{{ groups.somegroup.index(inventory_hostname) }} - так заработало. правда нумерация с 0. возможно ли как-то указать нумерацию с 1?
Huan
есть еще такой вариант {{ play_hosts.index(inventory_hostname) }}
Joe
Подскажите, как сделать, чтобы при установке еще создавался отдельно фаил лога pip install -r /home/jenkins/app/requirements.txt --log /home/jenkins/app/requirements-install.log ====== - name: install requirements--log pip: virtualenv_python: python2.7 requirements: /home/jenkins/app/requirements.txt virtualenv: /home/jenkins/app/venv virtualenv_site_packages: yes
Huan
подскажите как логи ансибла на клиентах писать в отдельный лог?
Timur
http://docs.ansible.com/ansible/latest/modules/pip_module.html
Joe
extra_args есть, можно попробовать
extra_args: --log /home/jenkins/app/requirements-install.log так?
Joe
extra_args есть, можно попробовать
Тимур Благодарю, да такая фича сработала.
Timur
не за что, документация к модулям творит чудеса :)
wndrfl
Dorian
gluster=[ {"/dev/vdb": "/data/brick@z_01" }, { "/dev/vdb": "/data/brick@z_02"} ] Парни, знат кто как правильно со списком словарей работать?
Dorian
with_list не катит, with_dict тоже
Sergey
в общем случае тебе сюда - https://docs.ansible.com/ansible/2.4/playbooks_loops.html#looping-over-subelements
Dorian
а что сделать хочешь?
item.key item.value c каждого словаря
Dorian
Уже читал, но не въехал пока
Dorian
lookup('dict', item).key может ?
Dorian
Нет, не поможет
shadow
Кто знает как переписать, чтобы работало? - hosts: host1 tasks: - name: check if package is installed package: name: mypackage state: present check_mode: true register: mypackage_check - name: run script if package installed shell: myscript.sh when: not mypackage_check.changed Выдает: FAILED! => {"changed": false, "msg": "No package matching 'mypackage' found available, installed or updated", "rc": 126, "results": ["No package matching 'mypackage' found available, installed or updated"]}
shadow
уж очень хочется платформонезависимую проверку на установленную апликацию
Vadim
when: mypackage_check.rc == 0
shadow
в первый таск чтоли?
shadow
выбивает именно на первом таске
Huan
подскажите как заюзать переменные в шаблоне: programm: limits: - limit_type: soft limit_item: nofile value: 50000 - limit_type: hard limit_item: nofile value: 50000 {{ item.limits.limit_type }} {{ item.limits.limit_item }} {{ item.limits.value }} не работает ((
Vadim
выбивает именно на первом таске
тогда перепиши на failed_when: false, например
shadow
тогда перепиши на failed_when: false, например
благодарю. Вот рабочий вариант: - hosts: host1 tasks: - name: check if package is installed package: name: mypackage state: present check_mode: true register: mypackage_check failed_when: false # ignore_errors: yes - name: run script if package is not installed shell: myscript.sh # when: not mypackage_check.changed when: mypackage_check.rc > 1
Vadim
rc == 1 не проверяется
shadow
а mypackage_check это что? И что он возвращает?
чисто переменная для чеканья есть ли апликация в устрановленных или нет
shadow
rc == 1 не проверяется
ну ок when: mypackage_check.rc > 0
shadow
я новичек, но просто охутореваю от того, что такие жескачи приходится вытворять для таких элементарных вещей :)
shadow
yum конечно прекрасен, но у меня *.sh инсталятор :)
Nklya
странным задачам - странные решения
Vadim
а что делать, раз не хотите sh инсталлятор упаковывать
shadow
а что делать, раз не хотите sh инсталлятор упаковывать
научи, сенсей! - https://github.com/BeyondTrust/pbis-open/releases
Vadim
https://docs.fedoraproject.org/quick-docs/en-US/creating-rpm-packages.html
shadow
https://docs.fedoraproject.org/quick-docs/en-US/creating-rpm-packages.html
это изврат! ибо они сами имеют внутри rpm :)
shadow
так что продолжаю городить...
Vadim
- Так вы что, за меня есть будете? - АГА
Nklya
ну можно еще из sh выковыривать рпм и ставить
shadow
ну можно еще из sh выковыривать рпм и ставить
не стоит игра свеч, но теоретически вы правы, да
Roman
научи, сенсей! - https://github.com/BeyondTrust/pbis-open/releases
метод дистрибьюции какой-то ахтунговый, sh в конце которого архив, внути которого еще один install.sh и еще пачка deb (ну или rpm) пакетов.
Nklya
я такого давно не видел, но в 2000 это была популярная тема для всякого энтерпрайзного говна имхо
shadow
Это если кто уже забыл старый добрый Likewise... или недобрый :)
Roman
Ну вероятно это для того чтоб можно было сделать wget distib.sh sh distib.sh ... PROFIT
Ievgen
это изврат! ибо они сами имеют внутри rpm :)
разбери этот rpm.sh посмотри что он делает, выброси ненужное, нужное запихни в свoй rpm например в депенды пропиши те рпм которые там в скрипте и вуаля ну и можно еще для того рпм спек написать так чтобы это все автоматом происходило при пересборке
Ievgen
зачем следовать говнопути
Ievgen
заглянул я в него: 1 #!/bin/sh 2 # This script was generated using Makeself 2.1.4 говно какое то makeself - Make self-extractable archives on Unix
Ievgen
зачем оно непонятно
shadow
к сожалению поддерживать тогда мои не смогут ибо уровень низкий, это сложнее, чем обезьянкам просто ложить файло при обновлении ручками и отредактировать пару строчек :(
Ievgen
а что поддерживать если spec написан rpmbuild -хуомуо cool.spec
Ievgen
?
Ivan
зачем оно непонятно
Чтобы «ставить одной командой» curl -Lkfs https://github.com.../url | bash -s Ну и разрабам не надо заморачиваться поднимать свой репо или заботиться о включении в репозитории дистрибутивов.
Ievgen
https://packagecloud.io/tarantool/1_10
Ievgen
вот тут это нормальная реализация
Ievgen
а там говно
Ievgen
curl -s https://packagecloud.io/install/repositories/tarantool/1_10/script.rpm.sh | sudo bash
Ivan
За такое надо по рукам бить
дык. Если всем ленивым программистам бить по рукам, то кто кодить будет? ;]
Ievgen
чем это сложнее чем curl -Lkfs https://github.com.../url | bash -s ?
Ievgen
при том что все пакетировано и нет никаких артефактов?
Ievgen
странных с которыми потом приходится трахаться
Ievgen
я смотрю что в rpm.sh ничего ценного корме распаковки кстати
Nklya
Бить надо не разрабов, а всех
Ievgen
что то есть в install.sh который из него получается
Nklya
В тарантуле кстати есть нормальные деб и рпм пакеты
Ievgen
есть, надо было просто свежак
Ivan
чем это сложнее чем curl -Lkfs https://github.com.../url | bash -s ?
воо, это ж надо на packagecloud.io зарегаться и придумать другой скрипт. Зачем? Если оно похоже и так работает. Issue можно создать, почему бы и нет.
Ievgen
@zl0tel загляни в install.sh там походу половина это вода под другие системы типа солярки итд
Ivan
научи, сенсей! - https://github.com/BeyondTrust/pbis-open/releases
Кстати, а какая скорость скачивания этих скриптов-всё-в-одном? Мы попробовали держать релизы на github.com, размером в 2-3 мегабайта и скорость была как на модеме. В итоге выкладываем на bintray.
shadow
угу, в кое веки руки добрались до ансибла, а вы меня заставляете делать все, но только не ансибление. У меня более глобальная идея - переписать все с папета на ансибл и как можно быстрее :)
Vadim
Кодют тут и кодют
shadow
дык надо же все сразу и желательно вчера