
Phil
21.02.2017
15:59:04

Serge
21.02.2017
16:00:01

Anatoly
21.02.2017
16:01:00

Google

Serge
21.02.2017
16:01:29
а что ты спросить то хочешь?
вот вопрос про Salt
почему так не работает?
Install my thing:
cmd.run:
- name: do thing after <file> exists
- wait:
- cmd.run: ls <file>
ну т.е. вообще как надо то?
предыдущая команда делает фигню, которую можно отследить по появлению файла
я хочу вот этот стейт с cmd.run накладывать не раньше появления файла

Anatoly
21.02.2017
16:02:46
ок

Serge
21.02.2017
16:03:36
ок
ну вот чего ок? оно выполняет do thing ... до появления файла

Dmitry
21.02.2017
16:03:55
кровь из глаз
unless чтоли ему нужен

Serge
21.02.2017
16:04:09
дальше следуют маты про 4 убитых часа, кровь из глаз и заберите меня отсюда

Dmitry
21.02.2017
16:04:24
а не, ему нужен creates вроде

Anatoly
21.02.2017
16:04:43

Serge
21.02.2017
16:04:52

Dmitry
21.02.2017
16:05:00
можно и трусы через голову надеть, безусловно

Google

Anatoly
21.02.2017
16:05:45

Dmitry
21.02.2017
16:05:48
там еще и onchanges пахнет
но через require проще :)
короче, кровь из глаз.
начиная с cmd.run прямо кровь из глаз

Serge
21.02.2017
16:08:22
а что не так-то? ну надо запустить команду, не писать же модуль свой ради одного запуска одной инструкции
расширю контекст

Anatoly
21.02.2017
16:08:56

Dmitry
21.02.2017
16:09:25
расширь лучше не контекст, а объясни, почему элементарного require не хватает ?
может мы поймем что-то, чего не видим

Serge
21.02.2017
16:09:58
запускаю докер контейнер с помощью dockerng.running
маунчу volume
надо запустить docker exec, чтобы запустить команду в этом контейнере, но не раньше чем контейнер поднимется, потому что иначе, очевидно, запускать нечего.

Anatoly
21.02.2017
16:11:27

Serge
21.02.2017
16:12:08
это типа cli к основному процессу в контейнере
в шеле на хосте всё работает;)

Anatoly
21.02.2017
16:12:40

Dmitry
21.02.2017
16:13:20

Serge
21.02.2017
16:13:28
но так не пойдет. мне нужен exec в этой контейнере, чтобы по localhost я мог достучаться до процесса

Google

Anatoly
21.02.2017
16:14:40
но я опять же не хочу никого учить жить

Serge
21.02.2017
16:15:20
и как там внутри стартиться jenkins я не очень хочу знать

Konstantin
21.02.2017
16:16:45

Serge
21.02.2017
16:17:29

Konstantin
21.02.2017
16:17:31
Я правильно понял что изначально задача стоит запускать настроенный дженкинс с нужными плагинами?

Serge
21.02.2017
16:17:44
щас будет предложено собрать контейнер с уже установленными плагинами:)
давайте решим, что я так сделаю когда-нибудь. а сейчас в рамках изучения сраного солта, я хочу запустить команду в шеле, после появления файлика:)

Dmitry
21.02.2017
16:20:24
щито значит "после"

Dmitry
21.02.2017
16:20:34
давай так, запускаешь, если файлик существует

Serge
21.02.2017
16:20:36
ну, т.е. вот очевидно, что солт в dockerng.running воспринимает runnning не как стейт, которого надо добиться, а просто дает команду запустить контейнер и не дожидаясь успеха идет дальше

Dmitry
21.02.2017
16:20:42
это делает creates

Serge
21.02.2017
16:20:50

Konstantin
21.02.2017
16:20:50
Коли уже написал, то отправлю :)
У дженкинса есть механизм конфигурирования через groovy-скрипты, он у нас так и настраивается. При старте устанавливаются нужные плагины и конфигурируются из этого же скрипта.

Dmitry
21.02.2017
16:21:32
бля, почему как только в уравнении появляется слово "докер", так сразу на свет вываливается мутное говно, от которого немедленно хочется блевануть :)

Serge
21.02.2017
16:21:52

Hackru
21.02.2017
16:22:49
плюсую за плагин по имени

Google

Konstantin
21.02.2017
16:23:05

Hackru
21.02.2017
16:23:27
а теперь заверните в плейбук

Serge
21.02.2017
16:23:29
бля, почему как только в уравнении появляется слово "докер", так сразу на свет вываливается мутное говно, от которого немедленно хочется блевануть :)
а при чем тут докер. если state == running, то надо бы ждать этого, а не надеяться, что так будет.
просто как только школота, которая пишет ansible и salt, добирается до чего-то чуть сложнее установки пакета в систему, типа aws или docker, то сразу становится ясна цена этой школоте

Hackru
21.02.2017
16:24:58
я вообще не понимаю, почему это плагином идёт

Dmitry
21.02.2017
16:25:08

Hackru
21.02.2017
16:25:18
точнее, почему этот плагин не идёт из коробки

Serge
21.02.2017
16:25:43

Admin
ERROR: S client not available

Serge
21.02.2017
16:26:05

Hackru
21.02.2017
16:26:07
сколько ты знаешь инсталляций дженкинса без гит плагина?

Serge
21.02.2017
16:26:29
в общем, спасибо @kostya_keeper
http://espinosa.io/blog/2014-10-17-jenkins-plugin-management-in-groovy.html
в итоге сделал вот так
#!groovy
import jenkins.model.Jenkins
def instance = Jenkins.getInstance()
def updateCenter = instance.getUpdateCenter()
updateCenter.updateAllSites()
def deploy = updateCenter.getPlugin("git").deploy()
deploy.get()
if (updateCenter.isRestartRequiredForCompletion()) {
def lifecycle = instance.getLifecycle()
lifecycle.restart()
}
теперь пытаюсь нагуглить как ключи гита туда прогрузить;)
SO лежит:)
меня бомбит. https://docs.google.com/document/d/1LEYX7Az08Y4YG86ZMstAQM8ad9SZdsgCVXK5McIZ-fA/edit?usp=sharing

Алексей
22.02.2017
11:58:47

Max
22.02.2017
11:58:48

Serge
22.02.2017
12:01:33

Алексей
22.02.2017
12:01:52
где питон два в ubuntu
где работа с rhel ?

Google

Алексей
22.02.2017
12:02:24
requerytty же

Serge
22.02.2017
12:02:41
No need to bootstrap
ложь
имеется в виду, что достаточно твоей машины.
дай ммне креды от AWS машину и всё поднимется одной командой на моей машине внутри рабочей копии моей репы.

Алексей
22.02.2017
12:03:34
на предварительно подготовленной среде.

Max
22.02.2017
12:03:43
Ага

Алексей
22.02.2017
12:03:58
а приэтом не разницы под что ее готоврить

Max
22.02.2017
12:04:23
Я бы сказал что отсутствие мастера не такой уж и плюс

Serge
22.02.2017
12:04:30

Алексей
22.02.2017
12:04:45
шелскрипт запускается удаленно ?
через ансибл ?

Serge
22.02.2017
12:05:08
но! умея запускать ансибл, ты можешь с локальной машины поднять что угодно.
умея запускать салт, тебе нужно сначала его пропихнуть, можно конечно локальный мастер поднять. но там начнется с ключами и всё такое
в общем, можно переформулирвоать в extremly minimal bootstrap :)

Алексей
22.02.2017
12:06:38
это фантазия распространителя.
впрочем я за ансибл.

Serge
22.02.2017
12:07:11
Almost no need to bootstrap
Almost no need to scale

Алексей
22.02.2017
12:07:20
годится
симметричные пункты с обоих сторон схлопни.
валт не плюс.