Sergey
Sergey
как обычно - в доке
Sergey
Хотя не, не то. В общем, твой кейс Ансиблом не покрывается- тут скорее какой-нить Шеф или Паппет, где в полной мере pull присутствует.
Stepan T.
Я правильно понял, что ansible-pull тянет выложенный playbook.yml и делает ansible-playbook ~/path/to/playbook.yml localhost -bK? Ну или типа того?
Sergey
Stepan T.
Ну принцип работы примерно такой, да?
Stepan T.
+-
Stepan T.
Вырисовывается какой-нибудь systemd *.service файл, который при включении/выключении компа тянет плэйбук и конфигуряет систему. Даём права доступа на редактирование этого *.service, чтобы ребята из ТП могли его конфигурять, меняя ссылку на playbook.yml, ведём учёт изменений этого самого playbook.yml в репозитории и получаем какое-то подобие групповых политик венды. Обожаю линукс в качестве desktop среды.
Sergey
Stepan T.
троллейбус.jpg
Есть какой-то инструмент, который подходит лучше?
Stepan T.
=(
Vadim
Freeipa, fleet commander
Stepan T.
fleet commander в голову приходт, но там привязка к DE
Stepan T.
Vadim
Stepan T.
Пардон, что такое АПВС?
Vadim
"А почему Вы спрашиваете?"
Sergey
Stepan T.
FC очень ресурсоёмко, там же надо гипервизор для KVM держать
Stepan T.
В общем это рассматривалось, но есть ограничения. Например у нас практически 95% хостов в качестве DE используют xfce которая FC не управляется
Stepan T.
Такой процент условно-легковесного DE вызван тем, что около 50% пользователей сидят за неттопами с intel atom 450, 510, 525
Stepan T.
В общем итоге fleet commander это здорово, но для нас неприменимо.
Stepan T.
Puppet лично мной рассматривался, но по каким-то причинам (сложность настройки?) идея руководителем отвергнута. Так что приходится вытворять троллейбус.jpg
Stepan T.
Кстати, спасибо за консультацию и помощь.
Vadim
Sergey
Alexander
Stepan T.
Alex
Alex
точнее отвалится become
Alexander
Stepan T.
Сверху коллега написал, что для корректной отработкий плэйбуков на хостах, там нужно разрешить выполнять python с sudo
Err
Добрый день ребята. Подскажите пожалуйста как можно создать переменную или факт чтобы он был получен с одного хоста и был доступен для другого хоста?
Vadim
Lev
расскажите, а кто как тестирует написанные модули для ансибла? юнит тестами покрываете или роли гоняете? или на честном слове?
Vadim
Me
Парни, есть inventory:
nocwww01 ansible_host=172.00.236.100
nocwww02 ansible_host=172.00.236.101
как добраться до ansible_host ?
Leonid
Mikhail
вопрос на три секунды: каким фильтром из host.example.com сделать host ?
bebebe
Mikhail
чет я и не помню такого во встроенных
Ждун
python?
Mikhail
это да, уже хак =)
Ждун
почему хак, ансибле официально же поддерживает вставки из питона
Mikhail
msg: "var is : {{inventory_hostname.split('.')[0]}}"
Mikhail
работает, но выглядит таксе, на мой вкус
Ждун
напишите custom филььтр parse_host на питоне, добавьте filter_plugins и делайте красиво {{var | parse_host}} что нибудь
Ждун
но оно того не стоит )
Sergey
Cyrill
о местные гуру ансибла, я с ним знаком на пол шишечки, и моя задача тривиальна, но я не могу допедрить что я делаю не так, есть желающие помочь разобраться?
Cyrill
tasks:
- name: change a str
lineinfile: dest=/etc/sssd/sssd.conf
regexp='^.+(111).+$'
insertbefore=BOF
line='222'
Sergey
Sergey
Cyrill
root@spb0odv067:~# diff /etc/sssd/sssd.conf /etc/sssd/sssd.conf.origin
31c31
< 222
—-
> ldap_default_bind_dn = cn=reader,dc=111,dc=su
Cyrill
вот спасибо,
Cyrill
за template
Cyrill
а можно пример ?
Cyrill
задача банально просто заменить символы на куче хостов в одном файле, неужели никто не сталкивался с подобным ?
Cyrill
я понимаю что через vim это делается одной строкой, но с другой стороны хотелось бы изучить данную фишку через ансибл
Cyrill
штука народу шутка ли
Womchik
Ждун
есть фильтр urlsplit
Ждун
но он не покажет
Cyrill
Err
Vadim
Err
это имя хоста в инвентори энсибла
немогу понять. У меня в инвентори только [group name], потом я делаю set_fact на var1 в таске host1, и хочу получить этот var1 в другом host2
bebebe
Natalia
ребят, помогите, плиз. есть таск:
tasks:
- name: test
raw: "curl https://path/to/config/test.conf | grep '{{ item }}'"
with_items:
- agents\[0\].protocol
register: agents_data
- debug:
var: agents_data.results
если выводить debug: var=agents_data.results, то инфа выводится:
TASK [debug] ********************************************************************************************************
ok: [localhost] => {
"agents_data.results": [
{
"_ansible_ignore_errors": true,
—----------куча всякого разного------------
"stdout": "agents[0].protocol=UDP\n",
"stdout_lines": [
"agents[0].protocol=UDP"
а из debug: var=agents_data.results.stdout_lines - VARIABLE IS NOT DEFINED!
TASK [debug] ********************************************************************************************************
ok: [localhost] => {
"agents_data.results.stdout_lines": "VARIABLE IS NOT DEFINED!"
в чем косяк?
Salem
raw:
Salem
Вообще это кощунство так делать, пользуйте shell или command
Vadim
uri жи
Natalia
command не групает, наверное не видит '|', а с shell тоже самое, что и с raw
Salem
не, ей строки нужны из конфига по http
Natalia
uri жи
может не совсем разобралась, но не прокатило. нужно грепнуть строку