
Maksim
13.04.2018
09:18:18
не понял

Ievgen
13.04.2018
09:20:51
тут есть что то похожее
https://serverfault.com/questions/734560/ansible-become-user-not-picking-up-path-correctly

Salem
13.04.2018
09:20:54

Google

Salem
13.04.2018
09:21:19
оно не дает шелл в точности как у юзера

Maksim
13.04.2018
09:24:45
если целяешься под рутом, то можешь в блоке сделать become_method: su
и в начала блока что-то вроде shell: source ~/.bashrc

Ievgen
13.04.2018
09:27:45

Maksim
13.04.2018
09:28:12
если всё засунешь в block то нет

Ievgen
13.04.2018
09:29:25
я так не извращаюсь, но good to know

Maksim
13.04.2018
09:30:55
почему же ?
мне надо выполнить определенные действия под непривилигированным юзером, пихаю в block и вуаля, но, мы допустим в блок можем запихать определенные дествия и запускать только при условии что when:....
я вот такое сделал
become: true
become_method: sudo
become_user: root
when: ('"nothing added to commit but untracked files present" not in git_api_commit.stdout' and '"nothing added to commit but untracked files present" not in git_api_commit.stdout')

Ievgen
13.04.2018
09:33:10
я не про блок, а про переменные, блок офигенен
@mamyrkhanov а как ты вызываешь rbenv можно таск глянуть?
просто есть очевидные решения типа сделать source что то прямо в таске вызова rbenv или запустить через например bash -c

Aleksei
13.04.2018
09:45:29
А есть в ансибле что-то встроенное для того чтобы обеспечить dual control на запуск тасков?(типа я хочу запустить, но кто-то еще должен подтвердить этот запуск)

Adil
13.04.2018
09:45:40
Думал сделать как обычно это делается, без указания точных путей

Google

Nklya
13.04.2018
09:48:25

Ievgen
13.04.2018
09:52:40
не прокатило?

Adil
13.04.2018
10:01:52
fatal: [35.196.209.175]: FAILED! => {"changed": true, "cmd": ["rbenv", "install", "2.0.0"], "delta": "0:00:00.017395", "end": "2018-04-13 10:01:30.504790", "msg": "non-zero return code", "rc": 1, "start": "2018-04-13 10:01:30.487395", "stderr": "rbenv: /home/user1/.rbenv/versions/2.0.0 already exists", "stderr_lines": ["rbenv: /home/user1/.rbenv/versions/2.0.0 already exists"], "stdout": "", "stdout_lines": []}

Ievgen
13.04.2018
10:04:57
А ставишь для какого юзера?

Adil
13.04.2018
10:05:08

Ievgen
13.04.2018
10:05:24
Да для какого?
Для user1 если, то в ошибке говорится что версия 2.0.0 уже стоит
Или я чего то не понимаю

Nklya
13.04.2018
10:07:05
А еще можно подойти с другой стороны и подумать а зачем вся эта хрень с rbenv вообще делается?

Adil
13.04.2018
10:09:35
вот ответ от всех вариации
PATH
- name: check check
shell: rbenv install 2.3.3
fatal: [35.196.209.175]: FAILED! => {"changed": true, "cmd": "rbenv install 2.3.3", "delta": "0:00:00.002273", "end": "2018-04-13 10:12:49.139387", "msg": "non-zero return code", "rc": 127, "start": "2018-04-13 10:12:49.137114", "stderr": "/bin/sh: 1: rbenv: not found", "stderr_lines": ["/bin/sh: 1: rbenv: not found"], "stdout": "", "stdout_lines": []}
rbenv: not found потому что он не возвращает PATH от необходимого юзера, хотя все для этого делается

Nklya
13.04.2018
10:16:50
докер, не?

Ievgen
13.04.2018
10:17:30
а тыцни ка в command или shell bash -c "echo $PATH"

Adil
13.04.2018
10:18:27

Google

Ievgen
13.04.2018
10:19:17
вообще то "stderr": "rbenv: /home/____user1___/.rbenv/versions/2.0.0 already exists",
так и должно быть?
user1
докер, не?
человеку надо rbenv поставить просто, а ты ему докер сразу
жесток

Adil
13.04.2018
10:23:17

Nklya
13.04.2018
10:24:40

Ievgen
13.04.2018
10:27:09
да хоть 2049, если докера нет по каким то причинам, то это не повод для решения простой задачи вписывающейся в существующую инфраструктуру внезапно его впиливать
обмажутся докерами...

Adil
13.04.2018
10:28:05
докер не вариант

Ievgen
13.04.2018
10:28:10
хотя на самом деле это так же не повод не задуматься о возможности применения )
а PATH нужный где живет?

Ievgen
13.04.2018
10:31:08
что сказал bash -c "echo $PATH" под нужным юзером?
ну и короче можно либо засоурсить нужный файл с PATH или сделать типа так command: zsh -lc "{{home_dir}}.rbenv/bin/rbenv install {{ ruby_version }}" попалось на глаза
естественно вместо zsh то что тебе хочется

Adil
13.04.2018
10:36:46

Ievgen
13.04.2018
10:38:21
user1 где? .bashrc? .bash_profile?
но не суть, ~/.rbenv/bin/rbenv есть всегда?
вызови так и не мучайся "{{home_dir}}.rbenv/bin/rbenv install {{ ruby_version }}"

Anton
13.04.2018
10:39:57
можете пояснить смысл опции async?
асинхронное выполнение.
запускаю, что с ней, что без неё. не вижу разницы

Google

Ievgen
13.04.2018
10:40:17
не ждет от таска ответа сразу
если мне памятъ не изменят

Anton
13.04.2018
10:40:39
ну это я прочитал, а что это значит?

Ievgen
13.04.2018
10:40:59
запускает и идет дальше

Anton
13.04.2018
10:41:12
а обычно не идёт ?

Adil
13.04.2018
10:41:17

Anton
13.04.2018
10:41:22
там же таски и так парарелно запускаются

Admin
ERROR: S client not available

Ievgen
13.04.2018
10:41:22
а потом ты можешь опросить результат, если таск долгий
паралельно в рамаках группы хостов, но последовательно на каждом

Maksim
13.04.2018
10:42:11
так
ванговать не умеем

Adil
13.04.2018
10:42:27
делаю все это дело на google vm серварах

Anton
13.04.2018
10:42:27
на хосте и так один таск

Ievgen
13.04.2018
10:42:57
one-by-one

Anton
13.04.2018
10:43:14
что это значит, не могу суть уловить

Ievgen
13.04.2018
10:43:23
а async позволяет запустить оne не ожидая результата запустить two
а потом проверить результат one
иначе one начался, закончился, начался two

Google

Anton
13.04.2018
10:43:58
вот есть у меня 10 хостов и я создаю один таск, что будет с async и без ?

Ievgen
13.04.2018
10:44:20
забей на 10
у тебя есть 1 хост
таски выполняются последовательно
без async
выполняется таск, регистрируется результат
потом следующий
10 хостов 1 таск паралельно на 10ти хостах, потом 2 паралельно на 10ти

Anton
13.04.2018
10:47:15
ну кароч асинхронное выполнения тасков в пределах хоста, ясно.

Ievgen
13.04.2018
10:47:18
да

Anton
13.04.2018
10:47:38
спасибо

Ievgen
13.04.2018
10:47:45
есть еще strategy free
но могут быть нюансы
async штука хорошая на самом деле

Anton
13.04.2018
10:49:28
мне надо было долгий таск запустить и дождаться пока он выполнится, без переходов на следующией
я понял что async мне нафиг не нужен )

Ievgen
13.04.2018
10:49:45
ага, не нужен

Anton
13.04.2018
10:49:51
там просто что то про ссш таймауты было, это и смутило

Ievgen
13.04.2018
10:49:58
а вот strategy free