Andor
rtfm
Anonymous
@Adm0nDantes будет жить. Поприветствуем!
Anonymous
artifactory: - data_dir: '/data/artifactory' - database_dir: '/data/postgresql' - nginx_dir: '/data/nginx' Подскажите пожалуйста, как выполнить операцию по всему списку? Вот пример того, что я хочу сделать - name: create data directory file: name: '{{ ??? }}' state: directory
Andor
это список хешей, data_dir - ключ одного из хешей
Anonymous
Я понимаю, что можно через item.name сделать, но хочется не задавать явно ключ, а пройтись условным циклом по всем
George
ты можешь дикт преквратить в лист. По идее немного магии и будет готово.
George
я не знаю. Думать надо. Что-то такое видится https://docs.ansible.com/ansible/latest/plugins/lookup/subelements.html
George
@Asgoret openshift – Query the K8s API это прекрасно, я чситаю ))))
George
- name: create data directory file: name: '{{ item.value }}' state: directory with_items: {{ artifactory}}
George
не?
George
@alterself
Asgoret
не уловил суть контекста пока
George
м?
ну, модуль называет опеншифт, а в описании - K8S API 😊
Asgoret
ну, модуль называет опеншифт, а в описании - K8S API 😊
а...уловил)те тебя под kube-api не смущает?
George
блин
Anonymous
- name: create data directory file: name: '{{ item.value }}' state: directory with_items: {{ artifactory}}
Я просто не хочу явно указывать value. А условно говоря хочется сделать что-то вроде item.*
George
т.е. dict -> list из одного элемента (или из двух) -> дернуть 1-й или 2-й
George
или каждый элемет списка - взять keys() взять values() от вложенных диктов
George
потом взять первый, который из них остался
George
а...уловил)те тебя под kube-api не смущает?
нет, под не смущает, но называть лукап плагин опеншифтом, а в комменте писать, что это К8С АПИ - это ко-ко-ко
George
назвали бы модуль кубернетес или написали бы в описании, что это модуль для хождения в опеншифт (дистрибутив куба)
Anonymous
Илья будет жить. Поприветствуем!
Алексей
К примеру автоматом добовлять таргеты в прометей после добовления хоста в инвентори
Сделал {% for i in groups.keys() if i not in ['all','ungrouped'] %} - job_name: '{{ i }}' static_configs: {% for j in groups[i] %} - targets: [{{ hostvars[j]['ansible_host'] }}:{{ node_exporter_port }}] {% endfor %} {% endfor %}
Алексей
Согласен, но это работает и генерит правильные таргеты в конфиге прометея
George
Я бы сделал как: вылил каждую джобу в отдельный файл и подключил через sd_config. Насколько я помню, в этом случае даже прометеус ребутать не надо, он sd_config перечитывает сам через определенные интервалы. Прошу поправить
Anonymous
@cybervgb будет жить. Поприветствуем!
Anonymous
Добрый день, в чем может быть трабла, os manjaro, установил ansible и все необходтмые зависимости запускаю плейбук ansible-playbook -i hosts ~/kube-cluster/kube-dependencies.yml пытается залогиниться на сервера,просит ввести пароль для приватного ключа - пишу. В ответ ошибка, denied, publickkey хотя если ручками пытаюсь залогиниться, все ок. почему ансибл не может считать prompt?)
Anonymous
TASK [Gathering Facts] **************************************************************************************************************************************** Enter passphrase for key '/home/tester/.ssh/id_rsa': Enter passphrase for key '/home/tester/.ssh/id_rsa': Enter passphrase for key '/home/tester/.ssh/id_rsa': Enter passphrase for key '/home/tester/.ssh/id_rsa': fatal: [worker1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: root@192.168.10.39: Permission denied (publickey,password).", "unreachable": true}
George
плохо работает. Запускай через ssh-agent
Anonymous
нет, нельзя через приватный под паролем
поэтому DigitalOcean пишет ломись через приватный в своем туторе?) https://www.digitalocean.com/community/tutorials/how-to-create-a-kubernetes-cluster-using-kubeadm-on-ubuntu-18-04
George
приватный, а не приватный под паролем
George
как бы разные вещи
Anonymous
понял, благодарю!
Denis
Т.е. таргеты для джобы можно разбить в отдельные файлы
Denis
Поправка, не директорию, а шаблон имени файла.
Sergey
третий день ансибл изучаю, вот дошел до плейбуков. порой вылезают ошибки вида
Sergey
куда копать?
Egor
третий день ансибл изучаю, вот дошел до плейбуков. порой вылезают ошибки вида
Ну это же наверное отображается только когда ты делаешь check?
Erick
использовать 2.7
Sergey
использовать 2.7
вы про питон я так понял? у меня такие ошибки стали появлятся после того как я ansible-lint установил с pip3
George
либо переустанови целиком на пихтон 2, либо целиком на пихтон 3
George
вариант - запускать из докера (я так и делаю)
George
либо из venv
Timur
Если кому интересно, у нашей самой популярной роли java вышел новый релиз: https://galaxy.ansible.com/lean_delivery/java
Timur
Теперь роль поддерживает 3 разных варианта дистрибутива: * oracle-java * openjdk * sapjvm Поддерживаются актуальные дистрибутивы Linux (Debian & RedHat), а также Windows
Timur
Кому удобнее - можете смотреть на гитхабе: https://github.com/lean-delivery/ansible-role-java
Артём
Спасибо, как минимум на стиль посмотреть интересно.
Timur
Так видно? https://gitlab.com/lean-delivery/ansible-role-java/-/jobs/236309545
Timur
PLAY RECAP ********************************************************************* test-aws-centos7-oracle_java-8-s3 : ok=19 changed=7 unreachable=0 failed=0 test-aws-centos7-oracle_java-8-s3-rpm : ok=18 changed=6 unreachable=0 failed=0 test-aws-ubuntu18-oracle_java-8-local : ok=18 changed=7 unreachable=0 failed=0 test-aws-ubuntu18-oracle_java-8-s3 : ok=19 changed=7 unreachable=0 failed=0
Egor
Какого рода проблемы?
Сейчас попробую воспроизвести.
Timur
Единственное ограничение для oracle-java - теперь ее нельзя просто так скачать с сайта без авторизации
Timur
Соответственно, роль этого не делает
Timur
Но из готовых артефактов ставит без проблем
Timur
Там куча тестов запускается молекулой в CI с различными сценариями. Можно самим глянуть: https://gitlab.com/lean-delivery/ansible-role-java/pipelines/67197693
Egor
Ну вот да, ты правильно понял. Об этом я и говорил. "Oracle Java downloads now require logging in to an Oracle account to download Java updates, like the latest Oracle Java 8u211 / Java SE 8u212. Because of this I cannot update the PPA with the latest Java (and the old links were broken by Oracle)."
Timur
Скачиваешь артефакты нужные, указываешь роли откуда их брать - и вперёд
Egor
Ну я к тому, что из репов Java теперь просто так не установишь. И вот мне было интерсно роль Ваша умеет или нет. Ну ты и объяснил что нужно скачать артефакты, и только потом запускать.
Timur
И это касается любой инсталляции, а не только Убунту
Timur
Хоть на Centos, хоть на Windows
Александр
народ, как blockinfile использовать?.. например если я хочу удалить блок из файла, который начинается на begin и заканчивается на end?