Open aledsage opened 8 years ago
Odd, because we do a Entities.waitForServiceUp(dockerHost)
before calling obtain()
on it (for exactly this reason) so the SDN agent ought to be there by then.
The error could be related to https://github.com/brooklyncentral/clocker/issues/301. The host that it was trying to deploy onto subsequently failed to tart with the error described in that bug report.
Testing this again, it does seem to be waiting for the entity to start up. The activity shows the stacktrace below for where it is waiting:
Waiting for SERVICE_UP on DockerHostImpl{id=qP9Do9z6}
Task[provisioning (DockerLocation:rJtz)]@KHf8lRPF
Submitted by SoftlyPresent[value=Task[start]@NZdRzNMv]
In progress, thread waiting (timed) on unknown (sleep)
At: org.apache.brooklyn.util.time.Time.sleep(Time.java:353)
org.apache.brooklyn.util.time.Time.sleep(Time.java:361)
org.apache.brooklyn.util.repeat.Repeater.runKeepingError(Repeater.java:375)
org.apache.brooklyn.util.repeat.Repeater.run(Repeater.java:298)
org.apache.brooklyn.core.entity.Entities.waitForServiceUp(Entities.java:1147)
org.apache.brooklyn.core.entity.Entities.waitForServiceUp(Entities.java:1166)
clocker.docker.location.DockerLocation.obtain(DockerLocation.java:264)
org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ObtainLocationTask.call(MachineLifecycleEffectorTasks.java:406)
org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ObtainLocationTask.call(MachineLifecycleEffectorTasks.java:396)
org.apache.brooklyn.util.core.task.Tasks.withBlockingDetails(Tasks.java:98)
org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ProvisionMachineTask.call(MachineLifecycleEffectorTasks.java:380)
org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ProvisionMachineTask.call(MachineLifecycleEffectorTasks.java:364)
org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:519)
While the docker-infrastructure cluster was resizing up (i.e. a new Docker Host was being added), I tried to deploy the "Node.js Demo Application" from the default catalog. It gave the error below:
DockerHostImpl{id=hHFWt6Q0}
is indeed the host that was still starting up.New hosts that are starting (or old hosts that are being stopping) should be excluded from the choice of hosts on which to create the container.