Uploaded image for project: 'Brooklyn'
  1. Brooklyn
  2. BROOKLYN-425

Rebinding to MachineEntity: fails to reconnect sensor feeds

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 0.10.0
    • 0.11.0
    • None

    Description

      I deployed a MachineEntity to a jclouds location (in this case openstack), and then restarted AMP.

      Looking in the log, I saw this exception:

      2017-01-12 14:48:55,984 WARN  132 o.a.b.e.s.b.SoftwareProcessImpl [Timer-1] Problem connecting sensors on rebind of MachineEntityImpl{id=clu50hvjpd}
      java.lang.IllegalStateException: Cannot execute Task[ssh: Getting machine details for: SshMachineLocation[10.104.2.116:amp@10.104.2.116/10.104.2.116:22(id=bwjjhxas6l)]]@AaiTH1TI without an execution context; ensure caller is in an ExecutionContext
              at org.apache.brooklyn.util.core.task.DynamicTasks$TaskQueueingResult.orSubmitInternal(DynamicTasks.java:120)[120:org.apache.brooklyn.core:0.11.0.SNAPSHOT]
              at org.apache.brooklyn.util.core.task.DynamicTasks$TaskQueueingResult.orSubmitAsync(DynamicTasks.java:131)[120:org.apache.brooklyn.core:0.11.0.SNAPSHOT]
              at org.apache.brooklyn.core.location.BasicMachineDetails.forSshMachineLocationLive(BasicMachineDetails.java:97)[120:org.apache.brooklyn.core:0.11.0.SNAPSHOT]
              at org.apache.brooklyn.location.ssh.SshMachineLocation.inferMachineDetails(SshMachineLocation.java:1062)[120:org.apache.brooklyn.core:0.11.0.SNAPSHOT]
              at org.apache.brooklyn.location.jclouds.JcloudsSshMachineLocation.inferMachineDetails(JcloudsSshMachineLocation.java:620)[127:org.apache.brooklyn.locations-jclouds:0.11.0.SNAPSHOT]
              at org.apache.brooklyn.location.ssh.SshMachineLocation.getMachineDetails(SshMachineLocation.java:1046)[120:org.apache.brooklyn.core:0.11.0.SNAPSHOT]
              at org.apache.brooklyn.location.ssh.SshMachineLocation.getOsDetails(SshMachineLocation.java:1027)[120:org.apache.brooklyn.core:0.11.0.SNAPSHOT]
              at org.apache.brooklyn.entity.machine.MachineEntityImpl.connectSensors(MachineEntityImpl.java:58)[132:org.apache.brooklyn.software-base:0.11.0.SNAPSHOT]
              at org.apache.brooklyn.entity.software.base.SoftwareProcessImpl$2.run(SoftwareProcessImpl.java:401)[132:org.apache.brooklyn.software-base:0.11.0.SNAPSHOT]
              at java.util.TimerThread.mainLoop(Timer.java:555)[:1.8.0_111]
              at java.util.TimerThread.run(Timer.java:505)[:1.8.0_111]
      

      The consequences of this (for MachineEntity) is that it didn't call AddMachineMetrics.createMachineMetricsFeed, which it should have done if the VM was linux. Sensors like load-average, cpu-usage, etc will therefore not be updated.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              aled.sage Aled Sage
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: