You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Everett Toews (JIRA)" <ji...@apache.org> on 2014/06/23 20:45:25 UTC

[jira] [Closed] (JCLOUDS-558) JSON parse error on createNodesInGroup

     [ https://issues.apache.org/jira/browse/JCLOUDS-558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Everett Toews closed JCLOUDS-558.
---------------------------------

       Resolution: Fixed
    Fix Version/s: 1.7.4
                   1.8.0

> JSON parse error on createNodesInGroup
> --------------------------------------
>
>                 Key: JCLOUDS-558
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-558
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-compute
>    Affects Versions: 1.7.2
>         Environment: jclouds version 1.7.2 and 1.8.0-SNAPSHOT
> ubuntu 14.04 x86_64
> $ java -version
> java version "1.7.0_55"
> OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
> OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
> openstack Havana 2013.2.3
>            Reporter: Andrew Ruef
>            Assignee: Everett Toews
>             Fix For: 1.8.0, 1.7.4
>
>
> using jclouds-example compute-basic: https://github.com/jclouds/jclouds-examples/tree/master/compute-basics
> with command line:
>     java \
>          -Dopenstack-nova.image-id=RegionOne/<image ID> \
>          -Dopenstack-nova.login-user=ubuntu \
>          -Djclouds.trust-all-certs=true \
>          -Djclouds.keystone.credential-type=passwordCredentials \
>          -Dopenstack-nova.endpoint=https://<openstack endpoint host>/v2.0 \
>          -jar target/compute-basics-jar-with-dependencies.jar \
>          openstack-nova <tenant>:<username> <password> mygroup add
> Command fails with exception: 
> {noformat}
> -  no jclouds.zones configured for provider openstack-nova
> -  >> invoking server:list
> -  Sending request 811507394: GET http://<host>/v2/<stuff>/servers/detail HTTP/1.1
> -  >> GET http://<host>/v2/<stuff>/servers/detail HTTP/1.1
> -  >> Accept: application/json
> -  >> X-Auth-Token: <redacted>
> -  Receiving response 811507394: HTTP/1.1 200 OK
> -  << HTTP/1.1 200 OK
> -  << Date: Sat, 03 May 2014 05:36:11 GMT
> -  << Connection: keep-alive
> -  << X-Compute-Request-Id: req-30c4d178-ac5f-4f86-8fc3-9dbd10f593ab
> -  << Content-Type: application/json
> -  << Content-Length: 1503
> -  << "{"servers": [{"status": "ACTIVE", "updated": "2014-05-03T00:45:10Z", "hostId": "cfcfe7bbd3568725754d4cbf500668e0c3890c3f722d322b219559bd", "addresses": {"<tenantid>": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:46:45:df", "version": 4, "addr": "10.10.3.2", "OS-EXT-IPS:type": "fixed"}, {"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:46:45:df", "version": 4, "addr": "<ipaddr>", "OS-EXT-IPS:type": "floating"}]}, "links": [{"href": "http://<hostandport>/v2/<stuff>/servers/6aa6bb89-d9ef-4647-982a-803eee53f573", "rel": "self"}, {"href": "http://<hostandport>/<Stuff>/servers/6aa6bb89-d9ef-4647-982a-803eee53f573", "rel": "bookmark"}], "key_name": "foo-test", "image": "", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-SRV-USG:launched_at": "2014-05-03T00:45:09.000000", "flavor": {"id": "3", "links": [{"href": "http://<hostandport>/<stuff>/flavors/3", "rel": "bookmark"}]}, "id": "6aa6bb89-d9ef-4647-982a-803eee53f573", "security_groups": [{"name": "default"}], "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "FOO", "user_id": "<username>", "name": "<hostname>", "created": "2014-05-03T00:44:12Z", "tenant_id": "<stuff>", "OS-DCF:diskConfig": "MANUAL", "os-extended-volumes:volumes_attached": [{"id": "<stuff>"}], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive": "", "metadata": {}}]}"
> -  Error parsing input
> com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING
> 	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:181) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:263) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:175) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.gson.Gson.fromJson(Gson.java:803) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.gson.Gson.fromJson(Gson.java:868) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.openstack.nova.v2_0.config.NovaParserModule$ServerAdapter.deserialize(NovaParserModule.java:129) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.openstack.nova.v2_0.config.NovaParserModule$ServerAdapter.deserialize(NovaParserModule.java:124) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.readAndBuild(NullFilteringTypeAdapterFactories.java:92) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:84) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:63) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:263) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:175) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.gson.Gson.fromJson(Gson.java:803) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.gson.Gson.fromJson(Gson.java:768) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.gson.Gson.fromJson(Gson.java:717) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:45) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:84) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:78) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:64) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:44) [compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.common.base.Functions$FunctionComposition.apply(Functions.java:216) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:129) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:95) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:56) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) [compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) [compute-basics-jar-with-dependencies.jar:na]
> 	at com.sun.proxy.$Proxy80.listInDetail(Unknown Source) [na:na]
> 	at org.jclouds.openstack.nova.v2_0.compute.NovaComputeServiceAdapter.listNodes(NovaComputeServiceAdapter.java:205) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.listDetailsOnNodesMatching(AdaptingComputeServiceStrategies.java:123) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.listNodes(AdaptingComputeServiceStrategies.java:113) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.getNextNames(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:194) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:123) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.openstack.nova.v2_0.compute.strategy.ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java:148) [compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:215) [compute-basics-jar-with-dependencies.jar:na]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_55]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_55]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_55]
> 	at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_55]
> 	at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37) [compute-basics-jar-with-dependencies.jar:na]
> 	at com.sun.proxy.$Proxy59.createNodesInGroup(Unknown Source) [na:na]
> 	at org.jclouds.examples.compute.basics.MainApp.main(MainApp.java:169) [compute-basics-jar-with-dependencies.jar:na]
> Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING
> 	at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:139) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at com.google.gson.internal.bind.JsonTreeReader.beginObject(JsonTreeReader.java:70) ~[compute-basics-jar-with-dependencies.jar:na]
> 	at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:167) ~[compute-basics-jar-with-dependencies.jar:na]
> 	... 42 common frames omitted
> {noformat}
> It looks like the JSON schema is not appropriate? This version of OpenStack seems pretty old.. am I doing something wrong? 



--
This message was sent by Atlassian JIRA
(v6.2#6252)