
Fedor
13.08.2018
10:48:00
ну и может быть tmp сделан как noexec
или селинукс очень ядрёно настроен

Artem
13.08.2018
10:48:31
а есть у кого-нибудь под рукой плейбука под percona multi-master для RPM-based distro?

thomas
13.08.2018
10:50:46

Google

thomas
13.08.2018
10:50:49
спасибо

Fedor
13.08.2018
10:51:02
you are welcome

Artem
13.08.2018
12:36:11
че-то я ума не приложу как ansible’ом дернуть свежеиспеченный мускул (5.7) на предмет grep 'temporary password' /var/log/mysqld.log

Constantin
13.08.2018
12:40:38
- name: Read some string from log by grep
shell: grep 'temporary password' /var/log/mysqld.log
register: response_grep
changed_when: response_grep.stdout...

Artem
13.08.2018
12:41:16
- name: Find temporary password
shell: "echo `grep 'temporary.*root@localhost' /var/log/mysqld.log | sed 's/.*root@localhost: //'`"
register: mysql_root_password_temp
tags: register
+
- name: Set new password from temporary password
shell: 'mysql -e "SET PASSWORD = PASSWORD(''{{ mysql_root_password }}'');" --connect-expired-password -uroot -p"{{ mysql_root_password_temp.stdout }}"'
нагуглил

Fedor
13.08.2018
12:41:53
есть файнды в ансибле
ими было бы правильнее, наверное

Constantin
13.08.2018
12:42:03

Fedor
13.08.2018
12:42:23
мало ли, что может в стдаут попасть

Maksim
13.08.2018
12:55:48
Привет.
Кто использовал ansistrano в проде ?

Sergey
13.08.2018
12:56:55
А какую задачу эта зверушка должна решать?

Maksim
13.08.2018
13:00:44
Обычная задача, деплой на сервера

Nklya
13.08.2018
13:03:59
у ансибла есть модуль деплоя

Google

Sergey
13.08.2018
13:09:31

Maksim
13.08.2018
13:10:18

cent
13.08.2018
13:10:40

Nklya
13.08.2018
13:11:02
https://docs.ansible.com/ansible/2.5/modules/deploy_helper_module.html

Artem
13.08.2018
13:11:29

cent
13.08.2018
13:14:29

Сергей
13.08.2018
13:15:20

cent
13.08.2018
13:17:24

Gleb
13.08.2018
14:17:38
https://github.com/ansible/ansible/issues/31691 а поделитись воркараундом?

Terminator
13.08.2018
14:56:08
@sunxe будет жить. Поприветствуем!

Artem
13.08.2018
14:57:30
хм, а почему может не работать хендлер (старт/рестарт)?
- name: Copy .my.cnf file with root password credentials
template: src=root.my.cnf.j2 dest=/root/.my.cnf mode=0600
notify:
- restart mysql
TASK [percona : Copy .my.cnf file with root password credentials] ********************************************************************************************************************************************************************************************************************************************************************************
ok: [percona1]
ok: [percona2]
ok: [percona0]
и все, след шаг уже валится из-за стопнутого мускула

Дмитрий
13.08.2018
14:58:32
Подскажите, делаю всю роль под рутом, а один таск мне нужно выполнить под текущим пользователем. Как это сделать?
Можно поставить become_user на эту таску, но как сделать когда пользователь зараннее не известен?

Artem
13.08.2018
14:58:50
# cat ../handlers/main.yml
---
- name: restart mysql
service: name=mysql state=restarted

Fedor
13.08.2018
15:03:28

Дмитрий
13.08.2018
15:05:50

Fedor
13.08.2018
15:06:11
если там то, что надо - то вполне.
если юзер задаётся, например, в инвентори, например, как ansible_user=, его можно выцепить чем-то типа vars.ansible_user или как-то так.
не помню дерева этого
ни у кого нет на примете роли, чтоб с дженкинсом поиграться?

Google

Дмитрий
13.08.2018
15:09:17
вот ansible_user_id лучше подходит, это пользователь которым коннектишься по ssh

Fedor
13.08.2018
15:09:29
?

Дмитрий
13.08.2018
15:15:29
?
Оказалось что для моего кейса достаточно
become: no

bebebe
13.08.2018
15:29:09

Artem
13.08.2018
15:29:26
есть варианты?)

bebebe
13.08.2018
15:30:10
Особо нет

Artem
13.08.2018
15:30:43
ну оно и понятно)
ну вот… ставлю Percona-XtraDB-Cluster-57 - стартую - нет временного пароля в логе… это пиздец какой-то

Fedor
13.08.2018
15:36:37
а вручную если повторить, появляется?
именно по инструкции

Terminator
13.08.2018
15:40:42
@andreybelyak будет жить. Поприветствуем!


Andrey
13.08.2018
15:48:11
скажите пожалуйста, я использую роль https://github.com/Vinelab/ansible-supervisor чтобы поставить supervisor, роль включена как dependencies в meta/main.yml мой роли программного компонента (без supervisor он не имеет смысла, поэтому указана в зависимости, а не отдельно)
Настройки всех запускаемых программ передаются как переменная supervisor.programs
В процессе стало понятно, что так передавать эти настройки неудобно, так как у компонента они громоздкие, получается нечитаемо. Если бы можно было просто ей скормить готовый конфиг было бы удобнее.
Как вариант я думаю сделать import_role с пустым списом программ, потом скопировать конфиг, потом дернуть хендлер роли чтобы перечитались настройки.
Но мне такое решение кажется громоздким, но отказаться от роли я не могу, т.к. установка на centos громоздкая и делать ее самому не вариант.
У меня философский вопрос: я что-то неправильно спроектировал или роль недостаточно хорошо продумана в смысле гибкости настроек?


ad1
13.08.2018
15:50:37

Artem
13.08.2018
15:50:57
да вот нет

ad1
13.08.2018
15:52:26
как-то чинил такое
вроде
cat /var/log/mysqld.log |grep generated
здесь нет?

Artem
13.08.2018
15:54:31
ну нет же)

ad1
13.08.2018
16:00:58
она вообще стартанула(перкона)? в конфиге какой лог прописан?

Artem
13.08.2018
16:12:11
стартанула, да, и путь тот же

Google


Artem
13.08.2018
16:13:28
хм, теперь есть, странно
TASK [percona : Echo temp pass] ******************************************************************************************************************************************************************************************************************************************************************************************************************
ok: [percona0] => {
"msg": "yP7oa_Xaf#i."
}
ok: [percona1] => {
"msg": "c8ofDrInDU;V"
}
ok: [percona2] => {
"msg": "n,lwuNs6.f.R"
}
Aug 13 19:37:20 percona0.cloud.servers.com mysql-systemd[4653]: /usr/bin/mysql-systemd: line 140: kill: (4651) - No such process
Aug 13 19:37:20 percona0.cloud.servers.com mysql-systemd[4653]: ERROR! mysqld_safe with PID 4651 has already exited: FAILURE
Aug 13 19:37:20 percona0.cloud.servers.com systemd[1]: mysql@bootstrap.service: control process exited, code=exited status=1
Aug 13 19:37:20 percona0.cloud.servers.com mysql-systemd[5094]: WARNING: mysql pid file /var/run/mysqld/mysqld.pid empty or not readable
Aug 13 19:37:20 percona0.cloud.servers.com mysql-systemd[5094]: ERROR! mysql already dead
Aug 13 19:37:20 percona0.cloud.servers.com systemd[1]: mysql@bootstrap.service: control process exited, code=exited status=2
Aug 13 19:37:20 percona0.cloud.servers.com mysql-systemd[5124]: WARNING: mysql pid file /var/run/mysqld/mysqld.pid empty or not readable
Aug 13 19:37:20 percona0.cloud.servers.com mysql-systemd[5124]: WARNING: mysql may be already dead
Aug 13 19:37:20 percona0.cloud.servers.com systemd[1]: Failed to start Percona XtraDB Cluster with config /etc/sysconfig/mysql.bootstrap.
-- Subject: Unit mysql@bootstrap.service has failed
крутейшая перкона… даже стартануть не смогла

Admin
ERROR: S client not available

Paul
13.08.2018
17:01:37
коллеги, подскажите, можно ли в name подсунуть {{ item }}?

Sergey
13.08.2018
17:04:06

Paul
13.08.2018
17:04:15
да, именно про это
типовое:
- name: "install {{ item }}"
apt:
name: "{{ item }}"
with_items:

Sergey
13.08.2018
17:05:08
Тогда так: тупо с with_items не работает, не трать время.
?))))

Paul
13.08.2018
17:05:30
хреново. Спасибо. )

Sergey
13.08.2018
17:05:58
пожалуйста. но если вставишь переменную либо на loop перепишешь... ?

Vadim
13.08.2018
17:06:14

Paul
13.08.2018
17:10:02
какая интересная логика. Где-то работает – а где-то нет

Sergey
13.08.2018
17:13:41
поэтому, видимо, работает. но чаще, если честно, нет.

Paul
13.08.2018
17:14:06
в with_items вообще не хэш. Но мысль я понял
спасибо
мне просто хотелось понять, в какие моменты этот велосипед работает, а в какие нет

Sergey
13.08.2018
17:14:24
да, там список

Google

Paul
13.08.2018
17:14:38
вообще, на мой взгляд, это баг ансибла. точнее не баг, а нелогичное поведение

Sergey
13.08.2018
17:14:58
да, факт.
интересующий тебя кусок, кстати, находится тут:
res['_ansible_item_label'] = templar.template(label)
то есть Jinja-шаблонизация вызывается. как говорится, "да, но нет".
это, если что, ansible/lib/python2.7/site-packages/ansible/executor/task_executor.py

Vadim
13.08.2018
17:19:48

Paul
13.08.2018
17:20:34

Sergey
13.08.2018
17:20:54
то бишь список
а для перебора пар "ключ-значение" как раз и есть отдельный with_dict

ad1
13.08.2018
17:21:40
А какая причина была, что стартануть не могла?

Alexandr
13.08.2018
21:15:13
подскажите пожалуйста, кто пробовал из динамического inventory сгенерировать статический файл? Меня конкретно интересует GCD gce.py

Andrey
13.08.2018
22:31:03
подскажите пожалуйста, как принято генерировать конфиги для сервисов из yaml данных или класть шаблон и использовать template?
в старых книжках и примерах я видел шаблонизацию конфиг файлов, а вот сейчас в ролях постоянно встречаю генерацию конфига на основе переменных, без шаблона. Есть какое-то устоявшееся мнение как стоит делать?

Constantin
13.08.2018
22:31:28
Ребят, кто деплоил NodeJS приложение, вы не замечали, что у вас таск с модулем npm, в котором нужно собирать и билдить нативные модули уходит в себя?
node-gyp просто жрет CPU и MEM, долго, пробовал час медитировать над ним.
Причем, если зайти и запустить руками npm i --only=production все ок собирается