[devel] QA: не вернуть ли apcupsd из obsolete?

Andrei Bulava =?iso-8859-1?q?abulava_=CE=C1_altlinux=2Eru?=
Чт Янв 27 19:50:17 MSK 2005


Hi, all!

Я знаю, что:

1) apcupsd помещён в obsolete как минимум потому, что:
    a) вместо него можно использовать nut,
    b) в архитектуре apcupsd есть изъяны, не позволяющие считать его 
безопасным по сравнению с тем же nut.

2) в рассылках @altlinux.ru (google "apcupsd nut site:altlinux.ru") 
время от времени поднимаются темы реанимации apcupsd из obsolete; как 
правило, эти темы поднимают владельцы UPS APC с интерфейсом usb или 
желающие перепрограммировать eeprom на APC Smart.

К настоящему времени по разным причинам apcupsd так и не вернулся в 
Sisyphus.

Одно время я, как такой же "счастливый" обладатель UPS APC с интерфейсом 
usb, довольствовался nut, правда, с оговоркой 
https://bugzilla.altlinux.org/show_bug.cgi?id=5211, "излеченной" первым 
попавшимся под руку костылём, задерживающим загрузку системы на 10 
секунд паузой прямо в инитскрипте upsdrv.

А тут мне потребовалось провести сравнительное тестирование nut и 
apcupsd, результатов которого два:

1) за который мне, собственно, и платили, т.к. правильность 
функционирования nut была поставлена под сомнение, - apcupsd выключает 
APC Back UPS RS 500 при снижении заряда батарей до критического точно 
так же, как и nut (для интересующихся - раз и навсегда, пока кто-нибудь 
не ткнёт пальцем в кнопку на UPS'е, поэтому сценарий "появилось 
напряжение - автоматически подаём питание на нагрузку" с дешёвыми APC 
Back нереализуем - это привилегия APC Back Pro и APC Smart);

2) в "сухом остатке" - почти готовый (осталось две косметических правки 
инит-скрипта; buildreq -bi; add_changelog с описанием разницы между 
версиями 3.10.5-alt1 и 3.10.16-alt1) пакет для Sisyphus с хорошими 
шансами на backport на ветку M24.

В общем, заинтересовавшихся просьба высказаться "за" реанимацию apcupsd, 
общещающую:

1) отсутствие проблем с эксклюзивным блокированием запуска системы, 
характерного для нынешнего состояния nut (см. #5211), начиная с версии 
apcupsd-3.10.12 (ChangeLog: Make usb driver sleep for 1 second then 
retry up to 10 times if the device cannot be opened. There are two such 
loops so in the event of failure, it will occur 20 seconds later. This 
allows time for the hotplug program to initialize the USB devices after 
a boot.)

2) толерантное отношение к миграции UPS между устройствами 
/dev/usb/hiddev[0-15] (Apcupsd User's Manual: Note that you should enter 
"/dev/usb/hiddev[0-15]" literally as shown. The "[0-15]" expression 
tells apcupsd to search all hiddev devices until it finds a UPS. You can 
restrict the search to a subset of devices by using something like 
"[0-4]", but keep in mind this will limit apcupsd's ability to locate 
the UPS if the kernel relocates it to a different device node, which 
happens occasionally during short power failures.); о nut, если там 
такое поведение и поддерживается, мне ничего неизвестно.

Настаивать на включение apcupsd в компонент Sisyphus master я не буду, а 
вот в contrib этот пакет будет смотреться вполне к месту: и Security 
Team это ни к чему не обязывает, и "простым смертным" не придётся каждый 
раз проходить семь кругов ада "configure && make && make install" + 
написание инитскрипта.

BTW, поддержка apcupsd в /etc/init.d/halt из пакета startup всё ещё 
присутствует, - прошу не убирать её в порыве борьбы "за чистоту рядов" ;-)

Спасибо.

-- 
// AB1002-UANIC



Подробная информация о списке рассылки Devel