Pull to refresh
59
Lev Goncharov@ultral

Infrastructure simplifying engineer

30
Subscribers
Send message

Кмк в вашем примере ошибка. Если работник уехал 14 апреля, в октябре он перестает быть налоговым резидентом и налог начинает считаться по 30%. Но разве в конце года не должен определиться окончательный резидентский статус и потом в апреле 2023 подать 3ндфл что бы доплатить 17% налога за доходы полученные до октября?

имхо mithogen самое действенное из списка. остальное не такой эффект дает. начал пользовать его на 2.9 примерно в 19 году. на группе в 60+ хостов с немного потюненным ssh подключение.

  • без mithogen 28 минут 5 форков, LA ~ 2-4

  • с mithogen: 8 минут 70 форков LA ~ 30

щас хостов порядка 120 в той же группе, кода тоже подросло почти джоба бежит 37 минут ghb 30 форков LA ~ 10. Боюсь предположить сколько без mithogen будет

можно примеры проблем? я на ansible==2.10.7 и python 3.6.8 на 50к SLOC ямла полет нормальный.

готовых решений не видел. кмк apple health чем-то подходит сводя все данные воедино. Но это не панацея, скорее чисто про здоровье.

Лет 6-7 назад похудел на 50кг и осталась привычка отслеживатьвес. заношу в гуглодок: вес, активность, кол-во съеденной еды. Из забавного, нашел корреляцию что чем больше вес тем меньше расходы. Гуглодок веду т.к. сложно найти приложение которое бы устроило и позволило свести воедино все данные.

а свалки с OSM выгружаете? по какой метке?

Вот у вас на карте отмечена зеленая приятная зона для прогулки в районе ул. митрофаньевскской, видимо т.к. по документам там зеленые зоны. Но по факту там жесть - территория сдается в аренду и вместо зелени производства, переработка мусора и свалка.

https://vk.com/bez_promzoni?w=wall-34431600_699

Умеет. И в content library сливать умеет

а lookup выполнится на contorl машине где ansible-playbook Запущен? или на целевой?

не рута, а на кого become делается. если уж точнее

Роли это пример подняться по уровням абстракциям выше. Готового кейса не придумаю. В голову мне с натягом приходит вариант есть роль создания вм подключаемая через include_role куда скармливаются переменные, но это странно

Можно раскрыть мысль про «полное отсутсвие решений»?

Ок, не модули подменяем, а роли. Но здесь тогда привет: правис некий «глобал стейт» и нет возвращаемого значения.

У меня был в практике один проект где был оркестратор инфрой на ruby. Там под капотом дергался shell, и к этому был прикручен самописный тест фржймворк: мы в нем подменяли класс который дергал шел и вставляли моки.

А вот тезис про DI, вы бы не могли развернуть пошире? Например, на псевдокоде/псевдоямле.

например есть задача расширить диск, поправить LVM и создать swap. я бы хотел вместо диска подсунуть образ пустышку и заменить модуль создания lvm

---
- name: create swap
  hosts: test
  inject:
    disk:
      name: /dev/sda
      src: some_image
    module:
      name: lvol
      cmd: return true
  tasks:
    - name: Read device information
      parted:
        device: /dev/sda
        unit: MiB
      register: sda_info
    - name: Extend last partition at /dev/sda
      parted:
        device: "{{ sda_info.partitions | length }}"
        label: gpt
        number: 2
        part_end: "100%"
        resize: true
        state: present
    - name: Create swap logical volume
      lvol:
        vg: VGsystem
        lv: LVswap
        size: 8g
    - name: format swap partition
      command: mkswap /dev/mapper/VGsystem-LVswap
    - name: Run swapon on the swap partition
      command: swapon /dev/mapper/VGsystem-LVswap

с group_vars тоже финт ушами пробовали, но как-то не прижился. через delegated подход позволяет стать ближе к проду, но тогда это очень жестко приколачивает к существющим решениям. мы пока так не готовы и сидим на контейнерах.

вывод у меня напрашивается один с этого - в инфраструктуре не хватате(и не факт что будет) dependency injection, что обрекает тесты быть условными и/или черечур сложными и/или долгими

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

в целом валидно. поэтом и не возвожу это правило в абсолют, это на уровне рекомендаций. ведь ту же помоечку лучше пролинтовать и хотя бы прикрутить молекулу. пусть и с проблемами идемпотентности.

В моём представлении линтеры не являются тестами. Они хороши для того, чтобы затащить в проект наличие CI/CD (когда не знаешь с чего начинать - начинай с линтеров), но первый, основной тест, который нужно написать - это smoke test всего.

линтеры не тесты, но без них не получить быстрой обратной связи прям из в IDE своей не отходя от кассы.

Есть плейбука, которая "конфигурирует"? Сделай её на тестовый сервер с другой инвентори. (та же молекула, или даже прямо поверх второго сервера). Как бы уродливо оно не было, 90% проблем в плейбуках будут пойманы на этом этапе.

обычно молекулу прикручиваем: получаем smoke test, плюс можно не зависеть от тестовых серверов. единственное что в контейнерах есть порой дискомфорт, особенно если настраиваешь контейнеры, трогаешь ядро. приходится какие-то корявые заглушки ставить. вот были бы dependecy injection... зажили бы тогда

Если к ней приделать чуть-чуть инфра-тестов (testinfra) - получится уже вполне себе решение на котором можно долго жить. Тесты ролей имеют смысл только если роли большие и подразумевают переиспользование, по моим наблюдениям в большинстве случаев роли "per project" и спокойно тестируются в составе всего остального, без дополнительной бюрократии вида "отдельная репа для роли со своим CI".

И только если проект разрастается до больших размеров (больших == один человек всего уже не помнит), в этот момент можно думать про тесты для подсистем, просто для упрощения и ускорения процесса работы.

у меня так исторически сложилось, что на большинстве проектов монорепозитории и большинство ролей в одной репе. на каждую роль накидываем молекулу с ansible verifier И рефакторинг/расширение функционала/внесение изменений происходят плавно.

А такая школа/институт/академия/курсы не подпадают под закон о просветительской деятельности? Или вы прям заморочились и получили лицензию?

предлагаю посмотреть конкретный пример

image


в чем проблемы:


  1. грузчики/водитель выламывают столбики(общедомовое имущество) что бы был заезд. тут наверно автоматически никак, если только запись с регистраторов. Конкретно в этом случае кто-то подал жалобу в ГЖИ, та в УМВД, которое усмотрело преступление или административное правонарушение и выдало КУСП
  2. грузчики отодвигают полусферы заграждающие проезд.
  3. водитель заезжает на тротуарню плитку не предусмотренную для этого, жильцы оставляют жалобы и от управляющего магазина приходит гарантийное письмо восставноить как было.

как это можно купировать в ранней стадии?


  1. предусматривать места разгрузки на стадии планирования магазина — тут уже сложно поменять что-то.
  2. поставить регистраторы/камеры, подключить OCR и распознавать спорные ситуации — если ставить камеры 360 то это дорого, да и всегда можно неудачно встать, что проблемное место не будет видно. да и в конце концов можно приехать на место где уже выломано/подвинуто
  3. по gps отслеживать отклонение от дорог общего пользования или заранее отмеченных красных зон. например отеъхал более чем на Х метров от дороги/красной зоны размеченной оператором, то это повод разобраться зачем и посмотреть видео с регистратора. условно дешево и сердито. есть систематичность и возможно неотвратимость наказания
  4. мониторить обращения граждан(активный гражданин/наш санкт петербург) на предмет недовольства, строить корелляции с водителями на маршруте. в целом дешевое решение, но велика вероятность ложных срабатываний

резюмирая gps + мониторинг обращений может стать маркером для проведения проверки работы конкретного магазина с целью наведения порядка/взятия на контроль

не все так однозначно.


  1. если есть другие пути разгруки то можно заезжать? а если зеазжают потому что удобней?
  2. если других путей подъезда нет, но отмостка проектом не рассчитана на движение грузовой техники, то заезажть можно или нет?

А вы не планируете сделать трекинг нарушений пдд, в частности езду/разгрузку на тротуаре?

У меня процесс выглядит так:


  1. использую github pages для своего сайта со статейками
  2. к себе на сайт пишу черновик RU/ENG(вобще это обычно расшировки выступлений своих)
  3. расскидываю ссылки заинтересованным, правлю.
  4. копирую на хабр как есть. приходится подправлять url картинок и хабракат добавлять

такую схему уже года 3 использую

Information

Rating
Does not participate
Registered
Activity

Specialization

DevOps-инженер, Архитектор программного обеспечения
Старший