
Konstantin
18.06.2017
08:51:23
форк, один файл из многих другой кареткой?
ладно, спасибо, я думал что-то с линтером

Sander
19.06.2017
09:43:21
Всем привет
столкнулся с проблемой используя archive.
https://docs.ansible.com/ansible/archive_module.html
---
когда запаковываю файлы в архив, он запаковывает все кроме папок, которые имеют имя с точкой.
Надо чтоб и папки с точкой, тоже архивировал, что можно тут сделать?
---

Google

Sander
19.06.2017
09:49:19
?

Павел
19.06.2017
09:51:29
Воооот. Ты на правильном пути, ты уже пришёл к тому, что надо костылить анзибл ))

Anatoly
19.06.2017
09:56:54

Sander
19.06.2017
10:03:16
костыль приходится, поэтому и нужно чтоб с некоторые архивчики с . точкой не удалял.
может кто подскажет
вроде бы сделал
- name: "Archive project"
archive:
path:
- "{{ project_path }}/*"
- "{{ project_path }}/.git"
dest: "{{ artefact_path }}"
format: "gz"
если кому нужно
кто-то говорил про костыли )?

Anatoly
19.06.2017
10:04:29

Sander
19.06.2017
10:06:49
пока что нет jenkins, поэтому делаем так,
людей пугает что-то новое, поэтому артефакт собираю ансиболом.
---
это лучше чем bash

Konstantin
19.06.2017
10:11:19

Google

Konstantin
19.06.2017
10:22:26
ребят, кто-то юзает molecule под докер? Как тестировать роли, когда контейнер не совсем полноценная виртуалка? (

Hackru
19.06.2017
10:29:25
Тестируй в вагранте?

Konstantin
19.06.2017
10:39:42
Тестируй в вагранте?
да, но развернуть виртуалку или поднять контейнер не одно и тоже, даже если заранее подготовить образ
вопрос в другом, для чего такой бэкэнд? (

Sander
19.06.2017
14:08:57
кто-нибудь пожет подсказать, использую ansible 2.3,
есть две группы в hosts
----
[group1]
host1
[group2]
host2
---
запускаю playbook, где у меня прописан - hosts: "group1"
но когда запускаю, он почему-то берет зависимсоти из /inventories/vagrant/group2, мвесто group1
----
не очень понимаю в чем проблема

Konstantin
19.06.2017
14:10:20
вместо или вместе?

Sander
19.06.2017
14:11:36
вместо, vagrant/group1 запускаются зависимости из vagrant/group2
в итоге вместо этого подставляются неправильные переменные
[group1]
vagrant.stage ansible_user=vagrant ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_port=22
[group2]
vagrant.stage ansible_user=vagrant ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_port=22
если я удалю group2, то оно нормально будет стучаться в group1, но сразу как добавляю group2, то он начинает параметры брать из него
бага в ansible?

lastsky
19.06.2017
14:17:53
у тебя хосты одинаково называются
он берет их из group1

Sergey
19.06.2017
14:18:01

lastsky
19.06.2017
14:18:55
хм, а точно ли из последней? мне показалось что просто на первой группе сервер, на нём выполняется, и выглядит как будто бы на второй.

Sander
19.06.2017
14:19:20
да один и тот же хост в двух группах,
потому что это тестовые сервера.

lastsky
19.06.2017
14:20:01
по логике вещей вообще группа создана для того чтобы иметь >1 сервера.

Sander
19.06.2017
14:21:07
то есть скорей придется переделать все на хосты
проблема в том что на одном сервере много сайтов,
но некоторые сайты могут быть на двух серверах.
на том где остальные и на еще одном

Google

Sander
19.06.2017
14:26:58
теперь вторая проблема, у меня один хост, на который надо деплоить разные проекты.
Как мне менять inventories, если хост 1-один.

lastsky
19.06.2017
14:28:09
[project1]
server1
[project2]
server1
[webservers]
server1
server3
[servers]
server1
server2
server3
server4

Max
19.06.2017
14:28:13
Два плейбука которые дергают одну роль с разными параметрами?

lastsky
19.06.2017
14:29:33
hosts: project1
tasks: ....
hosts: webservers
tasks: ...

Sander
19.06.2017
14:29:38
да два плейбка, которые дергают одну и ту же роль, но параметры разные.
Я создаю два yml файла, в которых разные - hosts

Max
19.06.2017
14:29:57
Зачем?
Сервер же один

Sander
19.06.2017
14:30:25
чтоб он подхватывал разные inventores, я прописываю ему - - hosts: "group1"

Max
19.06.2017
14:30:48
А что в инвентори?

Sander
19.06.2017
14:30:55
как он будет подхватывать разные параметры из group_vars

Max
19.06.2017
14:31:17
А зачем те переменные группы.

Sander
19.06.2017
14:31:35
inventories/dev/group_vars/main.yml
inventories/stage/group_vars/main.yml
inventories/prod/group_vars/main.yml
inventories/vagrant/group_vars/main.yml

lastsky
19.06.2017
14:31:40
часть можно в hostvars кинуть если что. а то наразводят group_vars и потом думают почему у меня упал прод.

Sander
19.06.2017
14:31:44
может быть 1 сервер для сайта, а может быть 2
переменные, потому что пути разные и логика у каждого

Max
19.06.2017
14:32:06
Переменные в роль
Нафига в группу?

Sander
19.06.2017
14:32:45
в группе, потому что несколько серверов может быть на сайт

Max
19.06.2017
14:32:47

lastsky
19.06.2017
14:33:03
Переменные в роль
а потом в один момент приоритеты переменных снова поломают.... и разбирайтесь )

Google

Max
19.06.2017
14:33:05

lastsky
19.06.2017
14:33:11
опасно!

Max
19.06.2017
14:33:19
Лол
Ну дааа)
Но можно не указывать одинаковые

lastsky
19.06.2017
14:33:59
да, лол, когда у тебя прод работает. а когда не работает из-за того что туда катнулись defaults из роли - это точно не лол :)

Max
19.06.2017
14:34:01
Ща домой зайду покажу

Sander
19.06.2017
14:34:13
так как правильно тогда, если я в hostvars кину переменные,
и мне понадобиться сделать это на двух серверах, то мне что создавать два hostvars для каждого сервера?

Admin
ERROR: S client not available

lastsky
19.06.2017
14:34:28
hostvar - переменная уникальная для хоста

Sander
19.06.2017
14:34:51
для хоста, а у меня на несколкьо сайтов один хост

lastsky
19.06.2017
14:35:11
короче
http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable почитай лучшие практики
"Куда положить переменную"
и вот сделаешь по этим рекомендациям - не должно быть проблем

Sander
19.06.2017
14:35:53
да времени нет мне надо сейчас быстро поправить

Max
19.06.2017
14:36:58
блин
одинаковые переменные - в defaults роли
разные - в два плейбука например prod.yml и staging.yml

lastsky
19.06.2017
14:37:52
ты прям называешь как я!

Google

lastsky
19.06.2017
14:37:57
?
аж вздрогнул.

Max
19.06.2017
14:38:23
vars:
var1: yoba
var2: DESU
переменные группы нужны когда у тебя одна и та же хрень должна выкатываться на разные группы серверов с разными параметрами
логично полагать, что у тебя один сервер не должен хавать 2 пачки переменных групп
в инвентори у тебя будет
[my_fucked_host]
hostame
ну ок параметры для ссх
если проект один, и нужно 2 окружения то не надо делить их переменными групп, нужно сделать 2 плейбука, потому что глупо разом катить и то и другое, если это прод и стейдж

Sander
19.06.2017
14:42:45
так я так делаю:
ansible-playbook -i inventories/vagrant deploy:group1.yml

Max
19.06.2017
14:43:29
а переменные в группе те зачем тогда?

Sander
19.06.2017
14:43:30
он понимает что это деплой на vagrant, /inventories/vagrant/group_vars

Max
19.06.2017
14:43:48
да не нужны тебе group_vars

Sander
19.06.2017
14:43:56
я в плейбке прописаю - hosts: group1, и он подхватывает нужную группу

Max
19.06.2017
14:44:19
переменные в плейбук пропиши
и всё

Sander
19.06.2017
14:45:30
и так же запускать группу?
просто если в плейбке то уже не очень удобно, так-то отдельный конфиг

Max
19.06.2017
14:45:49
какая те разница где они прописаны?
групповые нужны когда ты один плейбук сразу катишь на несколько групп
у тебя же не та ситуация