Alex
ребят, как правильно к списку этому обратиться
inqfen
А, понел
inqfen
Пиздоглажу
inqfen
tables_exist['query_result'] [0]
[IPT] Dmitry
всё оказывается просто, благодарю
Iwan
Всем привет, подскажите пожалуйста. Пытаюсь сделать проверку, на корректный запуск контейнеров - используется модуль docker_container. Информацию получаю через модуль - docker_container_info Тестирую следующей проверкой: - name: Verify Service assert: that: - "'{{ test.container.State.Running }}' != True" - "'{{ test.container.State.ExitCode }}' != 0" - "'{{ test.container.State.Restarting }}' != False" fail_msg: "test is not running" А сам образ перезагружается в это время - специально для тестов. ok: [nsi-ci] => { "test.container.State": { "Dead": false, "Error": "", "ExitCode": 1, "FinishedAt": "2020-03-23T11:38:26.819800905Z", "OOMKilled": false, "Paused": false, "Pid": 0, "Restarting": true, "Running": true, "StartedAt": "2020-03-23T11:38:26.732958113Z", "Status": "restarting" } } ok: [nsi-ci] => { "changed": false, "msg": "All assertions passed" } В чем ошибка ассерта? не правильно указываю условие?
Timur
Всем привет, подскажите пожалуйста. Пытаюсь сделать проверку, на корректный запуск контейнеров - используется модуль docker_container. Информацию получаю через модуль - docker_container_info Тестирую следующей проверкой: - name: Verify Service assert: that: - "'{{ test.container.State.Running }}' != True" - "'{{ test.container.State.ExitCode }}' != 0" - "'{{ test.container.State.Restarting }}' != False" fail_msg: "test is not running" А сам образ перезагружается в это время - специально для тестов. ok: [nsi-ci] => { "test.container.State": { "Dead": false, "Error": "", "ExitCode": 1, "FinishedAt": "2020-03-23T11:38:26.819800905Z", "OOMKilled": false, "Paused": false, "Pid": 0, "Restarting": true, "Running": true, "StartedAt": "2020-03-23T11:38:26.732958113Z", "Status": "restarting" } } ok: [nsi-ci] => { "changed": false, "msg": "All assertions passed" } В чем ошибка ассерта? не правильно указываю условие?
- name: Verify Service assert: that: - not test.container.State.Running - not test.container.State.ExitCode - test.container.State.Restarting
Timur
Вот так попробуйте
Гайрат
Молекула на ассертах не спотыкается? Через fail: when не лучше сделать?
Eduard
Подскажите альтернативу AWX/RHTower и консоли..
Чем эти не подошли, если не секрет?
Iwan
Вот так попробуйте
Спасибо большое, но странное поведение появляется всё равно, при условии если контейнер не был ранее запущен. Его запуск происходит но условие валится...
Anton
Чем эти не подошли, если не секрет?
Tower тем что он вроде как платный, и я вроде как не могу его поставить. AWX не корректно начинает работать с инвентарем который динамический и имеет очень много хостов. Консоль некоторым людям (не мне) не доступен по причине отсутствия воображения. Не все играли в консольные rpg .
Eduard
Тык возьми погонять
Anton
Хочется отдать инструмент в техническую поддержку в котором или требуется задать 2-5 параметров описанных в документации и кнопку запустить. + более чем уверен что tower будет страдать той же болезнью что и AWX. Поскольку корни у них общие. Сейчас после обновления AWX до 9.3.0 придётся его удалить и поставить заново с восстановлением не всего что в инвентари попало
inqfen
Я в гитлаб в scheduled просто засунул
inqfen
А там в джобе в консоли выполняется все что надо
inqfen
Но и то тп потихоньку учится в консоли запускать что надо
Anonymous
привет всем, изучаю Ansible, подскажите копирую несколько файлов src: "{{ item.src }}" dest: "{{ item.dest }}" далее идет with_items: - { src: 'file', dest: 'file'} по какой-то причине ансиблу не нравится эта конструкция FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'item' is undefined не понимаю ЧЯДНТ
Eduard
Полностью таску кинь
Eduard
Мне кажется, что ты с indent ом прост ошибся
Anonymous
- hosts: web become: yes tasks: - name: installing nginx apt: name=nginx state=latest - name: uploading all configs copy: src: "{{ item.src }}" dest: "{{ item.dest }}" with_items: - { src: '~/Documents/re/operations/ans02/nginx.conf', dest: '/etc/nginx/nginx.conf'} - { src: '~/Documents/re/operations/ans02/dev1.avg.srwx.net', dest: '/etc/nginx/sites-available/dev1.avg.net' } - { src: '~/Documents/re/operations/ans02/dev2.avg.srwx.net', dest: '/etc/nginx/sites-available/dev2.avg.net' }
Anonymous
в принципе это все
Maksim
- hosts: web become: yes tasks: - name: installing nginx apt: name=nginx state=latest - name: uploading all configs copy: src: "{{ item.src }}" dest: "{{ item.dest }}" with_items: - { src: '~/Documents/re/operations/ans02/nginx.conf', dest: '/etc/nginx/nginx.conf'} - { src: '~/Documents/re/operations/ans02/dev1.avg.srwx.net', dest: '/etc/nginx/sites-available/dev1.avg.net' } - { src: '~/Documents/re/operations/ans02/dev2.avg.srwx.net', dest: '/etc/nginx/sites-available/dev2.avg.net' }
В таком варианте ИМХО src и dest в описании таска тебе вообще не нужны. Оставаляй - name: uploading all configs copy: "{{ item }}" loop: - { src: '~/Documents/re/operations/ans02/nginx.conf', dest: '/etc/nginx/nginx.conf'} - { src: '~/Documents/re/operations/ans02/dev1.avg.srwx.net', dest: '/etc/nginx/sites-available/dev1.avg.net' } - { src: '~/Documents/re/operations/ans02/dev2.avg.srwx.net', dest: '/etc/nginx/sites-available/dev2.avg.net' }
Maksim
Должно сработать, если я сам ничего не напутал
Anonymous
сработало, спасибо
Anonymous
а почему все таки могла быть ошибка в 1 варианте? хотелось бы понимать что не так, чтобы не повторить
Отделение Bereke Bank
@tgadiev а ваши роли для ELK тестировались/работают для 7 версии?
Timur
А что?
Отделение Bereke Bank
В ридми логсташа нет упоминания 7 версии) и не комитили туда давно. Поэтому думал на 7 не проверяли
Отделение Bereke Bank
Спасибо
Timur
Эластик, кибану, биты проверяли
Timur
Логстеш обычно не нужен при нормальном подходе
Отделение Bereke Bank
Понял 👍🏽
Андрей
ну-ну
Чего ну-ну?
Anna
как посмотришь, все гении
Anna
только как дельное надо что-то написать, не могут
Андрей
Анна, речь шла об основах Ansible, там многого знать не нужно и сложные прикладные задачи с этими знаниями не решить
Андрей
А брызгать слюной, доказывая что я сказал не правду, не нужно. Мы все через это проходили
Anna
ну тогда можно сказать что азы чего угодно за пару дней можно выучить. Только многие на этих азах и останавливаются. Книгу даже одну прочитать по Ansible и то время.
Андрей
Тут я полностью соглашусь. Но разговор был именно об азах
Vadim
на linuxacademy норм курсы, намного лучше офф доки для изучения
Андрей
написать свой первый плейбук для копирования файликов можно за полдня
Vadim
Тут я полностью соглашусь. Но разговор был именно об азах
может вы к слову азы докопались слишком сильно?
Андрей
https://www.redhat.com/en/services/training/do447-advanced-automation-ansible-best-practices
Vadim
написать свой первый плейбук для копирования файликов можно за полдня
допустим я написал плейбук, но не понимаю, каким образом ансибл не выполняет повторно те действия которые он уже производил на предыдущих запусках
Андрей
А вот для такого курса нужен норм бэкграунд уже
Vadim
не какие ошибки
Андрей
Что за инженер, который не умеет использовать доки
Vadim
согласен
username
Что за инженер, который не умеет использовать доки
Agile, Scrum? Fuck you I'am Russian - Хуяк Хуяк и в продакшн
username
Хз когда стал нужен ансибл, почитал доку, простые роли в этот же день начал писать. После паппета вобще как сказка.
Vadim
я сегодня попробовал жаву накатить, получилось дольше чем без ансибла
Timur
А если на 10 машин с разными ОС - тоже быстрее?
username
А если на 10 машин с разными ОС - тоже быстрее?
один раз when написал и уже легче
Vadim
А если на 10 машин с разными ОС - тоже быстрее?
нет 10и, обычно задача стенд развернуть это 1апп сервер и 1 сервер субд
Vadim
я понимаю, с ансиблом будет быстрее прям от и до, от виртуализации наверно, до готового сервера
username
???
when: ansible_os_family == 'RedHat' when: ansible_os_family == 'Debian' и.т.д
Sergey
^^^ +++
username
Это плохой фэншуй
Почему? Типа долго или косячит?
Андрей
Я релизы вообще раскатываю с помощью Энсибл. Работы сократились с 20минут-1часа до 30сек-2мин
Андрей
В прод без контейнеров едем, там bare-metal
Sergey
Господа и дамы, я тут, было дело, хотел поделиться видео своего доклада про Ansible с октябрьской Стачки в Иннополисе. Тогда не получилось, зато получилось сейчас: https://youtu.be/bq4IF3f24-k UPD: ссылка на презентацию - https://docs.google.com/presentation/d/1HhpCGgOgPvyRE24vE0qMCxPwnUZYGciA2oBypKnySk0/edit?usp=sharing.
Андрей
О, посмотрю обязательно :)
Vadim
жаль звук из зала
Sergey
жаль звук из зала
Это снято на телефон с рук.