ну я думаю, что это все таки баг. В мозгах разработчика.
Потому что сначала при импорте ролей все переменные применяются и в итоге последнее значение записывается.
а потом при проигрывании опять для каждой роли применяются переменные…
и зачем они их применяют Джва раза — вот тут непонятное.
вывод:
в ролях использовать уникальные имена переменных
если надо вызывать одну роль с разным параметром, то при вызове присваивать значение параметра уникальной переменной в роли, которая нигде снаружи роли использоваться не должна.
Сейчас специально проверил.
Поставил 1.15.0, задеплоил в него три деплоймента с разными версиями API и обновился до 1.16.0
После обновления, версия у всех сменилась на apps/v1.
Так что таки да — существующие деплойменты обновит и все продолжит работать. Выкатка новых версий сломается, если у вас старые API прописаны
основная трамблема, если мне надо отправить 1% трафика на канарейку, то надо будет поднимать 99 стейбл-реплик на один канареечный.
что не самое удобное решение )))
и это учитывая, что даже у nginx ингресс контроллера давно есть возможность делать канареечный деплой.
я конечно понимаю, что там все рядом, но все таки эти слова не синонимы.
А исчо в некоторых источниках пишут, что хуситские беспилотники тут только для отмазки.
а на самом деле найдены обломки иранских крылатых ракет.
с кронджобами еще немало граблей есть.
посмотрите и помедитируйте над
.spec.startingDeadlineSeconds
.spec.concurrencyPolicy
.spec.successfulJobsHistoryLimit
.spec.failedJobsHistoryLimit
Ужасный новый интерфейс.
Почему историю платежек можно только за месяц смотреть?
Мелкие ИП любят дублировать платежки, а из выписки, в которой можно посмотреть на платежки за больший срок, нельзя сделать копию платжеки
из-за него чуть не просрочил платежи в налоговую, привык что в старом галочка подписать и отправить установлена, а в новом она была запрятана.
Смотрю в текущей версии сделали кнопку «подписать и отправить»…
Девочки из Call центра не имеют никакой связи с вашей альфа-лабораторией.
Единственный плюс — подсказали, что в настройках альфа-онлайн можно отключить новый интерфейс навсегда
Определить в cisco-конфиге, что измененные строчки приходятся на int F0 они могут, а подать команду exit после отправки всех измененных строчек, чтобы вернуться в основной контекст они уже не могут.
Как страшно жить…
Одни предлагают получать весь список и потом начинают его перебирать, и называют это надежной архитектурой…
Вторые прикручивают к гамаку противогаз, чтобы было удобнее заниматься очередями информеров и пишут крайне полезную документацию по своим гениальным конструкциям…
Коментарии к пулреквесту доставляют немыслимое удовольствие…
Вместо того, чтобы добавить механизмы автоматического восстановления ребята предлагают всем потерпеть, пока они будут править свои баги.
Ну если при синхронизации что-то пришлось синхронизировать — выведите инфу об этом в логи…
И авторам сообщат об ошибке из логовт и эксплуатантам не надо будет писать костыль-кронджоб для ребута контроллера.
Потому что сначала при импорте ролей все переменные применяются и в итоге последнее значение записывается.
а потом при проигрывании опять для каждой роли применяются переменные…
и зачем они их применяют Джва раза — вот тут непонятное.
вывод:
в ролях использовать уникальные имена переменных
если надо вызывать одну роль с разным параметром, то при вызове присваивать значение параметра уникальной переменной в роли, которая нигде снаружи роли использоваться не должна.
- hosts: host1tasks:
- debug: var=foo
- include_role: name=somerole
vars:
foo: 2
- include_role: name=somerole
vars:
foo: 3
- debug: var=foo
ansible 2.7.13
TASK [debug] *************************************************************************************************************************************************
ok: [localhost] => {
"foo": 3
}
TASK [somerole : debug] **************************************************************************************************************************************
ok: [localhost] => {
"foo": 2
}
TASK [somerole : debug] **************************************************************************************************************************************
ok: [localhost] => {
"foo": 3
}
TASK [debug] *************************************************************************************************************************************************
ok: [localhost] => {
"foo": 3
}
найс… что они там курят то?
docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
TASK [debug] *************************************************************************************************************************************************
ok: [localhost] => {
"foo": 1
}
TASK [somerole : debug] **************************************************************************************************************************************
ok: [localhost] => {
"foo": 2
}
TASK [somerole : debug] **************************************************************************************************************************************
ok: [localhost] => {
"foo": 3
}
TASK [debug] *************************************************************************************************************************************************
ok: [localhost] => {
"foo": 1
}
ansible --version
ansible 2.6.2
Поставил 1.15.0, задеплоил в него три деплоймента с разными версиями API и обновился до 1.16.0
После обновления, версия у всех сменилась на apps/v1.
Так что таки да — существующие деплойменты обновит и все продолжит работать. Выкатка новых версий сломается, если у вас старые API прописаны
основная трамблема, если мне надо отправить 1% трафика на канарейку, то надо будет поднимать 99 стейбл-реплик на один канареечный.
что не самое удобное решение )))
и это учитывая, что даже у nginx ингресс контроллера давно есть возможность делать канареечный деплой.
я конечно понимаю, что там все рядом, но все таки эти слова не синонимы.
А исчо в некоторых источниках пишут, что хуситские беспилотники тут только для отмазки.
а на самом деле найдены обломки иранских крылатых ракет.
а не мегапост, как хабра написала
в Kubeadm 1 год захардкожен — поэтому живем с тем, что есть.
Насколько это влияет на безопасность в случае утечки ключей — вопрос холиварный и к статье отношения не имеет.
Просто в доке написано: If both files already exist, kubeadm skips the generation step and existing files will be used.
Если есть похожие места — пора срочно искать ИИ.
посмотрите и помедитируйте над
.spec.startingDeadlineSeconds
.spec.concurrencyPolicy
.spec.successfulJobsHistoryLimit
.spec.failedJobsHistoryLimit
а они часто бывают давности месяц+1 день
Почему историю платежек можно только за месяц смотреть?
Мелкие ИП любят дублировать платежки, а из выписки, в которой можно посмотреть на платежки за больший срок, нельзя сделать копию платжеки
из-за него чуть не просрочил платежи в налоговую, привык что в старом галочка подписать и отправить установлена, а в новом она была запрятана.
Смотрю в текущей версии сделали кнопку «подписать и отправить»…
Девочки из Call центра не имеют никакой связи с вашей альфа-лабораторией.
Единственный плюс — подсказали, что в настройках альфа-онлайн можно отключить новый интерфейс навсегда
Определить в cisco-конфиге, что измененные строчки приходятся на int F0 они могут, а подать команду exit после отправки всех измененных строчек, чтобы вернуться в основной контекст они уже не могут.
Как страшно жить…
Одни предлагают получать весь список и потом начинают его перебирать, и называют это надежной архитектурой…
Вторые прикручивают к гамаку противогаз, чтобы было удобнее заниматься очередями информеров и пишут крайне полезную документацию по своим гениальным конструкциям…
Коментарии к пулреквесту доставляют немыслимое удовольствие…
Вместо того, чтобы добавить механизмы автоматического восстановления ребята предлагают всем потерпеть, пока они будут править свои баги.
Ну если при синхронизации что-то пришлось синхронизировать — выведите инфу об этом в логи…
И авторам сообщат об ошибке из логовт и эксплуатантам не надо будет писать костыль-кронджоб для ребута контроллера.