FYI: In the meantime, Ignasi mentioned to me: There is already https://issues.apache.org/jira/browse/JCLOUDS-1300 which also covers the same problem.
-Fritz On 24.05.2017 00:19, Joshua Forest wrote: > I need to be able to specify the subnetwork, is this possible in > jclouds? I am using the jclouds-plugin on jenkins. Fritz Effert (the > maintainer of that plugin) said he'd be watching the list and would > respond if he saw something come through, so here it is! > > May 19, 2017 6:57:46 PM > jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate get > INFO: Provisioning new jclouds node > May 19, 2017 6:57:46 PM > jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate get > INFO: Setting image id to https://www.googleapis.com/compute/v1/projects/ > > <http://www.googleapis.com/compute/v1/projects/><project_name>/global/images/<image_name> > May 19, 2017 6:57:46 PM > jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate get > INFO: Setting hardware Id to > https://www.googleapis.com/compute/v1/projects/ > > <http://www.googleapis.com/compute/v1/projects/><project_name>/zones/europe-west1-c/machineTypes/n1-standard-1 > May 19, 2017 6:57:46 PM > jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate get > INFO: Setting location Id to europe-west1-c > May 19, 2017 6:57:46 PM org.jclouds.logging.jdk.JDKLogger logInfo > INFO: >> searching > params({imageId=https://www.googleapis.com/compute/v1/projects/ > > <http://www.googleapis.com/compute/v1/projects/><project_name>/global/images/<image_name>, > locationId=europe-west1-c, > hardwareId=https://www.googleapis.com/compute/v1/projects/ > > <https://www.googleapis.com/compute/v1/projects/><project_name>/zones/europe-west1-c/machineTypes/n1-standard-1}) > May 19, 2017 6:57:49 PM org.jclouds.logging.jdk.JDKLogger logInfo > INFO: << matched image(https://www.googleapis.com/compute/v1/projects/ > > <http://www.googleapis.com/compute/v1/projects/><project_name>/global/images/<image_name>) > hardware(https://www.googleapis.com/compute/v1/projects/ > > <https://www.googleapis.com/compute/v1/projects/><project_name>/zones/europe-west1-c/machineTypes/n1-standard-1) > location(europe-west1-c) May 19, 2017 6:57:49 PM > jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate get > INFO: Setting networks to support > May 19, 2017 6:57:49 PM > jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate get > INFO: Init script without private admin key. Falling back to jenkins user > credentials > May 19, 2017 6:57:49 PM org.jclouds.logging.jdk.JDKLogger logInfo > INFO: >> running 1 node group(jenkins-buildbox) location(europe-west1-c) > image(https://www.googleapis.com/compute/v1/projects/ > > <http://www.googleapis.com/compute/v1/projects/><project_name>/global/images/<image_name>) > hardwareProfile(https://www.googleapis.com/compute/v1/projects/ > > <https://www.googleapis.com/compute/v1/projects/><project_name>/zones/europe-west1-c/machineTypes/n1-standard-1) > options({loginUser=admin, loginPrivateKeyPresent=true, > scriptPresent=true, userMetadata={Name=jenkins-buildbox}, > networks=[support]}) May 19, 2017 6:57:50 PM > org.jclouds.logging.jdk.JDKLogger logInfo > INFO: >> adding node location(europe-west1-c) name(jenkins-buildbox-143) > image(6874878162127463719) hardware(3001) > May 19, 2017 6:57:50 PM org.jclouds.logging.jdk.JDKLogger logError > SEVERE: createNodesInGroup(jenkins-buildbox), completed: 0/1, errors: 1, > rate: 586ms/op > java.util.concurrent.ExecutionException: > org.jclouds.http.HttpResponseException: command: POST > https://www.googleapis.com/compute/v1/projects/ > > <http://www.googleapis.com/compute/v1/projects/><project_name>/zones/europe-west1-c/instances > HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [{ > "error": { > "errors": [ > { > "domain": "global", > "reason": "invalid", > "message": "Invalid value for field 'resource.networkInterfaces[0]': ''. > Subnetwork should be specified for custom subnetmode network" > } > ], > "code": 400, > "message": "Invalid value for field 'resource.networkInterfaces[0]': ''. > Subnetwork should be specified for custom subnetmode network" > } > } > ] > at > shaded.com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299) > at > shaded.com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286) > at > shaded.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) > at org.jclouds.concurrent.FutureIterables$1.run(FutureIterables.java:123) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.jclouds.http.HttpResponseException: command: POST > https://www.googleapis.com/compute/v1/projects/ > > <http://www.googleapis.com/compute/v1/projects/><project_name>/zones/europe-west1-c/instances > HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [{ > "error": { > "errors": [ > { > "domain": "global", > "reason": "invalid", > "message": "Invalid value for field 'resource.networkInterfaces[0]': ''. > Subnetwork should be specified for custom subnetmode network" > } > ], > "code": 400, > "message": "Invalid value for field 'resource.networkInterfaces[0]': ''. > Subnetwork should be specified for custom subnetmode network" > } > } > ] > at > org.jclouds.googlecomputeengine.handlers.GoogleComputeEngineErrorHandler.handleError(GoogleComputeEngineErrorHandler.java:37) > at > org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65) > at > org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:140) > at > org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:109) > at > org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90) > at > org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73) > at > org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44) > at > org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) > at > shaded.com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) > at com.sun.proxy.$Proxy145.create(Unknown Source) > at > org.jclouds.googlecomputeengine.compute.GoogleComputeEngineServiceAdapter.createNodeWithGroupEncodedIntoName(GoogleComputeEngineServiceAdapter.java:160) > at > org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.createNodeWithGroupEncodedIntoName(AdaptingComputeServiceStrategies.java:196) > at > org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet$AddNode.call(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:81) > at > org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet$AddNode.call(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:64) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > at java.lang.Thread.getStackTrace(Thread.java:1589) > at > org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.createNodeInGroupWithNameAndTemplate(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:169) > at > org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:124) > at > org.jclouds.googlecomputeengine.compute.strategy.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:130) > at > org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:217) > at > jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate.get(JCloudsSlaveTemplate.java:595) > at > jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate.provisionSlave(JCloudsSlaveTemplate.java:339) > at > jenkins.plugins.jclouds.compute.JCloudsCloud.doProvisionFromTemplate(JCloudsCloud.java:439) > at > jenkins.plugins.jclouds.compute.JCloudsCloud.doProvision(JCloudsCloud.java:468) > at > java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:599) > at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343) > at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184) > at > org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117) > at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129) > at > org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) > at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) > at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) > at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248) > at > org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) > at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) > at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) > at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) > at org.kohsuke.stapler.Stapler.service(Stapler.java:238) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) > at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) > at > hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) > at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:80) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > at > hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) > at > hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) > at > hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) > at > jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) > at > hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) > at > hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) > at > org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) > at > hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) > at > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) > at > hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) > at > jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) > at > hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) > at > hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) > at > hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) > at > hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) > at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > at > org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > at > hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > at > org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > at org.eclipse.jetty.server.Server.handle(Server.java:499) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) > at org.eclipse.jetty.io > <http://org.eclipse.jetty.io>.AbstractConnection$2.run(AbstractConnection.java:544) > at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) > ... 3 more > > > You can see that it's connecting, but failing because the subnetwork is > not defined properly. I think it's attempting to use the default > subnetwork, but that doesn't exist in the network I created. Only the 2 > subnetworks I created exist. > > Please let me know if you need more information, or not > > Thanks in advance, Please > see https://issues.jenkins-ci.org/browse/JENKINS-44292 > <https://issues.jenkins-ci.org/browse/JENKINS-44292> for more > information, and my full set of images etc. > > - Joshua C. Forest
signature.asc
Description: OpenPGP digital signature