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