
Denis 災 nobody
15.07.2016
17:15:09
а что есть
{
"id" : "memory:2",
"class" : "memory",
"handle" : "DMI:003D",
"description" : "Flash Memory",
"physid" : "3d",
"slot" : "System board or motherboard",
"units" : "bytes",
"capacity" : 8388608,
"children" : [
{
"id" : "bank",
"class" : "memory",
"handle" : "DMI:003F",
"description" : "FLASH Non-volatile 33 MHz (30,3 ns)",
"product" : "25X/Q Series",
"vendor" : "Winbond",
"physid" : "0",
"units" : "bytes",
"size" : 8388608,
"width" : 8,
"clock" : 33000000
}
]
},
биос?

lastsky
15.07.2016
19:24:47
хммм вот такой вопрос:
- есть rpm который устанавливается через yum
- есть rpm группа, которая может присутствовать, а может не присутствовать
есть ли у кого идея, как без shell красиво через when проверить, есть ли на хосте хотя бы один пакет из группы rpm? например, группа rpm - nginx, haproxy, mysql, и если хотя бы один из группы есть - нужно вкатить на хост net-tools. если нету - пройти мимо…

Google

Алексей
15.07.2016
20:44:23

lastsky
15.07.2016
20:45:53
ошибочный юзкейс
согласен, что зависимости между пакетами должен считать сам пакетный менеджер, а не ansible. реализовал через stat, но мне не нравится результат. т.е. это работает, но мне не нравится как это написано, и непонятно, через что написать красиво.
https://habrahabr.ru/post/305400/#comment_9695112 - коммент =)

Denis 災 nobody
16.07.2016
11:57:33
закинуть бы в комменты линк на этот чат.. ))

Алексей
16.07.2016
12:00:35
придут 100500 человеков. будут трындеть про хостинг. зачем нам это :) ?

Denis 災 nobody
16.07.2016
12:01:53
хостинг перенапрвлять в хостинг ) а с ансиблом может будет и спецов больше..

lastsky
16.07.2016
12:02:27

Denis 災 nobody
16.07.2016
12:02:36
нуок )

Roman
16.07.2016
16:25:57
кто подскажет, можно ли внутри lookup еще указать вложенную переменную в качестве пути к темплейт файлу:
virt: name={{ inventory_hostname }}
command=define
xml="{{ lookup('template', "{{ template_file }}"') }}"

Semyon
19.07.2016
07:25:21
девапсы, а расскажите, вы в плейбуки включаете таск на апдейт всей системы?
А-ля:
- name: update system
become: yes
yum: name='*' state=latest

Alex Milushev
19.07.2016
07:25:32

Semyon
19.07.2016
07:25:44
вот я тоже так думаю
а как вы апдейтите системы?

Google

Alex Milushev
19.07.2016
07:26:07
потом, после все ок — на прод

Semyon
19.07.2016
07:27:20
отлично, спасибо

Alex Milushev
19.07.2016
07:29:03
ну это кроме критических обновлений безопасности, там отдельный подход

Semyon
19.07.2016
07:32:59
А расскажите за отдельный подход
для начала, как вы узнаёте, что вышло критическое обновление безопасности?

User ?
19.07.2016
07:34:34
нет
Однажды таким образом получил расхождение libmemcached. В одном месте сервера обновились, а в другом нет

Alex Milushev
19.07.2016
07:34:50
CVE или новости дистриба

Semyon
19.07.2016
07:35:04
я думал может к заббиксу прикручен матюгальник :)

Alex Milushev
19.07.2016
07:35:43
после доступности — вне очереди выкатка на dev/stage прогон смоков и выкатка
процедура та-же в принципе, но вне очереди

Semyon
19.07.2016
07:36:46
спасибо

Alex Milushev
19.07.2016
07:37:34
только не регрессия а смоки ганяем — обновления безопасности не ломают функциональность, в основном

lastsky
19.07.2016
14:12:25
вот такой кейс:
- есть файл №1 (кусок статического и подкладываемого на сервер конфига)
- есть файл №2 (кусок динамически генерируемого через templates+inventory конфига)
- includes не поддерживается приложением для которого конфиг
нужно: слить файлы в один
проблема:
- в lineinfile не подставить template
- в blockinfile не подставить template
- assemble не умеет работать с избранными двумя файлами в папке (а их там много)
- перемещать куда-то файлы - shell начинается и вообще телодвижения лишние
- template не умеет дописывать в начало и конец файла
можно сделать shell: cat file1 >> file2 и всё ок, но осадочек остался.
кейс решается не очень красиво, но решается: в файл №2 сразу запихивается весь статический конфиг. с другой стороны это тоже конфиг, почему бы ему там не лежать.

Dmitry
19.07.2016
15:49:29
я даже не успел написать, что не надо творить херню, тогда не надо будет ее героически решать

lastsky
19.07.2016
15:50:30
ну а как ты бы сделал, точно так же?

Google

Dmitry
19.07.2016
15:56:17
конечно. только изначально. без этих головняков.
зачем склеивать конфиги на сервере, если их можно склеить сразу здесь
иначе это опять fabric какой-то, а не ансибл

lastsky
19.07.2016
15:57:45
ну вот показалось логичным хранить в files большие куски конфигов, которые не меняются.
ок, thanks.

Denis 災 nobody
19.07.2016
16:23:38

Dmitry
19.07.2016
16:23:54
сравнил жопу с пальцем

Denis 災 nobody
19.07.2016
16:24:14
но если такое деление ничего практического не даст - то да, нах надо.

Dmitry
19.07.2016
16:24:22
у меня общий конфиг nginx и конфиг конкретного виртхоста nginx не просто разделены, а вообще лежат в разных ролях и что?

lastsky
19.07.2016
16:24:56
ну у меня был один сервис, просто у него был кусок статический (большой) + кусок динамический, обновляемый каждый раз при прогоне, поменялось инвентори - перевыкати конфиг. не тот случай.

Dmitry
19.07.2016
16:24:56
а у тебя тупо один файл. для говна, которое не умеет в include - его то какой смысл тонким слоем размазывать по всему сортиру?

Denis 災 nobody
19.07.2016
16:25:42
можно сделать прелоадер, который соберет 1 из нескольких.. но смысл?
хотя они есть и работают, но сколько лет назад появились инклуды, и когда "показ итога"

lastsky
19.07.2016
16:26:50
опять начали.. нормально же сидели. инклуды им не нужны…
условия тоже не нужны, может быть? где-то я видал петицию даже.

Denis 災 nobody
19.07.2016
16:27:52
инклуды нужны, когда от них есть толк )

Алексей
19.07.2016
16:27:55
я помнится видел одну толстую инсталяцию. точнее какое то время ее админил.

Google

Алексей
19.07.2016
16:28:47
и догадаться что же в конечном счете будет в конкретном локейшене почти нереально
ибо 100500 инклудов

lastsky
19.07.2016
16:29:25
давайте отменим инклуды, отменим if, вот петиция: http://antiifcampaign.com
так отменим bool, так победим.

Denis 災 nobody
19.07.2016
16:29:38
инклуды не нужны.
ну сделай сотню сайтов у нгинха.. и чтобы можно было отключить в произвольное время 1 хост, а через неделю включить назад. И придешь ты к шаблонам. А потом добавь вот именно этой паре хостов особые локейшены, и шаблоны станут сложнее нгинховых. И компилятор в 1 конфиг на каждый чих, да. Вот она, сила говноподелия и бредовых устоев

Алексей
19.07.2016
16:29:45
"для уменьшения конфигурации" ибо "все и так знают наши дефолты" и "в этом месте накосячить нельзя" и "тут поведение по умолчанию лучше подходит"

Denis 災 nobody
19.07.2016
16:29:57
а, и главное — всё это должно рулиться автоматом!
то есть тьма шаблонов или тьма седов-грепов

Алексей
19.07.2016
16:30:37
и это дерьмо :)

Denis 災 nobody
19.07.2016
16:31:15
да, лучше 1 файл и тьма седов-грепов..

lastsky
19.07.2016
16:31:29
вот кстати, иногда склоняюсь ко мнению, что большой конфиг с include - это следствие, а не причина. идеально, когда код занимает страницу и читается.

Denis 災 nobody
19.07.2016
16:31:32
и я лучше буду 100500 инклудов админить, чем 1 файл

Алексей
19.07.2016
16:36:35
быть может 100500 файлов должно быть на стороне системы управления. но на выходе желательно иметь один файл.
ибо nginx не умеет выводить конфиг в стиле "include defaults"
хотя nginx -T уже шаг в нужном направлении

Dmitry
19.07.2016
16:44:18

lastsky
19.07.2016
16:45:47
вот да. программирование на конфигах - это жесть.

Алексей
19.07.2016
16:47:57
да не. я вполне понимаю причины почему и зачем там делалось. и какое то время они были оправданы.
но практика все равно доказала что это неудобно в довольно неочевидном на первый взгляд месте.

Google

Алексей
19.07.2016
16:48:35
в обучении новых людей.

Dmitry
19.07.2016
16:50:32
я так понимаю, олдскульного народа здесь мало? :) чтобы помнить самый очевидный пример на эту тему? :))))

lastsky
19.07.2016
16:50:37

Dmitry
19.07.2016
16:50:38
доведенный до абсурда

Алексей
19.07.2016
16:51:13

Dmitry
19.07.2016
16:52:16
нет, про конфиг sendmail, который сначала был "простой", а потом упоролись до такого состояния, что его надо было КОМПИЛИРОВАТЬ

Алексей
19.07.2016
16:52:38

Dmitry
19.07.2016
16:53:14
m4 - это просто!

Roman
19.07.2016
16:53:15
вообще все нужно компилировать, очевидно же
)

Dmitry
19.07.2016
16:54:06
вообще конфиг должен быть вхуячен в бинарник с кодом
ОДИН СТАТИК ФАЙЛ, ГО ГО ГО, ЯСОЗДАЛ :)

lastsky
19.07.2016
16:57:35
хаха. да, в go именно так.
один бинарник + один конфиг.

Алексей
19.07.2016
16:59:57
и конфиг вкомпилен в бинарник

Roman
19.07.2016
17:00:04

Алексей
19.07.2016
17:00:41
чо то флейм пошел.

Denis 災 nobody
19.07.2016
17:12:31
m4 - это просто!
Особые олдфаги писали на том языке, в который оно компилировалось...

Dmitry
19.07.2016
17:12:59
например, я. было дело :)