Uploaded image for project: 'CloudStack'
  1. CloudStack
  2. CLOUDSTACK-3383

GetHostStatsCommand fails when agent is running Ubuntu 13.04 (raring)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 4.1.0
    • 4.5.0, 4.4.2, 4.6.0
    • KVM
    • Security Level: Public (Anyone can view this level - this is the default.)
    • Ubuntu 13.04

    Description

      2013-07-05 13:02:37,782 DEBUG [cloud.agent.Agent] (agentRequest-Handler-3:null) Processing command: com.cloud.agent.api.GetHostStatsCommand
      2013-07-05 13:02:37,782 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-3:null) Executing: /bin/bash -c idle=$(top -b -n 1|grep Cpu(s):|cut -d% -f4|cut -d, -f2);echo $idle
      2013-07-05 13:02:37,940 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-3:null) Execution is successful.
      2013-07-05 13:02:37,941 DEBUG [cloud.agent.Agent] (agentRequest-Handler-3:null) Seq 1-2144469000: { Ans: , MgmtId: 159497075554, via: 1, Ver: v1, Flags: 10, [{"Answer":{"result":false,"details":"empty String","wait":0}}] }

      When I check the output of Ubuntu's 13.04 top (top -v = procps-ng version 3.3.3), it's formatted like this:

      raring# top -b -n 1|grep Cpu(s):
      %Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.5 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st

      While on Ubuntu 12.04 (top -v = procps version 3.2.8) it looks like this:
      precise# top -b -n 1|grep Cpu(s):
      Cpu(s): 0.3%us, 0.1%sy, 0.0%ni, 99.6%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st

      So I believe it is better to split the string on a comma (,) than using the percentage (%).

      Attachments

        1. ubuntu14-usage-stats.patch
          0.8 kB
          Thomas Moroder

        Activity

          People

            widodh Wido den Hollander
            hvt Harm van Tilborg
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: