Uploaded image for project: 'Brooklyn'
  1. Brooklyn
  2. BROOKLYN-402

jclouds-google-compute fails to provision windows VM: json parse in ResetWindowsPassword

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.11.0
    • None

    Description

      In Brooklyn 0.10.0-SNAPSHOT (with jclouds 1.9.2), it threw the exception shown when trying to deploy a Windows VM in GCE.

      The location config was something like:

      location:
        jclouds:google-compute-engine:
          region: us-central1-a
          displayName: GCE US Windows (us-central1-a)
          imageNameRegex: windows-server-2012.*
          osFamily: windows
          osFamilyOverride: windows
          destroyOnFailure: false
          useJcloudsSshInit: false
          hardwareId: https://www.googleapis.com/compute/v1/projects/jclouds-gce/zones/us-central1-a/machineTypes/n1-standard-1
          loginUser: amp
          templateOptions: { autoCreateKeyPair: false }
      

      The exception was:

      1) ExecutionException on br-oh3dvr-amp-aut-zcbi-mssql-e7eg-d51:
      java.util.concurrent.ExecutionException: org.jclouds.http.HttpResponseException: Error parsing input: Null selfLink
      {statusCode=200, message=OK, headers={ETag=["OKaT3lMknIBtIpgO9cfe2RITHWA/waPzN3UWpey9JNT40SrNnaoT-7Q"], X-XSS-Protection=[1; mode=block], Server=[GSE], X-Content-Type-Options=[nosniff], Cache-Control=[private, max-age=0, must-revalidate, no-transform], X-Frame-Options=[SAMEORIGIN], Alt-Svc=[quic=":443"; ma=2592000; v="36,35,34"], Date=[Wed, 23 Nov 2016 11:16:33 GMT], Vary=[X-Origin, Origin]}, payload=[content=true, contentMetadata=[contentDisposition=null, contentEncoding=null, contentLanguage=null, contentLength=86, contentMD5=null, contentType=application/json; charset=UTF-8, expires=Wed Nov 23 11:16:33 GMT 2016], written=false, isSensitive=false]}
              at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
              at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
              at 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: Error parsing input: Null selfLink
      {statusCode=200, message=OK, headers={ETag=["OKaT3lMknIBtIpgO9cfe2RITHWA/waPzN3UWpey9JNT40SrNnaoT-7Q"], X-XSS-Protection=[1; mode=block], Server=[GSE], X-Content-Type-Options=[nosniff], Cache-Control=[private, max-age=0, must-revalidate, no-transform], X-Frame-Options=[SAMEORIGIN], Alt-Svc=[quic=":443"; ma=2592000; v="36,35,34"], Date=[Wed, 23 Nov 2016 11:16:33 GMT], Vary=[X-Origin, Origin]}, payload=[content=true, contentMetadata=[contentDisposition=null, contentEncoding=null, contentLanguage=null, contentLength=86, contentMD5=null, contentType=application/json; charset=UTF-8, expires=Wed Nov 23 11:16:33 GMT 2016], written=false, isSensitive=false]}
              at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:68)
              at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:42)
              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 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
              at com.sun.proxy.$Proxy388.getSerialPortOutput(Unknown Source)
              at org.jclouds.googlecomputeengine.compute.functions.ResetWindowsPassword$1.apply(ResetWindowsPassword.java:144)
              at org.jclouds.googlecomputeengine.compute.functions.ResetWindowsPassword$1.apply(ResetWindowsPassword.java:142)
              at org.jclouds.util.Predicates2$RetryablePredicate.apply(Predicates2.java:117)
              at org.jclouds.googlecomputeengine.compute.functions.ResetWindowsPassword.apply(ResetWindowsPassword.java:142)
              at org.jclouds.googlecomputeengine.compute.functions.ResetWindowsPassword.apply(ResetWindowsPassword.java:81)
              at org.jclouds.googlecomputeengine.compute.GoogleComputeEngineServiceAdapter.createNodeWithGroupEncodedIntoName(GoogleComputeEngineServiceAdapter.java:187)
              at org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.createNodeWithGroupEncodedIntoName(AdaptingComputeServiceStrategies.java:195)
              at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet$AddNode.call(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:79)
              at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet$AddNode.call(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:63)
      

      Note that this worked previously. We suspect that something has changed in the response we're getting back from our GCE account, which is causing problems for jclouds parsing it.

      Attachments

        Activity

          People

            Unassigned Unassigned
            aled.sage Aled Sage
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: