@pro_ansible

Страница 259 из 625
Alex
14.08.2017
15:25:32
Помогите с таким вопросом. Сейчас я добавляю ключ ссш вручную. Как это делают через ansible?
У меня в ~/ansible.cfg все указано, работает уже пару лет. Но это если один ключ.

Пароль шифрануть можно и держать где хочешь. Либо дополнительные менеджеры заюзать типа vault

Ivan
14.08.2017
15:28:18
так

я тупой

Google
Ivan
14.08.2017
15:28:21
не могу больше

как скормить ей нужного мне ssh юзера

и еще и пароль к нему, желательно)

Ricky-Ticky
14.08.2017
15:44:43
Коллеги, подскажите модуль ансибл для работы с api teamcity. Не для разворачивания агента/сервера, а для заведения на сервере тимсити билдов и т.п.

Alex
14.08.2017
17:49:18
uri? ))

Rad
14.08.2017
18:31:14
Может кому нибудь будет интересно, там в комментариях предлагают и другие альтернативы ansible tower

Релиз Polemarch 0.0.5, web-интерфейса для оркестровки серверной инфраструктуры http://www.opennet.ru/opennews/art.shtml?num=47006

Pavel
14.08.2017
19:00:08
Пароли при этом нужно писать в хостс файле?
у меня пароли в хост файле, хост в ваулте .... короче кащей!

Ivan
14.08.2017
19:45:28
Господа и снова рубрика «минутка тупых вопросов»

Кто-нибудь дружил Ansible с sshpass?

Как в таком случае конструкцию лепить в темплейте?)

Ivan
14.08.2017
19:46:26
мы привыкли валяй
Дай список групп в которых тебя нет

Google
Timofey
14.08.2017
19:46:48
ооо, ну что за ты же сам их видишь

кстати, вот

Ivan
14.08.2017
19:52:48
Так что по поводу sshpass

?

Gleb
14.08.2017
19:54:47
я тут за тебя погулил

https://galaxy.ansible.com/list#/roles?page=1&page_size=10&autocomplete=sshpas

Serge
14.08.2017
22:42:18
к слову о том как решаются баги в ансибле https://github.com/ansible/ansible-modules-core/issues/1183

Vit
15.08.2017
06:04:47
http://docs.ansible.com/ansible/latest/authorized_key_module.html
Это здорово, когда уже есть настроенный ssh на машину. А как написать плейбук, который при выполнении (или для таска) использует --ask-pass и сам пароль берет из переменной? Обычный FirstRun новой боевой машины.

Александр
15.08.2017
06:18:21
Эм

Pavel
15.08.2017
06:31:41
Это здорово, когда уже есть настроенный ssh на машину. А как написать плейбук, который при выполнении (или для таска) использует --ask-pass и сам пароль берет из переменной? Обычный FirstRun новой боевой машины.
--ask-pass же запрашивет пароль интерактивно... я для новой машины в инвентори устанавливаю переменную ansible_ssh_pass=блабла, а потом уже копирую на нее ключи все остальные начальные настройки

Vit
15.08.2017
06:32:42
Да. А при установке этой переменной ансибл пробует ключ, а потом фолбэчится на этот пароль?

Pavel
15.08.2017
06:35:16
Да. А при установке этой переменной ансибл пробует ключ, а потом фолбэчится на этот пароль?
у меня ключ в конфиге прописан перемення, вроде, более приорететная чем конфиг (я специально не смотрел, но вроде не пытается ключом стучаться)

Vit
15.08.2017
06:36:35
Хммм. Хочется ходить по ключу то, а если не подходит (First run) то взять пароль из переменной. Вот в чем соль)

Или после начальной настройки ты удаляешь ssh_pass из инвентори?)

Pavel
15.08.2017
06:39:22
Или после начальной настройки ты удаляешь ssh_pass из инвентори?)
ой, сорян, забыл там еще в плейбуке для инициализации сервера переменная устанавливается ansible_ssh_common_args: " -o PubkeyAuthentication=no"

а в остальных плейбуках ее нет - потому и по ключу ходит

Vit
15.08.2017
06:40:05
А, вот, похоже то что надо!!! Спасибо, посмотрю:)

Pavel
15.08.2017
06:42:06
... просто я давно это настраивал (года полтора назад) - уже не помню деталей.... а оно работает, и не трогаю

Google
Vit
15.08.2017
07:05:17
И это прекрасно :)

Dmitry
15.08.2017
08:04:12
Может кому нибудь будет интересно, там в комментариях предлагают и другие альтернативы ansible tower
там в комментариях только semaphore, который УГ чуть более, чем полностью

Sergey
15.08.2017
08:10:34
Vit
15.08.2017
08:14:08
cloud-init ещё установить нужно и настроить. Не видел его в *работающим* в минималке центоса

Gleb
15.08.2017
08:14:22
А он есть

Sergey
15.08.2017
08:18:05
cloud-init ещё установить нужно и настроить. Не видел его в *работающим* в минималке центоса
в минималке с оф. сайта? он там и не обязан быть. в любом случае систему можно поставить с кикстарта, который может добавить любые репы и поставить любые пакеты.

Vit
15.08.2017
08:26:06
С кикстартом каждый может) и тогда уже нет вопроса, там можно все и сделать. Но не всегда удобно, есть возможно ставить и т.п. и что-то вообще не я ставил

Dmitrii
15.08.2017
11:55:31
Всем привет. Такой вопрос... Вот у меня есть плейбук и на основе групп и инвентори я раскатываю каждую группу параметров по разным хостам

Выглядит как common pattern для Ansible

А теперь мякотка: как сделать так, чтобы весь плейбук исполнился ровно столько раз, сколько у меня групп ассоциировано с одним и тем же хостом?

Кейс: есть разные сайты, А и Б. На проде все ясно, там разные сервера и разные группы. А вот для дева мне надо все запихать на одну VM.

Sergey
15.08.2017
12:01:40
Кейс: есть разные сайты, А и Б. На проде все ясно, там разные сервера и разные группы. А вот для дева мне надо все запихать на одну VM.
дописать во все необходимые группы в качестве children группу "my_poor_dev" , затем в неё включить этот уставший хост?

Dmitrii
15.08.2017
12:03:51
Просто у меня стойкое ощущение что в итоге ансибл исполнит плейбук на дев хосте только один раз а не два раза

Artem
15.08.2017
12:12:07
приветствую, а никто с такой задачей не сталкивался- есть кучка нод на них что-то выполняется вот если не выполнилась конкретная таска- мне надо куда-то записать это в разрезе ноды и при повторном запуске того же плейбука прочитать эти данные для ноды и перевыполнить(просто выполнить плейбук поновой н епрокатит- так как для него будет так что состояние уже достигнуто- ничего не нужн оменять). То есть хотелось бы какую-то постоянную хранилку куда можно запистаь нужные мне данные.

как финт ушами- создавать кастомные факты на ноде в файлах, но может есть что-то красивее

Gleb
15.08.2017
12:14:16
то что выполнено и не будет применено, ты о чем?

Artem
15.08.2017
12:21:27
я где-то написал что это плохо?

задача выше возникла из-за кривости модуля ansible mount- переписывать его мне не хочется- отсюда и делаю workaround

Google
Alex
16.08.2017
13:02:07
Кто-то юзал flush_handlers внутри роли? У вас нормально работает?

Алексей
16.08.2017
13:02:57
у меня есть в одном месте.

вроде работает

Alex
16.08.2017
13:03:33
Просто у меня либо не запускает, либо в конце плэйбука

Пока перекинул в обычный таск в конце роли

Алексей
16.08.2017
13:04:14
запускает в конце плея

Alex
16.08.2017
13:04:57
В доках писали, что должно запускать в конце роли

Алексей
16.08.2017
13:05:31
у меня каждая роль в своем плее. так что я могу не заметить разницу

Mike
16.08.2017
16:54:57
Почему ansible может не видеть ни фактов, ни hostvars? gather_facts: True, но дажe ansible_hostname всегда Undefined. плейбук: https://pastebin.ca/3855734 вывод: ok: [10.0.10.31] => { "ip-10-0-10-31": "VARIABLE IS NOT DEFINED!" } ok: [10.0.10.230] => { "ip-10-0-10-230": "VARIABLE IS NOT DEFINED!" }

Причем с ключом -vvv ansible-playbook показывает, что факты, включая ansible_hostname собираются успешно

lastsky
16.08.2017
16:57:49
testrole/tasks/main.yml: - setup: - name: Set the webserver check if webserver is present debug: var="{{ ansible_hostname }}"

lastsky
16.08.2017
17:01:18
а

пардон

слона не заметил

[sandbox] 10.0.10.31 server_hostname_1 10.0.10.230 server_hostname_2

Mike
16.08.2017
17:01:58
ну это чит, не? :)

lastsky
16.08.2017
17:02:04
если ты хочешь ip вывести то debug: var="{{ ansible_host }}"

просто сделай ansible -i inventory -m setup? посмотри переменные какие нужны?

и потом уже дебаж

Google
Mike
16.08.2017
17:02:48
я хочу вывести именно hostname, чтобы дальше его подставлять в темплейты

lastsky
16.08.2017
17:06:54
у тебя вот так вот отдаётся? ansible all -m setup -a "filter=ansible_hostname"

Mike
16.08.2017
17:22:30
у тебя вот так вот отдаётся? ansible all -m setup -a "filter=ansible_hostname"
извиняюсь за тупость, но получаю ERROR! Missing target hosts, хотя пытался подсунуть инвентарь в -i по-всякому

lastsky
16.08.2017
17:23:31
ansible -i inventory_файл all -m setup -a "filter=ansible_hostname"

Mike
16.08.2017
17:27:29
о, точно. Группу забыл. 10.0.10.31 | SUCCESS => { "ansible_facts": { "ansible_hostname": "ip-10-0-10-31" }, "changed": false } 10.0.10.230 | SUCCESS => { "ansible_facts": { "ansible_hostname": "ip-10-0-10-230" }, "changed": false }

т.е., как я уже сказал, факты оно собирает, но почему-то не может их использовать в роли

Oleg ?
17.08.2017
13:53:36
Ребят, привет. Подскажите, как register переменную запихнуть в loop ? у меня генерится пароль, записывается в register. Хочу дальше чтоб для разных юзеров (item) генерились разные пароли. Возможно это можно и проще без register.

у меня получается только один пароль на всех юзеров)

- name: Generate password for mongodb users block: - shell: 'tr -d -c "a-zA-Z0-9" < /dev/urandom | head -c 8' register: mongodbpass - debug: var=mongodbpass - mongodb_user: name={{ item.name }} database={{ item.db }} password={{ mongodbpass.stdout }} with_items: - { name: 'siteRootAdmin', db: 'admin' } - { name: 'siteUserAdmin', db: 'admin' }

Страница 259 из 625