Hi Noorul!

There is definitely the intention to support Chef 11 as soon as possible. I
have a work in progress branch [1] where I fixed all Enterprise Chef live
tests and also made all live tests pass against a Chef 11 except the
"listCookbooks" one.

I get the exact same error than you, and it happens when deserializing the
json for the cookbook into the CookbookVersion object. It seems that the
Chef Server is returning a duplicate key in the json structure (although it
shouldn't because we are forcing by default a 0.10 version header to make
it return the same responses than in previous versions), and the json
parser fails to build the corresponding map.

I'm currently working on this but it's taking longer than expected, so any
help would be much appreciated. If you could build my branch and enable
jclouds wire logging [2], you would be able to see the json returned for
your cookbook. Could you share that json? Also, any help tracking/isolating
the error (or patch :)) is appreciated too!

Ignasi

[1] https://github.com/nacx/jclouds-chef/tree/245-live-tests
[2]
http://jclouds.incubator.apache.org/documentation/reference/jclouds-logging/
El 26/08/2013 07:27, "Noorul Islam K M" <[email protected]> escribió:

>
> We are planning to use jclouds-chef library to talk to community Chef
> Server 11. In my initial testings, I get the following exception when I
> try to get cookbook details using
>
> api.getCookbook("openssl", "1.0.2")
>
>
> |  java.lang.IllegalArgumentException: duplicate key: openssl
>         at
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:119)
>         at
> com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:67)
>         at
> com.google.common.collect.ImmutableMap$Builder.fromEntryList(ImmutableMap.java:249)
>         at
> com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:235)
>         at
> org.jclouds.json.internal.NullFilteringTypeAdapterFactories$MapTypeAdapter.read(NullFilteringTypeAdapterFactories.java:313)
>         at
> org.jclouds.json.internal.NullFilteringTypeAdapterFactories$MapTypeAdapter.read(NullFilteringTypeAdapterFactories.java:278)
>         at
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
>         at
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
>         at
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
>         at
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
>         at com.google.gson.Gson.fromJson(Gson.java:795)
>         at com.google.gson.Gson.fromJson(Gson.java:761)
>         at com.google.gson.Gson.fromJson(Gson.java:710)
>         at
> org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:47)
>         at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:86)
>
> README.md says that
>
> It currently supports versions 0.9 and 0.10 of the standard Chef server
> apis, and an initial and very basic (still in progress) implementation
> of the user and organization api of the Hosted and Private Chef
> flavours.
>
> I think that the issue I am facing is because I am using Chef server 11.
> Is there any plans to officially support Chef Server 11 in near future?
>
> Thanks and Regards
> Noorul
>

Reply via email to