[ 
https://issues.apache.org/jira/browse/JCLOUDS-377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13822248#comment-13822248
 ] 

Ignasi Barrera commented on JCLOUDS-377:
----------------------------------------

This is really weird, as there is [specific code in the 
ChefParserModule|https://github.com/jclouds/jclouds-chef/blob/master/core/src/main/java/org/jclouds/chef/config/ChefParserModule.java#L247-L261]
 to deal with duplicated keys. I frequently run all live tests on my Hosted 
chef account (where I have the apache2 cookbook too) and all succeed, including 
the calls that are failing to you. Could you please make sure you are using the 
appropriate SNAPSHOT version?

Verify that you are using these Maven dependencies:

{code:xml}
<!-- If you use Hosted Chef add this dependency -->
<dependency>
    <groupId>org.apache.jclouds.provider</groupId>
    <artifactId>enterprisechef</artifactId>
    <version>1.7.0-SNAPSHOT</version>
</dependency>
<!-- If you want to use the generic Chef Api add this one -->
<dependency>
    <groupId>org.apache.jclouds.api</groupId>
    <artifactId>chef</artifactId>
    <version>1.7.0-SNAPSHOT</version>
</dependency>
{code}

Verify too that you have configured the right snapshot repository in your 
pom.xml:

{code:xml}
<repository>
    <id>apache-snapshots</id>
    <url>https://repository.apache.org/content/repositories/snapshots</url>
    <releases>
        <enabled>false</enabled>
    </releases>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>
{code}

And finally verify that you haven't a mirror in your settings.xml that may be 
overriding the repository to be used. If everything is properly configured, try 
building your project and forcing a SNAPSHOT download, to make sure the latest 
version is beign used:

{code}
mvn clean install -U
{code}



It would also help if you could share your pom.xml and the output of the Maven 
dependency tree to double-check the dependencies being used:
{code}
mvn dependency:tree
{code}

> Error in fetching cookbooks from chef server
> --------------------------------------------
>
>                 Key: JCLOUDS-377
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-377
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-chef
>    Affects Versions: 1.6.0
>            Reporter: Jayant Kaushal
>            Assignee: Ignasi Barrera
>              Labels: hostedchef
>             Fix For: 1.7.0
>
>
> I am trying to fetch cookboks from my opscode hosted chef account.some 
> cookbooks seems to fetch fine. for example 
> chef_handler,bluepill,build-essential however when i try to fetch apache2, 
> mysql that are there on my hosted chef server,
> This is what i am trying to do.
>  ChefApi api = getAPI();
>  Set<String> cookbooks = api.listCookbooks();
>  for(String cookBook : cookbooks) {
>  Set<String> versionsOfCookbook = api.getVersionsOfCookbook(cookBook);
>         for(String s : versionsOfCookbook) {
>           CookbookVersion cookbook = api.getCookbook(cookBook, s);
>     }
> But this throws exception for apache2, please take a look
> SEVERE: Error parsing input
> java.lang.IllegalArgumentException: duplicate key: apache2
>       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:176)
>       at 
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
>       at 
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
>       at com.google.gson.Gson.fromJson(Gson.java:755)
>       at com.google.gson.Gson.fromJson(Gson.java:721)
>       at com.google.gson.Gson.fromJson(Gson.java:670)
>       at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:47)
>       at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:86)
>       at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:80)
>       at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:66)
>       at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:46)
>       at 
> org.jclouds.rest.internal.InvokeHttpMethod$InvokeAndTransform.call(InvokeHttpMethod.java:167)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:662)
> 20:20:03,274 ERROR [DispatcherPortlet:560] Could not complete request
> java.lang.IllegalArgumentException: duplicate key: apache2
>       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:176)
>       at 
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
>       at 
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
>       at com.google.gson.Gson.fromJson(Gson.java:755)
>       at com.google.gson.Gson.fromJson(Gson.java:721)
>       at com.google.gson.Gson.fromJson(Gson.java:670)
>       at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:47)
>       at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:86)
>       at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:80)
>       at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:66)
>       at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:46)
>       at 
> org.jclouds.rest.internal.InvokeHttpMethod$InvokeAndTransform.call(InvokeHttpMethod.java:167)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:662)
> Chef Verison is 1.6.0,
> Thanks in advance
> Jayant



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to