Как стать автором
Обновить
-2
0

Пользователь

Отправить сообщение
Да, я тупанул :(
Уже на loop перешел, думал он сейчас аналогично with_items работает
Не, мой косяк. С with_items работает и второй, но падает с loop. Хм :)
У нас получается 2 случая:
- debug: msg="{{item}}"
  when: foo is defined
  with_items: "{{foo}}"

- set_fact:
    foo: "Hello"
- debug: msg="{{item}}"
  when: foo is not string
  with_items: "{{foo}}"

В обоих случаях выражение в when равно False, но при этом первый работает, а второй валится
Не делаете set_fact :)
Если мы делаем foo: "Hello", то when: foo is not string будет False, а значит по идее блок debug должен быть пропущен, и это так, но только если нет цикла. Если же цикл есть, то блок валится с ошибкой.
Короче, что я хочу сказать: when + loop действует не так, как многие предпогалают, поэтому тут надо быть внимательнее
Без with_items не упадет, будет skipped. Только с циклом падает
---
- hosts: all
  gather_facts: no
  tasks:
    - set_fact:
        foo: "Hello"
    - debug: msg="{{item}}"
      when: foo is not string
      with_items: '{{foo}}'

Такой упадет. Мне кажется в первом варианте просто какой-то частный случай, который явно проверяется в ансибле, у них куча таких хаков в коде. Но спорить не буду, я эту часть не особо разбирал, надо будет посмотреть.
Хм, странно. When проверяется не до выполнения цикла, а для каждый итерации. А цикл по undefined foo должен завершиться ошибкой. Возможно у них есть какая-то проверка для таких случаев.
У ансибла в принципе нормальная документация для старта. Если делать всё последовательно, а не скакать по разделам. Сначала с adhoc поиграться локально, потом можно к плейбукам переходить на удаленных машинах. Но это если поставить задачу разобраться в инструменте, а не сделать всё за час.

Самая большая проблема у них с багами. Их очень много. Достаточно посмотреть issues на гитхабе. Скорее всего это связано с очень активной разработкой, они так активно пилят фичи, что просто не в силах всё контролировать и тестировать. Ну и правила версионирования и обратная совместимость у них очень странная. Постоянно что-то меняют, короче со стабильностью у них есть проблемы и очень большие.

Для простых статических плейбуков всё обычно работает, но стоит чуть усложнить — подключить переменные, динамические загрузки тасков и ролей, и можно получить очень много сюрпризов. Из недавнего вспоминаю баг, когда в роли переменные не передавались. Я всё так красивенько на ролях сделал, и тут такой облом :) Я был в таком шоке, что запилил себе свою собственную систему «ролей», используя include_tasks. Сейчас они роли уже пофиксили, но я пока их использую очень осторожно.

Пока у меня еще остались сложности с переменными в ансибле. Я пока не до конца понимаю механизм их работы, а именно области видимости. Как-то они начинают рекурсивно раскручиваться в момент использования в таске похоже. И тут можно получить совсем неожиданные результаты, т.к. ты думаешь, что ты уже присвоил где-то значение переменной, а оно каким-то образом заменяется в другом месте)) Одним словом, на императивность рассчитывать особо не стоит. Ну и разные приоритеты set_fact, include_vars и прочее. В общем, с переменными надо быть настороже.
Первый код должен упасть, если packages не определен.
Проверка when: packages is defined не поможет. Как минимум: заменить with_items на "{{ packages|default([]) }}"
Забавная пятничная заметка получилась, не имеющая практически ничего общего с реальностью :)
Ну и про ошибки слесаря, хирурга и программиста: написал неверную функцию определения азимута — и вот уже спутник летит в океан))
В чем там магия и сложность?
Почему для devops? Это удобно для быстрых шаблонных проектов.
Во время американской предвыборной кампании ключевую роль сыграла кибератака на Национальной комитет Демократической партии США

А ссылка есть на исследование? Или решили своей же заметкой показать пример фальшивости и пост-правды?)
А что, китайцы будут роботами ее строить?
Нужно как можно быстрее создавать свой интернет на ГОСТах.
Сейчас весь мир крутится вокруг США и их технологий. Это может нравиться, может не нравиться, можно закрывать глаза и бесконечно повторять себе что это не так, но реальность такова, что в ближайшие десятилетия это будет так
Спасибо: смешно получилось. Поправьте, если я неправильно понял:
Все начали массово переходить на SSL/TLS, чтобы американские спецслужбы могли нас читать, а остальные нет? Т.е. Гугл работает в интересах АНБ, которое пытается массово перевести всех на шифрование? И в то же время АНБ заявляет, что они не были готовы к такому массовому внедрению шифрования, которое опередило их прогнозы (2018 год вроде) из-за утечки Сноудена по Призме.
Что мы имеем: бегство Сноудена спланировано АНБ для ускорения внедрения шифрования. Вот это я понимаю многоходовочка!
PS. с параноей надо что-то делать
Что явно не разрешено/запрещено, условно разрешено, до тех пор, пока этим не заинтересуется правительство страны. В виду последних событий, украинское правительство заинтересовалось российскими ПС, которые считает «угрозой национальной безопасности», и которые считает необходимым явным образом отрегулировать.
С вебмани вопрос решен положительно, с остальными — отрицательно. Чья это «вина» — это уже другой вопрос, на который я и хотел получить ответ. А вместо этого мы же видим обвинения в адрес украинской стороны в каком-то мифическом нежелании легализовать и сделать прозрачными операции по ЭД. Очевидно, что украинскому правительству самому выгодно, чтобы российские ПС НЕ заходили на ее рынок, и неудивительным был бы полный игнор всех запросов ПС на легализацию. Но для таких обвинений нужны какие-то документы или хотя бы слухи. А так автор тупо возложил всю ответственность на одну из сторон из каких-то личных предубеждений ничем не подкрепленных
Для этого разве не требуется желания обеих сторон? :)
Вон у Webmoney.UA никаких проблем нет — они работают в правовом поле Украины. А Яндекс.Деньги за все время своего существования похоже даже не почесались на данный счет, и сейчас мы видим соответствующий результат.
Я к тому, что вы в конце своей заметки сделали вывод о «виновности» украинской стороны в произошедшем, значит у вас есть соответствующая информация о нежелании украинской стороны работать с данными платежными системами в принципе?
Фактически, позиция НБУ лишь стимулирует рост теневого рынка обмена и продажи электронных денег в Украине, вместо полной легализации и повышения прозрачности операций с электронными валютами.
Поясните, как должен был поступить НБУ, чтобы повысить прозрачность операций в платежных системах, которые открытым текстом говорят, что работают лишь по законодательству РФ? Как можно вообще легально работать в какой-либо стране по законодательству другой?))
Как бы для этого и был создан Koa, т.к. используют разные подходы. Чтобы Экспрессу перейти на async/await придется переписывать всю экосистему вокруг него. Кому это надо, если большинство устраивает текущий подход. Кого не устраивает, могут перейти на Koa
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность