Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-8383

[fabric8-arquillian] SessionListener::applyConfiguration doesn't wait for the expected pods

XMLWordPrintable

    • % %

      Having a test with

      @ArquillianResource
      PodList podList;
      

      gets unreliable results, as sometimes it also contain ose-deployer pods, and the application pods are sometimes not there, or not ready yet.

      The problem seems to be that the SessionListener::applyConfiguration is satisfied with any set of ready pods, which may be just the ose-deployer pods in some cases, not the applications pods.

      e.g. in this test I expect two deployments (f8-arq-1 and f8-arq-deployment-1 )

      [33mNo pods are available yet, waiting...ESC[m
      ESC[33mNo pods are available yet, waiting...ESC[m
      ESC[33mNo pods are available yet, waiting...ESC[m
      ESC[32mAll pods/services are currently 'running'!ESC[m
      Replication controller:f8-arq-1
      Replication controller:f8-arq-deployment-1
      Pod:f8-arq-1-deploy Status:PodStatus(conditions=[PodCondition(lastProbeTime=null, lastTransitionTime=2016-09-27T14:43:32Z, message=null, reason=null, status=True, type=Ready, additionalProperties={})], containerStatuses=[ContainerStatus(containerID=docker://5373aa369db3617d51f7315863e1690767a244cdfba33f04e36f49152e564254, image=openshift3/ose-deployer:v3.2.1.15, imageID=docker://sha256:204ee30daa626e10c54778a9edaa7289009dd9bea20e3937fe844db1b6aab565, lastState=ContainerState(running=null, terminated=null, waiting=null, additionalProperties={}), name=deployment, ready=true, restartCount=0, state=ContainerState(running=ContainerStateRunning(startedAt=2016-09-27T14:43:32Z, additionalProperties={}), terminated=null, waiting=null, additionalProperties={}), additionalProperties={})], hostIP=10.34.125.64, message=null, phase=Running, podIP=10.1.3.5, reason=null, startTime=2016-09-27T14:43:30Z, additionalProperties={})
      Pod:f8-arq-deployment-1-deploy Status:PodStatus(conditions=[PodCondition(lastProbeTime=null, lastTransitionTime=2016-09-27T14:43:33Z, message=null, reason=null, status=True, type=Ready, additionalProperties={})], containerStatuses=[ContainerStatus(containerID=docker://741ce71ab5788d7bc8219c5a62b0954a8e339ea7bee95b4cf7bd0e7371dc9505, image=openshift3/ose-deployer:v3.2.1.15, imageID=docker://sha256:204ee30daa626e10c54778a9edaa7289009dd9bea20e3937fe844db1b6aab565, lastState=ContainerState(running=null, terminated=null, waiting=null, additionalProperties={}), name=deployment, ready=true, restartCount=0, state=ContainerState(running=ContainerStateRunning(startedAt=2016-09-27T14:43:31Z, additionalProperties={}), terminated=null, waiting=null, additionalProperties={}), additionalProperties={})], hostIP=10.34.125.209, message=null, phase=Running, podIP=10.1.1.2, reason=null, startTime=2016-09-27T14:43:30Z, additionalProperties={})
      Pod:f8-arq-deployment-1-i5sst Status:PodStatus(conditions=[], containerStatuses=[], hostIP=null, message=null, phase=Pending, podIP=null, reason=null, startTime=null, additionalProperties={})
      Service:f8-arq-deployment IP:172.30.120.255 Port:[8080]
      

      Notice I am getting 3 pods, with the expected f8-arq-deployment-1-i5sst still pending (presumably because at the time of SessionPodsAreReady invocation only the ose-deployer pods were running)

      SessionListener::applyConfiguration should not wait for just any pods being ready. It should wait for all the expected deployment pods.

              Unassigned Unassigned
              maschmid@redhat.com Marek Schmidt
              Lukas Lowinger Lukas Lowinger
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: