You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by aledsage <gi...@git.apache.org> on 2017/12/21 11:21:53 UTC
[GitHub] brooklyn-server pull request #922: Sync on jcloudsLocation.vmInstanceIds
GitHub user aledsage opened a pull request:
https://github.com/apache/brooklyn-server/pull/922
Sync on jcloudsLocation.vmInstanceIds
`JcloudsMaxConcurrencyStubbedTest` demonstrates the need for this synchronization: tearDown can fail because the `obtain` is called in a different thread from the `releaseMachine`. The id added to `vmInstanceIds` in obtain was not yet visible to the thread executing `releaseMachine`, so it failed.
To reproduce, try setting `@Test(invocationCount=...)` to something big. For me, it failed after 200ish runs.
```
2017-12-20 16:24:31,348 INFO TESTNG INVOKING CONFIGURATION: "Surefire test" - @BeforeMethod org.apache.brooklyn.location.jclouds.JcloudsMaxConcurrencyStubbedTest.setUp()
2017-12-20 16:24:31,349 INFO Added external config supplier named 'brooklyn-demo-sample': org.apache.brooklyn.core.config.external.InPlaceExternalConfigSupplier@67a84d80
2017-12-20 16:24:31,349 INFO TESTNG PASSED CONFIGURATION: "Surefire test" - @BeforeMethod org.apache.brooklyn.location.jclouds.JcloudsMaxConcurrencyStubbedTest.setUp() finished in 1 ms
2017-12-20 16:24:31,349 INFO TESTNG INVOKING: "Surefire test" - org.apache.brooklyn.location.jclouds.JcloudsMaxConcurrencyStubbedTest.testConcurrentCreateCalls()
2017-12-20 16:24:31,359 INFO Creating VM aws-ec2:us-east-1 in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,360 WARN Cannot check imageChooser status for aws-ec2:us-east-1 due to manually supplied black-box TemplateBuilder; it is recommended to use a PortableTemplateBuilder if you supply a TemplateBuilder
2017-12-20 16:24:31,362 INFO Creating VM aws-ec2:us-east-1 in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,363 INFO Creating VM aws-ec2:us-east-1 in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,363 WARN Cannot check imageChooser status for aws-ec2:us-east-1 due to manually supplied black-box TemplateBuilder; it is recommended to use a PortableTemplateBuilder if you supply a TemplateBuilder
2017-12-20 16:24:31,363 INFO Waiting in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n] for machine-creation permit (0 other queuing requests already)
2017-12-20 16:24:31,366 INFO Default SSH keys not found or not usable; will create new keys for each machine. Create ~/.ssh/id_rsa or set privateKeyFile / privateKeyPassphrase / password as appropriate for this location if you wish to be able to log in without Brooklyn.
2017-12-20 16:24:31,366 INFO Default SSH keys not found or not usable; will create new keys for each machine. Create ~/.ssh/id_rsa or set privateKeyFile / privateKeyPassphrase / password as appropriate for this location if you wish to be able to log in without Brooklyn.
2017-12-20 16:24:31,523 INFO Acquired in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n] machine-creation permit, after waiting 160ms
2017-12-20 16:24:31,524 WARN No context entity found in config or current task
2017-12-20 16:24:31,524 WARN Cannot check imageChooser status for aws-ec2:us-east-1 due to manually supplied black-box TemplateBuilder; it is recommended to use a PortableTemplateBuilder if you supply a TemplateBuilder
2017-12-20 16:24:31,524 WARN No context entity found in config or current task
2017-12-20 16:24:31,527 INFO Default SSH keys not found or not usable; will create new keys for each machine. Create ~/.ssh/id_rsa or set privateKeyFile / privateKeyPassphrase / password as appropriate for this location if you wish to be able to log in without Brooklyn.
2017-12-20 16:24:31,545 INFO Using host-and-port=173.194.32.123:22 and user=jenkins when connecting to {id=myid, status=RUNNING, loginPort=22, privateAddresses=[172.168.10.11], publicAddresses=[173.194.32.123], loginUser=myuser}
2017-12-20 16:24:31,545 INFO Using host-and-port=173.194.32.123:22 and user=jenkins when connecting to {id=myid, status=RUNNING, loginPort=22, privateAddresses=[172.168.10.11], publicAddresses=[173.194.32.123], loginUser=myuser}
2017-12-20 16:24:31,552 INFO Creating PortForwardManager(scope=global)
2017-12-20 16:24:31,555 WARN Using DEPRECATED flag OPEN_IPTABLES (will not be supported in future versions) for SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=dol3orvta0)] at JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,556 WARN Using DEPRECATED flag OPEN_IPTABLES (will not be supported in future versions) for SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=fyilkxt1h4)] at JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,558 INFO Finished VM aws-ec2:us-east-1 creation: jenkins@173.194.32.123/173.194.32.123:22 ready after 196ms (semaphore obtained in 0ms;{image={id=us-east-1/bogus-image, providerId=ebs-image-provider, name=image, location={scope=REGION, id=us-east-1, description=us-east-1, parent=aws-ec2}, os={family=ubuntu, arch=paravirtual, version=1.0, description=ubuntu, is64Bit=true}, description=description, version=1.0, status=AVAILABLE, loginUser=root, userMetadata={rootDeviceType=ebs}}, hardware={id=supporting-bogus, providerId=t2.micro, processors=[{cores=1.0, speed=0.1}], ram=1024, supportsImage=Predicates.and(requiresRootDeviceType(ebs),requiresVirtualizationType(paravirtual),idIn([us-east-1/bogus-image]),Predicates.alwaysTrue())}, location={scope=REGION, id=us-east-1, description=us-east-1, parent=aws-ec2}, options={scriptPresent=true, userMetadata={Name=brooklyn-p19pkv-jenkins-ttta, brooklyn-user=jenkins}}} template built in 38ms; {id=myid, status=RUNNING, loginP
ort=22, privateAddresses=[172.168.10.11], publicAddresses=[173.194.32.123]} provisioned in 123ms; SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=dol3orvta0)] connection usable in 25ms; and os customized in 10ms - point /dev/random to urandom, open iptables)
2017-12-20 16:24:31,561 INFO Finished VM aws-ec2:us-east-1 creation: jenkins@173.194.32.123/173.194.32.123:22 ready after 201ms (semaphore obtained in 0ms;{image={id=us-east-1/bogus-image, providerId=ebs-image-provider, name=image, location={scope=REGION, id=us-east-1, description=us-east-1, parent=aws-ec2}, os={family=ubuntu, arch=paravirtual, version=1.0, description=ubuntu, is64Bit=true}, description=description, version=1.0, status=AVAILABLE, loginUser=root, userMetadata={rootDeviceType=ebs}}, hardware={id=supporting-bogus, providerId=t2.micro, processors=[{cores=1.0, speed=0.1}], ram=1024, supportsImage=Predicates.and(requiresRootDeviceType(ebs),requiresVirtualizationType(paravirtual),idIn([us-east-1/bogus-image]),Predicates.alwaysTrue())}, location={scope=REGION, id=us-east-1, description=us-east-1, parent=aws-ec2}, options={scriptPresent=true, userMetadata={Name=brooklyn-p19pkv-jenkins-ttta, brooklyn-user=jenkins}}} template built in 55ms; {id=myid, status=RUNNING, loginP
ort=22, privateAddresses=[172.168.10.11], publicAddresses=[173.194.32.123]} provisioned in 109ms; SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=fyilkxt1h4)] connection usable in 25ms; and os customized in 12ms - point /dev/random to urandom, open iptables)
2017-12-20 16:24:31,564 WARN No context entity found in config or current task
2017-12-20 16:24:31,580 INFO Using host-and-port=173.194.32.123:22 and user=jenkins when connecting to {id=myid, status=RUNNING, loginPort=22, privateAddresses=[172.168.10.11], publicAddresses=[173.194.32.123], loginUser=myuser}
2017-12-20 16:24:31,588 WARN Using DEPRECATED flag OPEN_IPTABLES (will not be supported in future versions) for SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=mbzvjcfoql)] at JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,590 INFO Finished VM aws-ec2:us-east-1 creation: jenkins@173.194.32.123/173.194.32.123:22 ready after 228ms (semaphore obtained in 161ms;{image={id=us-east-1/bogus-image, providerId=ebs-image-provider, name=image, location={scope=REGION, id=us-east-1, description=us-east-1, parent=aws-ec2}, os={family=ubuntu, arch=paravirtual, version=1.0, description=ubuntu, is64Bit=true}, description=description, version=1.0, status=AVAILABLE, loginUser=root, userMetadata={rootDeviceType=ebs}}, hardware={id=supporting-bogus, providerId=t2.micro, processors=[{cores=1.0, speed=0.1}], ram=1024, supportsImage=Predicates.and(requiresRootDeviceType(ebs),requiresVirtualizationType(paravirtual),idIn([us-east-1/bogus-image]),Predicates.alwaysTrue())}, location={scope=REGION, id=us-east-1, description=us-east-1, parent=aws-ec2}, options={scriptPresent=true, userMetadata={Name=brooklyn-p19pkv-jenkins-sx1z, brooklyn-user=jenkins}}} template built in 39ms; {id=myid, status=RUNNING, logi
nPort=22, privateAddresses=[172.168.10.11], publicAddresses=[173.194.32.123]} provisioned in 1ms; SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=mbzvjcfoql)] connection usable in 19ms; and os customized in 7ms - point /dev/random to urandom, open iptables)
2017-12-20 16:24:31,591 INFO TESTNG PASSED: "Surefire test" - org.apache.brooklyn.location.jclouds.JcloudsMaxConcurrencyStubbedTest.testConcurrentCreateCalls() finished in 242 ms
2017-12-20 16:24:31,591 INFO TESTNG INVOKING CONFIGURATION: "Surefire test" - @AfterMethod org.apache.brooklyn.location.jclouds.JcloudsMaxConcurrencyStubbedTest.tearDown()
2017-12-20 16:24:31,591 INFO Releasing machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=dol3orvta0)] in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n], instance id myid
2017-12-20 16:24:31,594 INFO Attempted release of unknown machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=dol3orvta0)] in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,595 INFO Released machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=dol3orvta0)]: total time 3ms (semaphore obtained in 1ms; node destroyed in 0ms)
2017-12-20 16:24:31,595 INFO Attempted release of unknown machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=fyilkxt1h4)] in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,596 WARN Error releasing machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=fyilkxt1h4)]; continuing...
java.lang.IllegalArgumentException: Unknown machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=fyilkxt1h4)]
at org.apache.brooklyn.location.jclouds.JcloudsLocation.release(JcloudsLocation.java:2150) ~[classes/:na]
2017-12-20 16:24:31,597 INFO Releasing machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=mbzvjcfoql)] in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n], instance id myid
2017-12-20 16:24:31,599 INFO Attempted release of unknown machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=mbzvjcfoql)] in JcloudsLocation[aws-ec2:us-east-1:stub-identity@r94r9yeb3n]
2017-12-20 16:24:31,600 INFO Released machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=mbzvjcfoql)]: total time 2ms (semaphore obtained in 0ms; node destroyed in 0ms)
2017-12-20 16:24:31,614 INFO TESTNG FAILED CONFIGURATION: "Surefire test" - @AfterMethod org.apache.brooklyn.location.jclouds.JcloudsMaxConcurrencyStubbedTest.tearDown() finished in 0 ms
org.apache.brooklyn.util.exceptions.CompoundRuntimeException: Error in tearDown of class org.apache.brooklyn.location.jclouds.JcloudsMaxConcurrencyStubbedTest
at org.apache.brooklyn.location.jclouds.AbstractJcloudsLiveTest.tearDown(AbstractJcloudsLiveTest.java:110)
at org.apache.brooklyn.location.jclouds.AbstractJcloudsStubbedUnitTest.tearDown(AbstractJcloudsStubbedUnitTest.java:72)
at org.apache.brooklyn.location.jclouds.JcloudsMaxConcurrencyStubbedTest.tearDown(JcloudsMaxConcurrencyStubbedTest.java:117)
Caused by: java.lang.IllegalArgumentException: Unknown machine SshMachineLocation[173.194.32.123:jenkins@173.194.32.123/173.194.32.123:22(id=fyilkxt1h4)]
at org.apache.brooklyn.location.jclouds.JcloudsLocation.release(JcloudsLocation.java:2150)
at org.apache.brooklyn.location.jclouds.AbstractJcloudsLiveTest.releaseMachine(AbstractJcloudsLiveTest.java:181)
at org.apache.brooklyn.location.jclouds.AbstractJcloudsLiveTest.releaseMachineSafely(AbstractJcloudsLiveTest.java:189)
at org.apache.brooklyn.location.jclouds.AbstractJcloudsLiveTest.tearDown(AbstractJcloudsLiveTest.java:91)
... 33 more
```
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/aledsage/brooklyn-server fix-JcloudsMaxConcurrencyStubbedTest
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/brooklyn-server/pull/922.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #922
----
commit 8670b23b075f944b27d91e0075bd0f4af1ba9175
Author: Aled Sage <al...@...>
Date: 2017-12-21T10:02:42Z
Sync on jcloudsLocation.vmInstanceIds
----
---
[GitHub] brooklyn-server issue #922: Sync on jcloudsLocation.vmInstanceIds
Posted by aledsage <gi...@git.apache.org>.
Github user aledsage commented on the issue:
https://github.com/apache/brooklyn-server/pull/922
Thanks @tbouron - jenkins is happy so merging.
---
[GitHub] brooklyn-server issue #922: Sync on jcloudsLocation.vmInstanceIds
Posted by tbouron <gi...@git.apache.org>.
Github user tbouron commented on the issue:
https://github.com/apache/brooklyn-server/pull/922
retest this please
---
[GitHub] brooklyn-server pull request #922: Sync on jcloudsLocation.vmInstanceIds
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/brooklyn-server/pull/922
---
[GitHub] brooklyn-server issue #922: Sync on jcloudsLocation.vmInstanceIds
Posted by tbouron <gi...@git.apache.org>.
Github user tbouron commented on the issue:
https://github.com/apache/brooklyn-server/pull/922
The build was aborted for some reason, but all tests passed:
```
[INFO] Installing org/apache/brooklyn/brooklyn-commands/1.0.0-SNAPSHOT/brooklyn-commands-1.0.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
Build timed out (after 60 minutes). Marking the build as aborted.
Build was aborted
[JENKINS] Archiving disabled
[WARNING] Failed to notify spy hudson.maven.Maven3Builder$JenkinsEventSpy: java.lang.InterruptedException
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Brooklyn Server Root ............................... SUCCESS [ 5.027 s]
[INFO] Brooklyn Parent Project ............................ SUCCESS [ 4.852 s]
[INFO] Brooklyn Test Support Utilities .................... SUCCESS [ 9.481 s]
[INFO] Brooklyn Logback Includable Configuration .......... SUCCESS [ 3.821 s]
[INFO] Brooklyn Common Utilities .......................... SUCCESS [01:21 min]
[INFO] Brooklyn API ....................................... SUCCESS [ 5.608 s]
[INFO] CAMP Server Parent Project ......................... SUCCESS [ 2.409 s]
[INFO] CAMP Base .......................................... SUCCESS [ 7.161 s]
[INFO] Brooklyn Test Support .............................. SUCCESS [ 4.601 s]
[INFO] Brooklyn REST Swagger Apidoc Utilities ............. SUCCESS [ 4.584 s]
[INFO] Brooklyn Logback Configuration ..................... SUCCESS [ 3.591 s]
[INFO] CAMP Server ........................................ SUCCESS [ 9.477 s]
[INFO] Brooklyn Felix Runtime ............................. SUCCESS [ 7.076 s]
[INFO] Brooklyn Groovy Utilities .......................... SUCCESS [ 17.419 s]
[INFO] Brooklyn Core ...................................... SUCCESS [04:14 min]
[INFO] Brooklyn Policies .................................. SUCCESS [ 43.287 s]
[INFO] Brooklyn WinRM Software Entities ................... SUCCESS [ 17.993 s]
[INFO] Brooklyn Secure JMXMP Agent ........................ SUCCESS [ 14.597 s]
[INFO] Brooklyn JMX RMI Agent ............................. SUCCESS [ 4.669 s]
[INFO] Brooklyn Jclouds Location Targets .................. SUCCESS [ 45.356 s]
[INFO] Brooklyn Software Base ............................. SUCCESS [01:46 min]
[INFO] Brooklyn CAMP ...................................... SUCCESS [04:02 min]
[INFO] Brooklyn Launcher Common ........................... SUCCESS [ 41.868 s]
[INFO] Brooklyn REST API .................................. SUCCESS [01:17 min]
[INFO] Brooklyn REST Resources ............................ SUCCESS [02:01 min]
[INFO] Brooklyn REST Server ............................... SUCCESS [01:56 min]
[INFO] Brooklyn Launcher .................................. SUCCESS [04:01 min]
[INFO] Brooklyn Container Location Targets ................ SUCCESS [01:58 min]
[INFO] Brooklyn Command Line Interface .................... SUCCESS [01:15 min]
[INFO] Brooklyn Test Framework ............................ SUCCESS [02:11 min]
[INFO] Brooklyn OSGi init ................................. SUCCESS [01:34 min]
[INFO] Brooklyn OSGi start ................................ SUCCESS [ 59.515 s]
[INFO] Brooklyn Karaf ..................................... SUCCESS [ 25.970 s]
[INFO] Jetty config fragment .............................. SUCCESS [03:20 min]
[INFO] Apache Http Component extension .................... SUCCESS [02:21 min]
[INFO] Brooklyn Karaf Features ............................ SUCCESS [ 52.768 s]
[INFO] Brooklyn Karaf Shell Commands ...................... SUCCESS [02:49 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 59:14 min
[INFO] Finished at: 2017-12-21T12:22:15+00:00
[INFO] Final Memory: 99M/801M
[INFO] ------------------------------------------------------------------------
channel stopped
Adding one-line test results to commit status...
Setting status of 8670b23b075f944b27d91e0075bd0f4af1ba9175 to FAILURE with url https://builds.apache.org/job/brooklyn-server-pull-requests/2818/ and message: 'FAILURE
4961 tests run, 0 skipped, 0 failed.'
Using context: Jenkins: brooklyn-server-pull-request
Finished: ABORTED
```
---
[GitHub] brooklyn-server issue #922: Sync on jcloudsLocation.vmInstanceIds
Posted by tbouron <gi...@git.apache.org>.
Github user tbouron commented on the issue:
https://github.com/apache/brooklyn-server/pull/922
retest this please
---
[GitHub] brooklyn-server issue #922: Sync on jcloudsLocation.vmInstanceIds
Posted by tbouron <gi...@git.apache.org>.
Github user tbouron commented on the issue:
https://github.com/apache/brooklyn-server/pull/922
LGTM, will merge once Jenkins is happy
---