Hi Jclouds users.

I want to use  jclouds-plugin on Jenkins to provide jenkina slave machines on 
Google Compute.
The plugin fails to count nodes with specific images, when it comes up on 
instance created from snapshot.
The cause seems to be in jclouds code.
Shouldn’t diskURIToImage.getUnchecked() in InstanceToNodeMetadata return null 
and not throw an error in this case?

Best regards,
Tomasz

StackTrace:
Timer task hudson.slaves.NodeProvisioner$NodeProvisionerInvoker@79b4d01d failed
shaded.com.google.common.util.concurrent.UncheckedExecutionException: 
java.util.concurrent.ExecutionException: could not find image for disk 
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/INSTANCE_NAME:
 endpoint for [0] not configured for 
org.jclouds.googlecomputeengine.compute.functions.Resources.public abstract 
org.jclouds.googlecomputeengine.domain.Image 
org.jclouds.googlecomputeengine.compute.functions.Resources.image(java.net.URI)
at 
shaded.com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4829)
at 
org.jclouds.googlecomputeengine.compute.functions.InstanceToNodeMetadata.apply(InstanceToNodeMetadata.java:77)
at 
org.jclouds.googlecomputeengine.compute.functions.InstanceToNodeMetadata.apply(InstanceToNodeMetadata.java:43)
at 
shaded.com.google.common.base.Functions$FunctionComposition.apply(Functions.java:211)
at shaded.com.google.common.collect.Iterators$8.transform(Iterators.java:794)
at 
shaded.com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at shaded.com.google.common.collect.Iterators$7.computeNext(Iterators.java:646)
at 
shaded.com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at 
shaded.com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at shaded.com.google.common.collect.Iterators.addAll(Iterators.java:356)
at shaded.com.google.common.collect.Iterables.addAll(Iterables.java:350)
at shaded.com.google.common.collect.Sets.newLinkedHashSet(Sets.java:328)
at 
org.jclouds.compute.internal.BaseComputeService.listNodes(BaseComputeService.java:342)
at 
jenkins.plugins.jclouds.compute.JCloudsCloud.getRunningNodesCount(JCloudsCloud.java:482)
at jenkins.plugins.jclouds.compute.JCloudsCloud.provision(JCloudsCloud.java:365)
at 
hudson.slaves.NodeProvisioner$StandardStrategyImpl.apply(NodeProvisioner.java:701)
at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:307)
at hudson.slaves.NodeProvisioner.access$000(NodeProvisioner.java:60)
at 
hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:798)
at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:50)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.ExecutionException: could not find image for 
disk 
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/INSTANCE_NAME:
 endpoint for [0] not configured for 
org.jclouds.googlecomputeengine.compute.functions.Resources.public abstract 
org.jclouds.googlecomputeengine.domain.Image 
org.jclouds.googlecomputeengine.compute.functions.Resources.image(java.net.URI)
at 
org.jclouds.googlecomputeengine.compute.loaders.DiskURIToImage.load(DiskURIToImage.java:50)
at 
org.jclouds.googlecomputeengine.compute.loaders.DiskURIToImage.load(DiskURIToImage.java:32)
at 
shaded.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
at 
shaded.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
at 
shaded.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
at shaded.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
at shaded.com.google.common.cache.LocalCache.get(LocalCache.java:3934)
at shaded.com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
at 
shaded.com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
at 
shaded.com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827)
... 26 more
Caused by: java.lang.IllegalArgumentException: endpoint for [0] not configured 
for org.jclouds.googlecomputeengine.compute.functions.Resources.public abstract 
org.jclouds.googlecomputeengine.domain.Image 
org.jclouds.googlecomputeengine.compute.functions.Resources.image(java.net.URI)
at 
shaded.com.google.common.base.Preconditions.checkArgument(Preconditions.java:148)
at 
org.jclouds.rest.internal.RestAnnotationProcessor.getEndpointInParametersOrNull(RestAnnotationProcessor.java:526)
at 
org.jclouds.rest.internal.RestAnnotationProcessor.getEndpointFor(RestAnnotationProcessor.java:548)
at 
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:204)
at 
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:137)
at 
org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
at com.sun.proxy.$Proxy109.image(Unknown Source)
at 
org.jclouds.googlecomputeengine.compute.loaders.DiskURIToImage.load(DiskURIToImage.java:48)
... 35 more

Reply via email to