<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>6514</bug_id>
          
          <creation_ts>2005-04-13 20:06:34 +0400</creation_ts>
          <short_desc>/etc/init.d/halt: umount /proc/bus/usb выполняется до передачи UPS команды на отключение.</short_desc>
          <delta_ts>2007-03-27 11:34:08 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>startup</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey Y. Afonin">asy</reporter>
          <assigned_to name="Alexey Gladkov">legion</assigned_to>
          <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>rider</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23357</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2005-04-13 20:06:34 +0400</bug_when>
    <thetext>umount для /proc/bus/usb выполняется до передачи бесперебойнику команды на 
отключение. Если UPS USB-шный, команду, я так понимаю, он не получит: 
  
[ -f /proc/bus/usb/devices ] &amp;&amp; umount -n /proc/bus/usb &gt;/dev/null 2&gt;&amp;1 
 
&lt;skip&gt; 
 
# See if this is a powerfail situation. 
UPSCTL=/etc/apcupsd/apccontrol 
if [ -x &quot;$UPSCTL&quot; -a -f /etc/apcupsd/powerfail ]; then 
        action &quot;Attempting to turn the UPS off:&quot; &quot;$UPSCTL&quot; killpower 
        message=&quot;The system is halted&quot; 
        command=/sbin/poweroff 
fi 
 
UPSCTL=/sbin/upsdrvctl 
if [ -x &quot;$UPSCTL&quot; -a -f /etc/killpower ]; then 
        action &quot;Attempting to turn the UPS off:&quot; &quot;$UPSCTL&quot; shutdown 
        message=&quot;The system is halted&quot; 
        command=/sbin/poweroff 
fi</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23359</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2005-04-13 20:44:00 +0400</bug_when>
    <thetext>И что вы предлагаете?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23360</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2005-04-13 20:57:52 +0400</bug_when>
    <thetext>Пока не знаю. А каков, вообще, смысл в отмонтировании usb ? 
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23363</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2005-04-14 01:15:03 +0400</bug_when>
    <thetext>И один не сильно хороший вариант, пока не прояснен вопрос с необходимостью 
отмонтирования USB. Вести список UPS, которые выдерживают паузу после получения 
команды. В случае обнаружения UPS из списка отложить отмонтирование. На сколько 
я помню APC-шные Смарты к таковым относятся. Попробую проверить завтра. 
 
Кстати, кажется еще одна бага: command=/sbin/poweroff. Это приведет к тому, что 
будет отключено питание у ATX материнки. Если у нее в BIOS стоит &quot;запоминать 
последнее состояние&quot;, то после подачи питания с UPS системник не включится. Я 
думаю, что если идет отключение по power fail, то должно быть halt, а не 
poweroff. 
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23384</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2005-04-14 15:42:56 +0400</bug_when>
    <thetext>Копирую из devel: 
----- 
я провел эксперименты с APC Smart UPS 700. Оказалось, что все еще хуже. 
В кратце, команда killpower должна даваться бесперебойнику в K00, а не 
в S01. Поясняю. Критерием для начала процесса shutdown у apcupsd служит  
параметр в EEPROM UPS, который в отчете apcupsd называется MINTIMEL. Этот 
же параметр является задержкой для отключения питания у самого UPS после 
получения команы killpower. В результате, в текущей ситуации с halt 
 
1. пока UPS отключит питание, успевает отработаться все. 
 
2. если poweroff не сможет отключить питание, есть риск, что UPS отключится 
   не по команде killpower, а просто потому, что батареи сели. 
----- 
 
Еще бы на чем проверить... 
 
 
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24492</commentid>
    <comment_count>5</comment_count>
      <attachid>874</attachid>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2005-05-13 17:25:33 +0400</bug_when>
    <thetext>Created attachment 874
инитскрипт

инит-скрипт, проверяющий наличие UPS с отсрочкой отключения и передающий ему
команду killpower. Теоретически рассчитан на apcupcd и nut,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24493</commentid>
    <comment_count>6</comment_count>
      <attachid>875</attachid>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2005-05-13 17:28:49 +0400</bug_when>
    <thetext>Created attachment 875
скрипт для проверки UPS

а это скрипт со списком UPS, на которые должен реагировать инит-скрипт.
Это уже только для apcupsd. Для NUT надо написать соответствующий upscheck.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24494</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2005-05-13 17:36:50 +0400</bug_when>
    <thetext>Кстати, у меня есть жалоба человека, который уже &quot;попал&quot; с сервером на 
выходных. Его USB-шный Smart не поймал killpower, а питание восстановилось до 
того как батареи сели окончательно. В результате бесперебойник не выполнил 
цикл по питанию и сервер остался зашотдауненным. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47212</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-03-26 16:54:49 +0400</bug_when>
    <thetext>Начиная с 0.9.8.9-alt1, /proc больше не отмонтируется.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47262</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2007-03-27 11:34:08 +0400</bug_when>
    <thetext>Тоже вариант. 

Хотя, боюсь, как бы udev теперь на это не влиял...
Постараюсь проверить.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>874</attachid>
            <date>2005-05-13 17:25:33 +0400</date>
            <delta_ts>2005-05-13 17:25:33 +0400</delta_ts>
            <desc>инитскрипт</desc>
            <filename>apcupsd-killpowercheck.init</filename>
            <type>text/plain</type>
            <size>1337</size>
            <attacher name="Sergey Y. Afonin">asy</attacher>
            
              <data encoding="base64">IyEvYmluL3NoCiMKIyBraWxscG93ZXJjaGVjawlObyBzZXJ2aWNlLgojCiMgY2hrY29uZmlnOiAy
MzQ1IDAwIDAwCiMgZGVzY3JpcHRpb246CXRoaXMgc2NyaXB0IGNoZWNrIGZvciBVUFMgd2l0aCBk
ZWxheWVkIHNodXRkb3duIFwKIwkJYW5kIHNlbmQga2lsbHBvd2VyIHRvIGl0IGlmIFVQUyBleGlz
dCBcCiMgcHJvY2Vzc25hbWU6IG5vbmUKIyBjb25maWc6IG5vbmUKIyBwaWRmaWxlOiBub25lCgoj
IERvIG5vdCBsb2FkIFJIIGNvbXBhdGliaWxpdHkgaW50ZXJmYWNlLgpXSVRIT1VUX1JDX0NPTVBB
VD0xCgojIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5LgouIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucwoK
UkVUVkFMPTAKCnN0YXJ0KCkKewoJcm0gLWYgL2V0Yy9wb3dlcmtpbGxlZAoJcmV0dXJuIDAKfQoK
c3RvcCgpCnsKICAgIHVwc2NoZWNrCiAgICBSRVQ9JD8gICAgCgogICAgWyAkUkVUIC1uZSAwIF0g
fHwgcmV0dXJuIDEwMAoKICAgIGlmIFsgJFsgJFJFVCA8ICAxODAgXSA9PSAxIF07IHRoZW4KCWVj
aG8gIlVQUyBzaHV0ZG93biB0aW1lIHRvbyBsb3cgKCRSRVQgc2VjKS4gUGxlYXNlIHNldCAxODAg
c2VjIG9yIG1vcmUiCglyZXR1cm4gMTAxCiAgICBmaQoKICAgIFVQU0NUTD0vZXRjL2FwY3Vwc2Qv
YXBjY29udHJvbAogICAgaWYgWyAteCAiJFVQU0NUTCIgLWEgLWYgL2V0Yy9hcGN1cHNkL3Bvd2Vy
ZmFpbCBdOyB0aGVuCglhY3Rpb24gIkF0dGVtcHRpbmcgdG8gdHVybiB0aGUgVVBTIG9mZjoiICIk
VVBTQ1RMIiBraWxscG93ZXIKICAgICAgICBSRVRWQUw9JD8KCVsgJFJFVFZBTCAtbmUgMCBdIHx8
IGVjaG8gIlVQUyB3aWxsIGJlIHNodXRkb3duIGFmdGVyICRSRVQgc2VjIgoJdG91Y2ggL2V0Yy9w
b3dlcmtpbGxlZCAKCSMgyczJIMTS1cfPxSDNxdPUzyByb290IGZpbGUgc3lzdGVtCiAgICBmaQoK
ICAgIFVQU0NUTD0vc2Jpbi91cHNkcnZjdGwKICAgIGlmIFsgLXggIiRVUFNDVEwiIC1hIC1mIC9l
dGMva2lsbHBvd2VyIF07IHRoZW4KCWFjdGlvbiAiQXR0ZW1wdGluZyB0byB0dXJuIHRoZSBVUFMg
b2ZmOiIgIiRVUFNDVEwiIHNodXRkb3duCiAgICAgICAgUkVUVkFMPSQ/CglbICRSRVRWQUwgLW5l
IDAgXSB8fCBlY2hvICJVUFMgd2lsbCBiZSBzaHV0ZG93biBhZnRlciAkUkVUIHNlYyIKCXRvdWNo
IC9ldGMvcG93ZXJraWxsZWQKICAgIGZpCgogICAgcmV0dXJuICRSRVRWQUwKfQoKIyBTZWUgaG93
IHdlIHdlcmUgY2FsbGVkLgpjYXNlICIkMSIgaW4KCXN0YXJ0KQoJCXN0YXJ0CgkJOzsKCXN0b3Ap
CgkJc3RvcAoJCTs7CgkqKQoJCW1zZ191c2FnZSAiJHswIyMqL30ge3N0YXJ0fHN0b3B9IgoJCVJF
VFZBTD0xCmVzYWMKCmV4aXQgJFJFVFZBTAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>875</attachid>
            <date>2005-05-13 17:28:49 +0400</date>
            <delta_ts>2005-05-13 17:28:49 +0400</delta_ts>
            <desc>скрипт для проверки UPS</desc>
            <filename>apcupsd-upscheck</filename>
            <type>text/plain</type>
            <size>281</size>
            <attacher name="Sergey Y. Afonin">asy</attacher>
            
              <data encoding="base64">IyEvYmluL3NoCiMgY2hlY2sgZm9yIEFQQyBVUFMgd2l0aCBkZWxheWVkIHNodXRkb3duCiMgcmV0
dXJuIDAgaWYgbm8gZGVsYXkgYW5kIGRlbGF5IHRpbWUgaWYgZXhpc3QKClVQU0xJU1Q9IlNNQVJU
LVVQUyIKClJFVD1gL3Vzci9zYmluL2FwY2FjY2Vzc3xlZ3JlcCAtZSAiJFVQU0xJU1QifHdjIC1s
YApbICRSRVQgLW5lIDAgXSB8fCBleGl0IDAKCk1JTj1gL3Vzci9zYmluL2FwY2FjY2Vzc3xncmVw
IERTSFVURHxzZWQgLWUgInMvLio6IFwoWzAtOV0qXCkgLiovXDEvImAKCmV4aXQgJE1JTgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>