リソースに対する開始/停止要求で、StartCommand または StopCommand が実行されない

System Automation for Multiplatforms では、 同じリソース に対して 同時に StartCommandStopCommand を実行することはできません。
  • System Automation for Multiplatforms は、前のコマンドが終了するまで、次のコマンドの実行をブロックします。
リソースの停止または開始要求が、実際にはまだ実行中の StartCommand または StopCommand によってブロックされているが、製品がハングしているように見える一定の条件があります。 以下にこのような状況の例を挙げます。
  • リソースに対する MonitorCommand では、このリソースの OpState をオンラインとしてモニターするが、リソースの StartCommand が長い時間実行中である。
  • lssam およびその他のコマンドが、そのリソースをオンラインとして示す。 しかし、StartCommand が終了するまで、またはタイムアウトになるまでは、このリソースに対する停止要求が正常に実行されない。
  • この間に、リソースに対して samdiag を実行すると、「Automation」状態として「Ordered - Online sent」が示され、「Compound」状態として 「InAutomation - In Automation」が示される。 ただし、リソースの OpState は常に「Online」を示している。
以下に、この状況を表す samdiag の完全な出力を示します。
samdiag IBM.Application:R1:node1
Displaying information for the following:
 Resource "IBM.Application:R1:node1":

 Diagnosis::Resource: R1/Fixed/IBM.Application/node1
     type: Fixed Resource
    Status -        
	Reported: Online          - Online
        Observed: Online          - Online
         Desired: Online          - Requested Online
        (Nominal: Offline         - Defaulted: offline)
      Automation: Ordered         - Online sent
       Startable: Yes             - Resource is startable
         Binding: Bound           - Bound
        Compound: InAutomation    - In Automation
       Move: None            - Resource Move State is None

 Resource Based Quorum: Not Supported - CharmBase trigger linked

 Cleanup Flag:
    Groups and Aggregates:
     <---HasMember               ---- R1/Float/IBM.Application
     <---Selects/1               ---- R1/Float/IBM.Application
    Binding Constraints:
    Flags:
     None
    Orders:
      Outstanding Order: Online          - Online sent
          Progress: None            - Online sent
            Reason: None            - Online sent
    Dependencies:
      Start: Satisfied
     +---RunsOn                  ---> node1/Node/IBM.PeerNode
      Stop: Satisfied
     <---HasMember               ---- R1/Float/IBM.Application
    Static Relationships:
     +---RunsOn                  ---> node1/Node/IBM.PeerNode
    Dynamic Relationships:"
実行中のコマンドが完了すると、次のようになります。
  • 「Automation」状態が「Idle」に変わります。
  • 「Compound」状態が「Satisfactory」に変わります。
  • リソースに対する停止要求が可能になります。

この状況が発生しないようにするためには、StartCommand および StopCommand のスクリプトがタイムアウトにならないようにします。