Дмитрий
Надо взять MemTotal из /proc/meminfo, если быть точным, и на его основе вычислить значение в /etc/sysctl.conf
Grek 🇺🇦
из других фактов не получится взять значения? получайте значения через дополнительный таск через command, к примеру, а потом задавайте значение через set_fact
Lamobot
+ математика есть в jinja
Grek 🇺🇦
но это все очень не очень
Дмитрий
Это есть в фактах о хосте
Ок, погуглю в этом направлении... 🤔
Дмитрий
Ну, всё декларативно. Просто хотим, чтобы плейбук подходил под тачки с разным объёмом памяти. А в остальном всё стандартно будет...
Grek 🇺🇦
+
Timur
Ну, проверь остальные факты. В конкретной переменной ansible_fqdn может быть почти что угодно, в зависимости от деталей инфраструктуры
Timur
Ну выведи дебагом все факты и посмотри - есть ли там те, что содержат нужную тебе инфу. Их и бери
Aleksey
Коллеги, я помню есть матра "не мержи хеши в рантайме на ансибле". напомните что стоит за матрой ?
Aleksey
@tnt4brain
Aleksey
yep
checkdiff
Разница в подходе: декларативно и императивно. Стоит писать декларативно. Если я все правильно помню)
Aleksey
потому что видимо матру пора выбрасывать https://github.com/ansible/ansible/pull/57894 2.10+
checkdiff
Не совсем. Это управляемое поведение на фильтре) все его давно просили и наконец сделали. Мой issue тоже закрылся этим PR'ом. А то что выше я писал это про "надежду на магию, когда в двух местах специально указывают одинаковое наименование переменных и ожидают склейку", а не склеивают через фильтр.
Aleksey
Именно надежда на "оно само".
ага. хорошо. матра в голове осталась у меня а причины забылись
Sergey
ага. хорошо. матра в голове осталась у меня а причины забылись
Я это порешал написанием плагина, который умеет мержить листы в дикт, дикты в лист, дикты в дикт и листы в лист.
Aleksey
а много кто так порешал
Sergey
Неудивительно: это всё прометей, у которого конфиг в YaML, и который нужно склеивать :-)
Aleksey
интересный подход.
Aleksey
но в целом да. я туда полез из-за aletmanager-а
Aleksey
один хрен вид сбоку
Sergey
:-)))) видишь
Aleksey
с другой стороны — ты знал.
Sergey
Эммммм.... Чего знал? Что мержить словари - "атата"?
Константин
Всем доброго дня. Стоит задача через rsync синхронизировать файлы между двумя хостами, но rsync обычно запрашивает подтверждение что-то типа Are you sure you want to continue connecting (yes/no)? yes. Я использую модуль таким образом: - name: PostgreSQL-slave | Rsync synchronize: src: "/var/lib/postgresql/9.6/main/*" dest: "{{postgresql_data_directory}}" archive: yes # recursive: yes # copy_links: yes delete: yes rsync_opts: - "--exclude=recovery.conf" - "--exclude=postgresql.conf" - "--exclude=.postgresql.pid" delegate_to: 192.168.56.102 delegate_to на сервер, файлы которого должны синхронизироваться со вторым. ВОПРОС: как можно принудительно передать yes, потому что в противном случае выполнение таски зависает
Константин
паблик кей целевого хоста есть в authorized_keys делегируемого
Константин
если руками запускать, то все окей
citius
паблик кей целевого хоста есть в authorized_keys делегируемого
наоборот должно быть я так понимаю с делегируемого хоста соединение устанавливается на целевой
Константин
аааааа точно руками я же с целевого запускал, поэтому ключ копировал на делегируемый спасибо, сейчас поправлю
Дмитрий
{{ ansible_memtotal_mb }}
То, что надо, спасибо. Осталось прикрутить это в шаблон.
[IPT] Dmitry
Дмитрий
Maksym
Ребят, что есть такого что может строить юай для ансибл плейбука и управление хостами (переменными)? например какой-то дашборд который ктроить юайку по хостам (с редактированием и коммитом в репо) и дает возможность запускать прейбук по клику нужно дать возможностоь деплоить илм менять конфиги приложения/окружений нетехническим участникам (менеджерам и тд). Т.е. нажал кнопочку - запустил плейбук с новым конфигом или задеплоил релиз на окружение смотрю на https://github.com/ansible/awx но еще не сильно моного вариантов перебрал чтобы уже немного имет представление о ситуации
Maksym
Jenkins
да я думал уже на гитлаб юайку повесить задачки или битбакет) но вдруг есть готовые солюшины именно под то дело хотя AWX кажется оно, кто юзает? https://www.youtube.com/watch?v=ZatqBgn_Wic там еще и джанго с дрф)) наш стек на проекте
Maksym
Для ансибла юзал awx, да работает. Про то что вы хотите, хз нормально получиться на нем или нет.
какую проблему решали ним? хоть заходить запускать предустановленные команды смогут менеджеры (например "запустить деплой версии ХХХ на окружение УУУ") без выдергивания разработчика из работы?
tutunak
А почему бы сразу CI/CD не сделать?
Поддерживаю, закомитить все параметры в репу и дать одну кнопку
Maksym
А почему бы сразу CI/CD не сделать?
это все есть, но специфика продукта така что автоматически поставлять мы не можем на разные проды, также есть необходимость в смене переменных приложения. CI/CD запускается для интеграции и деплоя на стейджинги, но а дальше все это нужно запускать руками на проды по ситуации. Вот этот процесс и хотелось бы отдать на некий красивый тул для менеджеров. Можно и битбакет пайплайнс описать и настроить доступ, но как-то не очень красиво получится как по мне (нетехническим ребятам сложнее и не очень безопасно все это дело)
Vladislav 👻
Тот же Jenkins точно умеет
Vladislav 👻
У бамбу параметры на уровне энвайрмента только вроде, хотя как его прокидывать, это отдельная история
Vladislav 👻
Но если честно, я в шоке от такого подхода. Я лично наоборот это убирал, чтобы никакой умный менеджер не задеплоил что-то кривое
Vladislav 👻
Поэтому на прод только мастер ветка автоматом и только после пулл реквеста с ревью и необходимыми апрувами
Maksym
Ci/cd кнопки тоже делает, с параметрами
да, используем, но это не очень удобно для использования и конфигурирования, к тому же вендорлок (сейчас на битбакете), все храниться в коде и перед этим точно надо сделать коммит, что тоже хотелось бы автоматизировать (тот же ямл засейвить с юайки) в общем я понял, нужно пробовать, чего-то "стандартного" тут нет (как например zabbix все в одном), или через провайдера пайплайнов для сиайки или такие вот штуки
Vladislav 👻
Сходите в чат девопсов, может они вас отговорят
Maksym
Поэтому на прод только мастер ветка автоматом и только после пулл реквеста с ревью и необходимыми апрувами
все зависит от организации работы, конечно в идеале только через полный цикл интеграций, но стартапам бывает нужно быстрее)
Vladislav 👻
Куда быстрее то автоматом после коммита/пра? 😳
Vladislav 👻
Да ну вас
Maksym
Куда быстрее то автоматом после коммита/пра? 😳
у нас помимо релиза (т.е. стабильного что в матер и на одном проде как обычно бывает... везет же таким =))) еще сотни окружений с разными конигами и не везде одна версия/релиз (где-то даже девелоп нужен) спасибо всем за ответы, будем искать/пробовать)
Vladislav 👻
И все это решается без проблем
Vladislav 👻
Ладно, хотите боли и геморроя - ваше право
Maksym
Rundeck жи. Только свой плагин придётся написать (слегка модифицировать ansible-playbook).
вау! спасибо, смотрю видео на их сайте, аж чуствуется боль Алис)) похоже то что нам надо, буду пробовать, поправить роли не проблема для такого дела)
Sergey
есть чатик по нему опять же - @ru_rundeck
Nariman
Всем привет не подскажете какой знак нужно поставить после data ? data: igor-local.yaml: |- spinnaker: pollingSafeguard: itemUpperThreshold: 50000 echo-local.yml: |- googlechat: enabled: false
Отделение Bereke Bank
Vladislav 👻
у вас с первого на третий уровень переход
Vladislav 👻
Vladislav 👻
даже не третий 🙈
Nariman
Я поправил дело не в этом ((
Maksym
Всем привет не подскажете какой знак нужно поставить после data ? data: igor-local.yaml: |- spinnaker: pollingSafeguard: itemUpperThreshold: 50000 echo-local.yml: |- googlechat: enabled: false
может опишешь немного что хочешь получить, что сделал, каике есть мысли или предположения, по каким признакам понимаешь что оно работает не так как ты ожидаешь - все это помогло бы людям дать тебе ответ. А так самое очевидное - синтаксис который через неправильное оформление сбил всех с толку. Я с радостью бы дал уже решение, но ... 42 🙂
Nariman
Устанавливаю helm chart spinnaker В файле values.yaml есть key наименование additionalProfileConfigMaps:
Nariman
При вставке вышеуказанного
Nariman
Создается configmap
Nariman
Если често я не совсем по теме
Maksym
Создается configmap
только не по одному слову на сообщение плз
Nariman
По началу я думал что синтаксис неправильный, поэтому пришел сюда. Потом понял что проблема в рендере helm-а