George
А еще лучше - set_fact: ec2_ami = "{{ ami_find.images | sort(attribute='name') | list }}[-1].name"
А ты амазоновские ами родные юзаешь? Или коммунити? Вопрос чисто для меня
Oleg
родные.
Oleg
- ec2_ami_info: owners: 099720109477 filters: name: "ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*" region: "{{ aws_region }}" register: ami_find
checkdiff
Кстати можно в другую сторону. Сначала выцепить все имена, а потом уже сорт и ласт.
- name: test hosts: localhost gather_facts: false vars: test: - name: a - name: e - name: c - name: b tasks: - debug: var: test | map(attribute='name') | list | sort | last
Oleg
Понял. Спасибо.
Sergey
Всем привет! Сделал решение на Ansible для управления Github-ом как альтернативу Terraform-у. Активно юзаем у нас в компании: https://github.com/skyeng/gitwand Будет полезным, если у вас много команд и репозиториев: * Не упрётесь в лимиты API Github-а. * Летает без тормозов -- нет состояния, ничего лишнего не читаем и не пишем, всё отрабатывает за секунды. * YAML конфиги -- без ключевых слов, скобочек и странных идентификаторов. * И можно видеть настоящие имена людей вместо странных ников. Буду рад, если мой инструмент пригодится кому-то ещё. 😄
Это не решение, а "...Невыносимо жуткий неописуемый ужас. 14 уровень. Непотребство: волшебник лишается могущества - потеряй класс, остальных ждёт смерть...." (С) В общем, слово решение здесь очень точное, потому что это и не роль, и не тасклист, а чёрт-те что и сбоку бантик. Я правильно понимаю, что это всё - только чтобы не писать модуль на Питоне?
Fedor
Коллеги, а кто в курсе есть группа в телеге про puppet?
George
Коллеги, а кто в курсе есть группа в телеге про puppet?
Ответ: есть, но я оттуда самовыпилился, поэтому ссылку не дам, в поиск умеешь?
George
В пень папет, когда есть salt, ansible и кубернетис
Fedor
Пример ?
Интеграция с фореман
Dan
Интеграция с фореман
там ансибл тоже подключается
George
Интеграция с фореман
Солт и ансибл тоже втыкаются туда. А для кубера... не думаю, что нужен фореман
Dan
форман был написал в старые оптимистичные времена когда кроме паппета ничего не было а руби был новым и блестящим :) я сидел через коридор от автора этого дела, дверь в дверь
Dan
Маленькое уютненькое айти
маленький 5-и этажный израильский red hat
George
Не уверен, что хиера сильно нужна
Dan
Ну местами он хорош, через хиеру если рулить
я не спорю, меня в нем бесил постоянный секс с сертификатами
Fedor
я не спорю, меня в нем бесил постоянный секс с сертификатами
Да это минус конечно, хотя в кубере с сертами тоже хватает геморроя
Dan
Да это минус конечно, хотя в кубере с сертами тоже хватает геморроя
это была первая причина почему я пересел на ансибль в свое время. вторая - автор ARA сидел за соседним столом и постоянно хвастался :)
Dan
Да ты там всех в этой индустрии знаешь)
это не я, просто шапка нанимает таких вот, а я в ней почти 10 лет проработал
Dan
Крутой экспириенс
хорошая фирма просто
Denis 災 nobody
Для омозона есть клаудформейшн
как человек, который имеет много секса с cfn уже пару лет - при возможности лучше взять таки tf. Да, у tf под капотом будет всё тот же cfn, но будет возможность перейти легко в гугл клауд например. А cfn это вещь ооочень в себе, причём достаточно тупая вещь, и никуда кроме амазона более не применимая вообще. А ансибл это несколько про другое вообще. У него конечно есть модули для того же ec2, но рулить именно как экосистема - сильно лучше tf|cfn, опционально с ансбилом в юзердате.
GithubReleases
ansible/ansible tagged: v2.9.13 Link: https://github.com/ansible/ansible/releases/tag/v2.9.13 Release notes: New release v2.9.13
Fire
А что это?
George
А ты точно уверен, что оно нужно ?
Владимир
А ты точно уверен, что оно нужно ?
Думаю - да. Делал задачу в которой надо было из веток разрабов поднимать среду. Сделал на связке Jenkins tf ansible. Вроде получилось нормально, например когда надо просто фикс докинуть в свою фичовую ветку - не переподнимать полностью ВМ
Владимир
А так подставил в backend terraform bucket от s3 и выиграл пару минут
Sergey
А так подставил в backend terraform bucket от s3 и выиграл пару минут
Ещё один пост про TF - RO на сутки. Наноси счастье и причиняй бобро в чате по хашикорпу.
Sergey
Чот заколебали с этим TF.
Владимир
George
Думаю - да. Делал задачу в которой надо было из веток разрабов поднимать среду. Сделал на связке Jenkins tf ansible. Вроде получилось нормально, например когда надо просто фикс докинуть в свою фичовую ветку - не переподнимать полностью ВМ
Так ансибл тоже не переподнимает ресурсы. «Ансибл идемпотентный». Насчёт скорости работы скорее соглашусь, но опять же - наличие стейта не является преимуществом ни в коем разе, скорее особенностью
Sebor▂▅▇█▓▒░
Чот заколебали с этим TF.
да прям хайп какой-то пошел
Alex
Ибо облака в ансибле - это боль и страдания, имхо
Alex
увы
Отделение Bereke Bank
Жизнь вообще боль
Alex
это точно
Denis 災 nobody
А ты точно уверен, что оно нужно ?
Точно. Особенно если нужно разворачивать такие сущности как auto scale group без пересоздания всей группы на любой чих. А так оно само по своим правилам обновится до нового конфига. Да и не получится обновить только 1 машину, которая уже была из этого шаблона сделана, без хранения состояний и что чем выкачено
Григорий
Привет всем ямл программистам как экранировать двойные кавычки в ямле? т.е. мне нужно, чтобы ансибл , когда берет переменную, получает "значение" ' " значение " ' не работет, отдает вообще без кавычек
Григорий
у меня вроде ругался на бэкслеш
Denis 災 nobody
""" не?
George
""" не?
слишком много двойных кавычк
Denis 災 nobody
3 штуки же
Григорий
ну, одинарные так экранируются, да двойные попробую сейчас
Denis 災 nobody
https://developers.google.com/edu/python/strings
Григорий
""" не сработало(
Григорий
нужно больше кавычек
Oleg
всем привет. Пытаюсь установить тестовое соединение командой ping по ssh без ssh-key. Выдает ошибку "msg": "Missing sudo password" В инвентори прописал следующие значения ansible_connection=ssh ansible_become=yes ansible_user=aaa ansible_password=***** ansible_sudo_password=***** Также пробовал конфиге ансибла указывать become=true все равно не получается
Oleg
Так ansible_become_password же вроде
"changed": false, "module_stderr": "Shared connection to ***** closed.\r\n", "module_stdout": "\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 0 в таком случае уже другая ошибка
Anonymous
коллеги, поделитесь опцией как скопировать template.json.j2 с форматированием json такое что то не оч работает - name: copy target debug become: no template: src: "{{ lookup('template','debug.json.j2') | to_nice_json }}" dest: "/tmp/target.json"
Alex
а что мешает хранить debug.json.j2 в json формате?
Anonymous
он и есть, тольког при копирование все это в кашу
Alex
ну во первых у тебя не копирование
Anonymous
то есть он валидный, но не человекочитаемый
Alex
а рендеринг
Anonymous
вопрос два а как экранировать " в jinja2 ?
Anonymous
не , не то
Anonymous
отрендерилось cat target.json { \"book1_incremental\": { \"dev\": { } }
Николай
вопрос два а как экранировать " в jinja2 ?
Никак не надо, это просто символ. Не нуждается в экранировании.
Anonymous
обожаю руские комьюнити, сразу не надо )))
Anonymous
пробовал уже safe и autoescape тоже что то не особо
Sergey
вопрос два а как экранировать " в jinja2 ?
https://yaml.org/spec/1.2/spec.html#id2788097 https://yaml.org/spec/1.2/spec.html#id2787109 По спеке.
Oleg
Значит, надо с ней разбираться
странно, но с ssh-key заработало