Pull to refresh
18
0
Константин Суворов @Berlic

Make DevOps a reality

Send message

Why do you accuse HiSilicon?


Apparently, all these years HiSilicon was unwilling or incapable to provide adequate security fixes for same backdoor which, by the way, was implemented intentionally.

The software you are talking about is supposed to be made by Xiongmai (Hangzhou Xiongmai Technology Co, XMtech).
Sofia binary supported by custom busybox and dvrHelper.
A lot of chinese noname companies just burn this stuff into their camera modules, because it just works.


HiSilicon SoC itself and compliment software (Linux Kernel and Kernel modules from HiSilicon SDK) does not have this vulnerability.


I've made firmware for HiSilicon-based camera by myself using only Kernel and modules from HiSilicon SDK and it has no backdoors of any kind.


For example, AXIS does use HiSilicon chips in some cameras — are they at risk? No.

Спасибо за статью – интересно! А на сколько актуальна такая архитектура вещания для больших городов с хорошим проникновением высокоскоростного интернета? Нет ли оттока пользователей на стриминговые сервисы и IPTV?

Да, я тоже иногда жалел, что нет поддержки такого функционала. Можно сделать Pull-Request :)


Я иногда пользуюсь переменными, как макросами. Т.к. Ansible запускает шаблонизацию переменных в момент использования, то можно делать так:


- hosts: dest
  vars:
    my_macro: "{{ result_foo.stdout[3] | int }}"
  tasks:
    - command: foobar
      register: result_foo
    - debug:
        msg: "{{ my_macro }}"

Полезная статья, спасибо. Но при таком уровне технических деталей удивлен отсутствием сравнения поведения функций gethostbyname и getaddrinfo, а ведь из-за их особенностей можно схватить хорошие грабли – например, неработающий round-robin DNS.

Нет необходимости добавлять localhost в инвентарь. Ansible умеет понимать что такое localhost и без добавления в инвентарь (см. код). Т.е. в инвентаре могут быть серверы test1,test2 и группа all будет содержать именно эти два сервера. Но при этом вы смело можете запустить какой-нибудь плей для localhost (- hosts: localhost) и Ansible выполнит его на локальном хосте.


Что касается роли deploy-vm, то в зависимости от того, что внутри неё – можно делать разный подход. И либо целиком запускать на локалхосте, либо, как часто делают, в целой роли только первая задача делегируется на локалхост (сам процесс создания VM), а следующие таски выполняются уже на вновь созданной виртуальной машине (такие как hostname, mount и т.п.).

Поскорей бы! Пилю управление домом, пока единственный выход для голосового интерфейса – PocketSphinx. Но работает, к сожалению, далеко не так как хотелось бы.

Значит ли это, что в Google Home тоже будет активирована поддержка русской речи?

Правильной дорогой идете – в смысле, что задумываетесь о планировании своих финансов! Мало, кто об этом думает, и много, кто живет «от зарплаты до зарплаты». Всё из-за того, что у нас нет никаких занятий (ни в школе, ни в институте) по финансовой грамотности. В итоге – спонтанные и необдуманные траты, которые выбивают людей из колеи.


Сам для учета пользуюсь старой версией iBank.

Да, все правильно. В 2.4 были существенные переработки в плане работы с инвентори. В статье я привел информацию для 2.3.

Да, все верно. Я хотел отметить это фразой:


Пример — модуль debug для вывода информации, на самом деле не модуль так как никогда не копируется на удаленный хост, а существует лишь в виде action-плагина.

Возможно, не достаточно «громко» получилось.


Дополню, что в коде Ansible даже для таких action-плагинов (которые не вызывают модули) все равно есть одноименные файлы модулей. Но эти модули внутри содержат только документацию, чтобы правильно работала автогенерация.

Callback'и для профилирования скорее нужны для задач поиска узких мест. Мне для теста нужно было общее время + примитивная агрегация между повторными запусками. Для callback'ов (там есть общее время выполнения) все равно пришлось бы делать агрегацию – решил воспользоваться готовой реализацией для стандартной утилиты time. Для хардкорного профилирования (когда нужно отличать, где именно тормозит – в модуле, в соединении или во внутренностях ansible) можно использовать ANSIBLE_DEBUG=1 – тогда весь низкоуровневый вывод маркируется временнЫми штампами.

Верно, я и обратил внимание на это: делать ControlPath у этих сред разный.


В проектах, где для разных сред хосты называются идентично (workerN, dbN, и т.д.), а отличаются лишь IP-адреса bastion-хостов, через которые пробрасываются ssh-подключения – имена сокетов по шаблону ~/.ssh/master-%r@%h:%p как раз не зависят от рабочей среды и инженер может попасть в описанную ситуацию! В таком случае правильнее в inventory для конкретной среды указывать шаблоны с разными префиксами (например, ~/.ssh/prod-%r@%h:%p). Либо (по аналогии с virtual env) делать разное окружения для запуска Ansible – выставлять ANSIBLE_SSH_CONTROL_PATH и выводить значение текущего окружения в prompt – меньше вероятности, что инженер запустит плейбуки не на тех серверах.

Спасибо. Тоже думал WB как шлюз железо-софт использовать, а мозг сам на openhab настроить.

А какая аппаратная ревизия WB?
Можно подробнее про кривоватую поддержку noolite? Планирую делать ремонт, подумывал про связку Wirenboard для управления нагрузками (возможно теми же блоками noolite) и выключатели noolite для подачи команд.

И как вообще wirenboard с точки зрения стабильности?

На «голом» noolite (без скриптовых языков) нельзя, к примеру, довольно простой сценарий ночного освещения сделать: с 23:00 до 9:00 первым нажатием включать свет на 25%, вторым подряд нажатием – на 100%.

Согласен про in-memory.
Я для такой задачи накидал AGI-скрипт в несколько строк, который закидывал данные в memcache с TTL, increment'ил и возвращал значение.
Если критерий проходит – Answer, нет – Hangup.

Information

Rating
Does not participate
Registered
Activity