August 3rd, 2016

404

терминология chef

Я в ней всё ещё плаваю, но те фрагменты, которые я вижу, они очень богаты и выразительны.

"Роль" в шефе - это указание на то, какие рецепты надо вызывать. В сравнении с этим "роль" в ansible - это коллекция plays, плюс прилагающиеся к ним handlers и т.д.

Вот это вот критично: в ansible роль содержит в себе код, а в chef - нет. Роль в chef позволяет надёргать из существующих cookbooks набор рецептов, а роль в ansible - только написать их.

Другими словами, я могу из трёх кукбук набрать рецептов на пять ролей - и каждая роль будет хорошо осмыслена. Сделать из трёх плейбуков пять ролей можно только либо адскими копипастами/include/dependencies. И вот тут вот code reuse начинает резко сужаться, потому что если у вас "новая особая роль", то вы не можете просто взять и чуть-чуть поменять runlist (список рецептов), надо идти и писать "почти такую же роль". Либо внутри роли имитировать разные "режимы работы" и другие костыли, причём эти костыли надо предусматривать в коде plays, а не где-то снаружи.
404

О переиспользовании кода

Основная проблема у ansible: невозможность сделать математику между вызовами зависимостей.

Мы не можем сказать "сделай а", если а был успешным, используй теги такие-то из роли такой-то, а потом используй в "б" результаты работы этой роли.

Основная беда - в "используй теги такие-то", то есть в переиспользовании кода. В ansible оно рудиментарное. Это чуть-чуть упрощает ранний этап написания (чуть меньше условностей), но сильно мешает в крупных независимых проектах с общей кодовой базой.
404

Новости debian sid'а

coming to your distribution soon.

systemd (231-1) unstable; urgency=medium

This version drops support for running /etc/rcS.d SysV init scripts.
These are prone to cause dependency loops, and almost all Debian packages
with rcS scripts now ship a native systemd service. If you have custom or
third-party rcS scripts you need to convert them; see this page for
details: <https://wiki.debian.org/teams/pkg-systemd/rcsmigration>.