There is a pull request https://github.com/jclouds/jclouds/pull/1006 with the 
functionality but it needs some tweaks. 

BR, 
Tomek 

On 24/05/2017, 08:42, "Fritz Elfert" <fr...@fritz-elfert.de> wrote:

    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
    
    
    

Reply via email to