.
После нормального процедурного языка все эти декларативные ямли со скудными возможностями воспринимаются как балет на фоне прозы. Мало того, что рассказать толком ничего не получится, так это надо еще и танцевать.
.
а после нормального функционального языка?
Мои бедные естественнонаучные мозги не приспособлены к фунциональщине, сколько не пробовал разобраться
Max
Мои бедные естественнонаучные мозги не приспособлены к фунциональщине, сколько не пробовал разобраться
я не знаю, какие именно естествонаучные... но это ты неправильно их готовил. в игру с крокодилицами и яйцами играл?
Max
http://worrydream.com/AlligatorEggs/
.
я не знаю, какие именно естествонаучные... но это ты неправильно их готовил. в игру с крокодилицами и яйцами играл?
Я столкнулся одно время со scheme, который за каким-то хреном выбрали для описания логики инсталлятора.
.
Логика причём на scheme, а что-то конкретное делать - это уже процедурщина
.
и вот чтобы написать крохотный маленький модуль для инсталлятора потратил неимоверное количество времени, и ни капли понимания, как оно работает
.
все эти обратные польские нотации, брр
.
лучше уж asm
George
функциональщина != польская нотация
.
посмотри на хаскел
Смертушки моей дожидаешься :)
Max
Смертушки моей дожидаешься :)
смерть неизбежна. как бы не хотелось.
.
смерть неизбежна. как бы не хотелось.
Ну так этож классно, когда выполнение желания неизбежно :)
Max
хотя, смерти я всем желаю, своевременной. и себе.
Max
🤣
Dan
Казалось бы, причём тут ansible?
.
-amen: yes
Артём
Кстати, про yes. В дефолтных настройках линтер молекулы считает безупречными только ‘true’ и ‘false’, именно ловеркейсом. Из какого документа у него такое мнение?
Артём
https://github.com/adrienverge/yamllint/blob/0f073f7a09d29ceb85a1aaf388bdbe5f4145f869/yamllint/rules/truthy.py
Где код я понимаю. Интересует стайлгайд или стандарт или что послужило основанием именно для такого выбора.
Dmitry
там же HEREDOC с пояснениями прям в файле
Артём
Вижу, спасибо.
Dmitry
А, хотя потом из этих примеров документация генерируется. Можно ещё в более приятном виде прочитать: https://yamllint.readthedocs.io/en/stable/rules.html#module-yamllint.rules.truthy
Timur
Кто-то заставляет как-будто ансиблом пользоваться
.
Одно другого не исключает.
George
ансибл ведь ПРОЦЕДУРЕН ПО СУТИ
George
таски все эти и прочее
George
просто не в виде нормального кода, а в виде ямл-инструкций
.
Декларативен а не процедурен
.
Когда описываешь состояние к которому стремишься, и знать не хочешь, как оно это сделает.
George
ансибл не описывает состояние
George
он описывает порядок выполнения ансибл-модулей
George
а если модуль описывает состояние, то да, он его применяет
George
ansible != pupper/salt
Oleksandr
Опять? )))
Артём
Всё ещё.
Константин
есть несколько тасков, которые удаляют определенные файлы и папки, как сделать, чтоб плейбук не отваливался, если файла/папки нет? только ставить проверки на наличие файла? добавить таски, которые проверяют, что exists: true и везде прописать when?
kevit
как именно удаляют?
Константин
- name: Удаление каталогов старых «alfresco» и «share» file: path: "{{ item }}" state: absent with_items: - "{{ catalina_home }}/webapps/alfresco" - "{{ catalina_home }}/webapps/share"
kevit
а как отваливается?
kevit
вообще с идентом какая-то ерунда
Константин
FAILED! => {"changed": false, "msg": "missing required arguments: path"}
kevit
посмотри идент
kevit
и если новый ансибл перепиши сразу на loop
Timur
Падать на отсутствующем файле не должна
kevit
да там не поэтому падает
Timur
Вот так попробуйте: - name: Удаление каталогов старых «alfresco» и «share» file: path: "{{ item }}" state: absent loop: - "{{ catalina_home }}/webapps/alfresco" - "{{ catalina_home }}/webapps/share"
Timur
Русскоязычные названия - фу
kevit
сори
Константин
Русскоязычные названия - фу
для себя пока делаю знаю, что надо переписать
kevit
уважаемые господа, вопрос: кто-то делал рефакторинг на ансибле? есть десяток ролей, во всех есть task/iamtask.yml, внутри таска вызывается module:
kevit
нужно как-то этот модуль дергать один раз при запуске плейбуки, а не из каждой роли
kevit
бегло почитал интернеты, но у всех рефакторинг это переписать плейбуку под роли в лучшем случае
kevit
а мне надо постараться не сломать энтерпрайз)
kevit
у меня пока две идеи: дописать какой-то register: и свою логику поверх или заморочиться с хэндлерами
kevit
что посоветуете?
Max
а мне надо постараться не сломать энтерпрайз)
работаете с версированными ролями ?
Max
у ролей есть версия ?
kevit
нет
Max
они сидят каждая в своей репке ?
Max
вот первое усилие.
kevit
да, каждая в своей
Max
тогда почему нет версий ?
Max
каждой плейбуке создайте дублирующий reqs.$playbook файл.
Max
с урлами и версиями ролей используемых плейбуком.