eclipse initial setup build failure

375 views
Skip to first unread message

Kenneth Nagin

unread,
Feb 23, 2012, 8:18:21 AM2/23/12
to jclouds-dev
I'm following the setup instructions in http://www.jclouds.org/documentation/devguides/using-eclipse
and
am getting a build failure/

I cloned jclouds from my fork and did the rebase.
cd to the jclouds directory and ran
executed mvn clean install eclipse:configure-workspace eclipse:eclipse
-Dmaven.javadoc.skip=true

This is the error output:

[INFO] jclouds skeletons project ......................... SUCCESS
[1.795s]
[INFO] jclouds Google App Engine Components .............. SUCCESS
[9.996s]
[INFO] jclouds drivers project ........................... SUCCESS
[1.792s]
[INFO] Ant-Contrib extensions ............................ SUCCESS
[8.607s]
[INFO] allcompute ........................................ SUCCESS
[2.248s]
[INFO] allblobstore ...................................... SUCCESS
[2.092s]
[INFO] allloadbalancer ................................... SUCCESS
[1.916s]
[INFO] all ............................................... SUCCESS
[2.326s]
[INFO] jclouds ........................................... FAILURE
[0.107s]
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 10:24.315s
[INFO] Finished at: Thu Feb 23 14:56:53 IST 2012
[INFO] Final Memory: 101M/3789M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-eclipse-
plugin:2.8:configure-workspace (default-cli) on project jclouds-multi:
The parameters 'workspace' for goal org.apache.maven.plugins:maven-
eclipse-plugin:2.8:configure-workspace are missing or invalid -> [Help
1]

-- Kenneth

Adrian Cole

unread,
Feb 23, 2012, 8:25:46 AM2/23/12
to jclou...@googlegroups.com
oops.  you need -Dworkspace=/path/to/workspace in there.  can you try it?


http://maven.apache.org/plugins/maven-eclipse-plugin/configure-workspace-mojo.html

-A

> --
> You received this message because you are subscribed to the Google Groups "jclouds-dev" group.
> To post to this group, send email to jclou...@googlegroups.com.
> To unsubscribe from this group, send email to jclouds-dev...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/jclouds-dev?hl=en.
>

Kenneth Nagin

unread,
Feb 23, 2012, 9:11:35 AM2/23/12
to jclouds-dev
Same error
This was the command line
mvn clean install eclipse:configure-workspace eclipse:eclipse -
Dmaven.javadoc.skip=true -Dworkspace=/home/nagin/jcloudsworkspace

Do you have another suggestion?
Should I run with -X?
What goals should I use to speed up the debug turn around?

This is the error message:


[INFO] Reactor Summary:
[INFO]
[INFO] jclouds Project ................................... SUCCESS
[3.417s]
[INFO] jclouds shared Maven resources .................... SUCCESS
[2.150s]
[INFO] jclouds shared Maven assembly descriptors ......... SUCCESS
[1.948s]
[INFO] jclouds rest client archetype ..................... SUCCESS
[2.736s]
[INFO] jclouds Compute service archetype ................. SUCCESS
[1.701s]
[INFO] jclouds Maven archetypes .......................... SUCCESS
[1.623s]
[INFO] jclouds Components Core ........................... SUCCESS
[57.339s]
[INFO] jclouds Azure Components Core ..................... SUCCESS
[5.868s]
[INFO] jclouds Amazon AWS Components Core ................ SUCCESS
[4.928s]
[INFO] jclouds OpenStack Components Core ................. SUCCESS
[5.535s]
[INFO] jclouds script builder ............................ SUCCESS
[5.140s]
[INFO] jclouds Log4J Logging Module ...................... SUCCESS
[3.528s]
[INFO] jclouds compute core .............................. SUCCESS
[26.922s]
[INFO] jclouds SLF4J Logging Module ...................... SUCCESS
[3.394s]
[INFO] jclouds bouncycastle EncryptionService Module ..... SUCCESS
[7.049s]
[INFO] jclouds sshj ssh client ........................... SUCCESS
[4.665s]
[INFO] common Terremark components ....................... SUCCESS
[9.324s]
[INFO] jclouds commons project ........................... SUCCESS
[1.574s]
[INFO] jclouds loadbalancer core ......................... SUCCESS
[3.262s]
[INFO] jclouds blobstore core ............................ SUCCESS
[23.116s]
[INFO] jcloud filesystem core ............................ SUCCESS
[12.681s]
[INFO] jclouds bring your own node provider .............. SUCCESS
[5.762s]
[INFO] jcloud s3 api ..................................... SUCCESS
[13.678s]
[INFO] jcloud ec2 api .................................... SUCCESS
[13.987s]
[INFO] jclouds deltacloud core ........................... SUCCESS
[6.099s]
[INFO] jclouds Eucalyptus Walrus api ..................... SUCCESS
[3.775s]
[INFO] jclouds Eucalyptus api ............................ SUCCESS
[2.828s]
[INFO] jcloud swift api .................................. SUCCESS
[6.075s]
[INFO] jcloud cloudfiles api ............................. SUCCESS
[5.775s]
[INFO] jcloud cloudservers api ........................... SUCCESS
[7.074s]
[INFO] jclouds cloudloadbalancers api .................... SUCCESS
[5.855s]
[INFO] jcloud vcloud api ................................. SUCCESS
[11.748s]
[INFO] jclouds elasticstack core ......................... SUCCESS
[6.338s]
[INFO] jclouds atmos components .......................... SUCCESS
[7.843s]
[INFO] jcloud nova api ................................... SUCCESS
[6.471s]
[INFO] jcloud cloudwatch api ............................. SUCCESS
[4.838s]
[INFO] jclouds CloudSigma API ............................ SUCCESS
[7.116s]
[INFO] jclouds cloudstack core ........................... SUCCESS
[29.896s]
[INFO] jclouds apis project .............................. SUCCESS
[1.405s]
[INFO] jcloud openstack-nova api ......................... SUCCESS
[6.808s]
[INFO] jcloud virtualbox api ............................. SUCCESS
[11.928s]
[INFO] jcloud vcloud-director api ........................ SUCCESS
[10.981s]
[INFO] jclouds GleSYS core ............................... SUCCESS
[24.035s]
[INFO] jclouds labs project .............................. SUCCESS
[1.498s]
[INFO] jclouds GoGrid provider ........................... SUCCESS
[7.810s]
[INFO] jclouds Slicehost provider ........................ SUCCESS
[5.774s]
[INFO] jclouds CloudSigma provider ....................... SUCCESS
[3.748s]
[INFO] jclouds CloudSigma provider ....................... SUCCESS
[4.687s]
[INFO] jclouds Azure Storage provider .................... SUCCESS
[6.249s]
[INFO] jclouds Apache Http Components Client ............. SUCCESS
[3.003s]
[INFO] jclouds joda DateService Module ................... SUCCESS
[4.293s]
[INFO] jclouds netty payload module ...................... SUCCESS
[2.585s]
[INFO] jclouds enterprise Module ......................... SUCCESS
[2.388s]
[INFO] jclouds Amazon Simple Storage Service (S3) provider SUCCESS
[8.133s]
[INFO] jclouds Amazon Elastic Load Balancer provider ..... SUCCESS
[3.111s]
[INFO] jclouds Amazon EC2 provider ....................... SUCCESS
[12.726s]
[INFO] jclouds Synaptic Storage as a Service provider .... SUCCESS
[5.226s]
[INFO] jclouds ninefold storage provider ................. SUCCESS
[4.783s]
[INFO] jclouds CloudOne Storage as a Service provider .... SUCCESS
[4.900s]
[INFO] jclouds Eucalyptus Partner Cloud provider ......... SUCCESS
[4.530s]
[INFO] jclouds Eucalyptus Partner Cloud EC2 provider ..... SUCCESS
[3.951s]
[INFO] jclouds CloudServers US provider .................. SUCCESS
[3.704s]
[INFO] jclouds CloudServers UK provider .................. SUCCESS
[3.286s]
[INFO] jclouds CloudFiles US provider .................... SUCCESS
[3.472s]
[INFO] jclouds CloudFiles UK provider .................... SUCCESS
[3.169s]
[INFO] jclouds CloudLoadBalancers US provider ............ SUCCESS
[4.483s]
[INFO] jclouds CloudLoadBalancers UK provider ............ SUCCESS
[3.355s]
[INFO] jclouds Bluelock vCloud Zone01 provider ........... SUCCESS
[3.457s]
[INFO] jclouds StratoGen vCloud MyCloud provider ......... SUCCESS
[3.511s]
[INFO] jclouds Terremark Enterprise Cloud provider ....... SUCCESS
[6.951s]
[INFO] jclouds Terremark vCloud Express provider ......... SUCCESS
[5.613s]
[INFO] jclouds ElasticHosts Peer1 London provider ........ SUCCESS
[3.445s]
[INFO] jclouds ElasticHosts Peer1 San Antonio provider ... SUCCESS
[4.606s]
[INFO] jclouds ElasticHosts BlueSquare London provider ... SUCCESS
[3.630s]
[INFO] jclouds ElasticHosts Peer1 Toronto provider ....... SUCCESS
[3.300s]
[INFO] jclouds ElasticHosts Peer1 Los Angeles provider ... SUCCESS
[3.929s]
[INFO] jclouds jsch ssh client ........................... SUCCESS
[3.947s]
[INFO] jclouds RimuHosting provider ...................... SUCCESS
[6.490s]
[INFO] jclouds Open Hosting East1 provider ............... SUCCESS
[3.524s]
[INFO] jclouds Serverlove Manchester provider ............ SUCCESS
[3.281s]
[INFO] jclouds SkaliCloud Malaysia provider .............. SUCCESS
[3.817s]
[INFO] jclouds savvis-vpdc vpdc .......................... SUCCESS
[7.573s]
[INFO] jclouds Green House Data Element vCloud provider .. SUCCESS
[3.469s]
[INFO] jclouds Go2Cloud Johannesburg1 provider ........... SUCCESS
[4.712s]
[INFO] jclouds SoftLayer core ............................ SUCCESS
[9.097s]
[INFO] jclouds Ninefold Compute provider ................. SUCCESS
[3.919s]
[INFO] jclouds HP Cloud Object Storage in Las Vegas (SuperNAP)
SUCCESS [4.155s]
[INFO] jclouds providers project ......................... SUCCESS
[1.504s]
[INFO] jclouds example components for a standalone compute provider
SUCCESS [4.429s]
[INFO] jclouds skeletons project ......................... SUCCESS
[1.547s]
[INFO] jclouds Google App Engine Components .............. SUCCESS
[10.780s]
[INFO] jclouds drivers project ........................... SUCCESS
[1.723s]
[INFO] Ant-Contrib extensions ............................ SUCCESS
[7.230s]
[INFO] allcompute ........................................ SUCCESS
[2.376s]
[INFO] allblobstore ...................................... SUCCESS
[2.066s]
[INFO] allloadbalancer ................................... SUCCESS
[1.917s]
[INFO] all ............................................... SUCCESS
[2.226s]
[INFO] jclouds ........................................... FAILURE
[0.110s]
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 10:32.850s
[INFO] Finished at: Thu Feb 23 15:59:57 IST 2012
[INFO] Final Memory: 96M/3961M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-eclipse-
plugin:2.8:configure-workspace (default-cli) on project jclouds-multi:
The parameters 'workspace' for goal org.apache.maven.plugins:maven-
eclipse-plugin:2.8:configure-workspace are missing or invalid -> [Help
1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with
the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,
please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginParameterException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with
the command
[ERROR] mvn <goals> -rf :jclouds-multi


On Feb 23, 3:25 pm, Adrian Cole <adrian.f.c...@gmail.com> wrote:
> oops.  you need -Dworkspace=/path/to/workspace in there.  can you try it?
>
> http://maven.apache.org/plugins/maven-eclipse-plugin/configure-worksp...
>
> -A
>
>
>
>
>
>
>
> On Thu, Feb 23, 2012 at 3:18 PM, Kenneth Nagin <kna...@gmail.com> wrote:
>
> > I'm following the setup instructions inhttp://www.jclouds.org/documentation/devguides/using-eclipse
> > and
> > am getting a build failure/
>
> > I cloned jclouds from my fork and did the rebase.
> > cd to the jclouds directory and ran
> > executed mvn clean installeclipse:configure-workspaceeclipse:eclipse

Adrian Cole

unread,
Feb 23, 2012, 9:20:40 AM2/23/12
to jclou...@googlegroups.com
If you want speed.. I'd remove the " eclipse:configure-workspace "
thing and just add the M2_REPO classpath variable into eclipse
manually as your /your/home/.m2/repository

I'm not sure why it is being difficult, but it would be some
discrepancy between the maven goal docs and impl.

-A

Kenneth Nagin

unread,
Feb 23, 2012, 10:01:05 AM2/23/12
to jclouds-dev
I already manually added the M2_REPO to the classpath.
I imported jclouds. Most of the the packages look good,
but three packages in antcontib, common/azure fail, namely
org.jclouds.tools.ant.taskdefs.compute
org.jclouds.tools.ant.taskdefs.sshjava
org.jclouds.tools.ant.util
In antcontrib it looks like the problem is related to apache tools,
google common, and jcraft.
eclipse's compiler can not find these classes with prefix
org.apache.tools or
com.google.common
com.jcraft

In common/azure the eclipse compiler can not find classes prefixed
with:
com.google.inject
org.jclouds.azure.storage.domain.AzureStorageError
org.jclouds.azure.storage.handlers

In common/openstack the eclipse compiler can not find class prefixed
with:
com.google.common
com.google.inject

There is more.

Any suggestions?
> > [ERROR] [Help 1]http://cwiki.apache.org/confluence/display/MAVEN/PluginParameterExcep...
> > [ERROR]
> > [ERROR] After correcting the problems, you can resume the build with
> > the command
> > [ERROR]   mvn <goals> -rf :jclouds-multi
>
> > On Feb 23, 3:25 pm, Adrian Cole <adrian.f.c...@gmail.com> wrote:
> >> oops.  you need -Dworkspace=/path/to/workspace in there.  can you try it?...
>
> read more »

Adrian Cole

unread,
Feb 23, 2012, 10:10:15 AM2/23/12
to jclou...@googlegroups.com
whenever I have issues I ...

mvn clean install eclipse:clean eclipse:eclipse
-Dmaven.javadoc.skip=true -DdownloadSources=true
-DdownloadJavadocs=true

from jclouds root. then go to package explorer, select all, refresh,
then do project clean all.

that's the most absolute reset I know of (outside killing everything),
and it hasn't failed...
-A

Andrew Phillips

unread,
Feb 23, 2012, 10:23:18 AM2/23/12
to jclou...@googlegroups.com
> Same error
> This was the command line
> mvn clean install eclipse:configure-workspace eclipse:eclipse -
> Dmaven.javadoc.skip=true -Dworkspace=/home/nagin/jcloudsworkspace
>
> Do you have another suggestion?
> Should I run with -X?

I think it should be "-Declipse.workspace=/home/nagin/jcloudsworkspace" [1].

In any case, you may want to skip the top-level project, by the way,
because it doesn't add anything beyond aggregation. I.e. run the

mvn eclipse:...

goals in apis, providers etc. but not at the top-level...

Hope this helps!

ap

[1]
http://maven.apache.org/plugins/maven-eclipse-plugin/configure-workspace-mojo.html

Kenneth Nagin

unread,
Feb 23, 2012, 11:30:08 AM2/23/12
to jclouds-dev
The maven command succeeded.
But eclipse still shows the same errors.
Frustrating! I'm calling it a day. I will revisit.
I would appreciate any suggestions.
> >> > [INFO] jclouds Google App Engine Components .............. SUCCESS...
>
> read more »

Kenneth Nagin

unread,
Feb 24, 2012, 2:48:47 AM2/24/12
to jclouds-dev
I'm going to try on another eclipse IDE.
Which one are you using?
> > >> > [INFO] jclouds SkaliCloud Malaysia provider .............. SUCCESS...
>
> read more »

Adrian Cole

unread,
Feb 24, 2012, 3:01:38 AM2/24/12
to jclou...@googlegroups.com

First suggestion would be to punch eclipse in the face :)

Maybe hopping on irc and seeing if anyone's available to screen share..

-A

Adrian Cole

unread,
Feb 24, 2012, 3:02:59 AM2/24/12
to jclou...@googlegroups.com

I use 3.7.0

Andrew Phillips

unread,
Feb 24, 2012, 6:30:31 PM2/24/12
to jclou...@googlegroups.com
> I use 3.7.0

For what it's worth, I just removed and re-added all jclouds projects
(master branch, as of commit 39c79f6ffa5138987) to Eclipse with
m2eclipse, and all the projects look OK (except for three unused demos
referring to jclouds components long since removed)

Installation details:

- Eclipse Version: Helios Service Release 1, Build id: 20100917-0705
- m2eclipse 0.12.1

Don't know if you're able to try m2eclipse but it might be worth it if
this gets frustrating enough :-(

Good luck!

ap

Andrew Phillips

unread,
Feb 24, 2012, 7:01:24 PM2/24/12
to jclou...@googlegroups.com

On 23/02/2012 16:01, Kenneth Nagin wrote:
> I already manually added the M2_REPO to the classpath.
> I imported jclouds.

Just out of curiosity: did you import the projects in a particular
order, or simply select the top-level project and get Eclipse to import all?

Could you by any chance see what happens if you import *only* one of the
failing porjects, e.g. antcontrib? Does that give problems even on its own?

If so, does the list of dependencies in the Eclipse project match what
is reported by mvn dependency:list?

Thanks!

ap

Kenneth Nagin

unread,
Feb 27, 2012, 5:49:35 AM2/27/12
to jclouds-dev
Up to this point I just tried importing everything from the root, i.e.
jclouds.
But I just went through the process of mvn clean install ... each sub-
directory separately
and then importing each one. This worked for all the sub-directory
accept demo.
In the of demo I got a mvn build error:
[INFO] Finished at: Sun Feb 26 14:50:02 IST 2012
[INFO] Final Memory: 51M/979M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal on project jclouds-demo-perftest: Could
not resolve dependencies for project org.jclouds:jclouds-demo-
perftest:jar:1.5.0-SNAPSHOT: The following artifacts could not be
resolved: org.jclouds.provider:aws-s3:jar:1.0-SNAPSHOT,
org.jclouds.driver:jclouds-enterprise:jar:1.0-SNAPSHOT,
org.jclouds.driver:jclouds-apachehc:jar:1.0-SNAPSHOT,
org.jclouds.driver:jclouds-gae:jar:1.0-SNAPSHOT, org.jclouds:jclouds-
blobstore:jar:tests:1.0-SNAPSHOT, org.jclouds.api:s3:jar:tests:1.0-
SNAPSHOT, org.jclouds.provider:aws-s3:jar:tests:1.0-SNAPSHOT: Could
not find artifact org.jclouds.provider:aws-s3:jar:1.0-SNAPSHOT in
sonatype-nexus-snapshots (https://oss.sonatype.org/content/
repositories/snapshots) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with
the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,
please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with
the command
[ERROR] mvn <goals> -rf :jclouds-demo-perftest


I'm assuming I will not have use the demo package to get started.
I suspect I will have more questions as I get to know the development
environment.
I plan to start with using mvn archetype:generate rest-client-
archetype as you suggest
in http://www.jclouds.org/documentation/devguides/contributing-to-jclouds.

-K

Adrian Cole

unread,
Feb 27, 2012, 5:57:32 AM2/27/12
to jclou...@googlegroups.com
great! demo is something we've been meaning to migrate out to
jclouds-examples, so no worries on that.

-a

Andrew Phillips

unread,
Feb 27, 2012, 6:35:52 AM2/27/12
to jclou...@googlegroups.com
Quoting Kenneth Nagin <kna...@gmail.com>:

> Up to this point I just tried importing everything from the root, i.e.
> jclouds.
> But I just went through the process of mvn clean install ... each sub-
> directory separately
> and then importing each one. This worked for all the sub-directory
> accept demo.

That is unfortunately to be expected: some of the demos are seriously
out of date and are pointing to no longer existent drivers and
projects. TweetStore should be OK, though.

Glad to hear you've got this far!

Also, you may want to try the skeletons [1] rather than the archetypes
as the latter have none seen a lot of love recently ;-)

Good luck, and please keep track of the kind of things you're running
into, as well as suggestions. Any improvements we can make to the
"getting started" documentation will be much appreciated!

ap

[1] https://github.com/jclouds/jclouds/tree/master/skeletons

Kenneth Nagin

unread,
Feb 27, 2012, 11:21:26 AM2/27/12
to jclouds-dev
Some feed back.
I ran mvn archetype:generate with org.jclouds:jclouds-rest-client-
archetype.

However, mvn clean install eclipse:clean eclipse:eclipse -
Dmaven.javadoc.skip=true -Dmaven.test.skip=true
fails with
[INFO] Scanning for projects...
Downloading: https://oss.sonatype.org/content/repositories/snapshots/org/jclouds/jclouds-project/1.0-SNAPSHOT/maven-metadata.xml
Downloading:
https://oss.sonatype.org/content/repositories/snapshots/org/jclouds/jclouds-project/1.0-SNAPSHOT/jclouds-project-1.0-SNAPSHOT.pom
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project org.jclouds:jclouds-cdmi:1.0-SNAPSHOT (/home/
nagin/jcloudsworkspace/jclouds/cdmi/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Could not find artifact
org.jclouds:jclouds-project:pom:1.0-SNAPSHOT in sonatype-nexus-
snapshots (https://oss.sonatype.org/content/repositories/snapshots)
and 'parent.relativePath' points at wrong local POM @ line 24, column
13 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with
the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,
please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

The fix for this is to replace <version>1.0-SNAPSHOT</version> with
<version>1.5.0-SNAPSHOT</version>.

Maven completes properly but the two testcases have a compile error
when creating a context to work with.
The error is:
The method contextSpec(String, String, String, String,
String, String, String, Class<S>, Class<A>) in the type
RestContextFactory is not applicable for the arguments
(String, String, String, String, String, Class<CdmiClient>,
Class<CdmiAsyncClient>)

The fix is:
In CdmiClientLiveTest method public void setupClient()
replace context = createContext(contextSpec(provider, endpoint,
apiVersion, identity, credential,
CdmiClient.class, CdmiAsyncClient.class),
ImmutableSet.<Module> of(new Log4JLoggingModule()));

with context = createContext(contextSpec(provider, endpoint,
apiVersion, "", "",identity, credential,
CdmiClient.class, CdmiAsyncClient.class),
ImmutableSet.<Module> of(new Log4JLoggingModule()));

In CdmiAsyncClientTest

replace import org.jclouds.rest.RestContextFactory.ContextSpec;
with import static org.jclouds.rest.RestContextFactory.contextSpec;

replace method createContextSpec
public ContextSpec<CdmiClient, CdmiAsyncClient>
createContextSpec() {
return contextSpec("cdmi", "http://cdmi.com/api", "1.0,
2012-02-26", "identity", "credential", CdmiClient.class,
CdmiAsyncClient.class);
}
with
public RestContextSpec<CdmiClient, CdmiAsyncClient>
createContextSpec() {
return contextSpec("test", "http://localhost:8080", "1.0", "",
"", "identity", "credential",
CdmiClient.class, CdmiAsyncClient.class);
}


I hope you can use this feedback.


Now is the hard part. I have to put something behind this code.



--K
> > [ERROR] [Help 1]http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolution...
> > [ERROR]
> > [ERROR] After correcting the problems, you can resume the build with
> > the command
> > [ERROR]   mvn <goals> -rf :jclouds-demo-perftest
>
> > I'm assuming I will not have use the demo package to get started.
> > I suspect I will have more questions as I get to know the development
> > environment.
> > I plan to start with using mvn archetype:generate rest-client-
> > archetype as you suggest
> > inhttp://www.jclouds.org/documentation/devguides/contributing-to-jclouds.

Andrew Phillips

unread,
Feb 27, 2012, 1:01:57 PM2/27/12
to jclou...@googlegroups.com
> Some feed back.
> I ran mvn archetype:generate with org.jclouds:jclouds-rest-client-
> archetype.

Thanks. This is an example of what I was referring to by "archetypes
haven't seen a lot of love recently" ;-)

Further testing and feedback certainly welcome, but if you just want
to have something up and running quickly I'd recommend you start from
a skeleton. See [1] for some history of those...

ap

[1] http://code.google.com/p/jclouds/issues/detail?id=385

Adrian Cole

unread,
Mar 3, 2012, 11:12:05 AM3/3/12
to jclou...@googlegroups.com
yeah. it needs love.

Here's the best commit to base your work on:
https://github.com/jclouds/jclouds/commit/39c79f6ffa5138987048693b02970074c9392c2c

-A

Kenneth Nagin

unread,
Mar 7, 2012, 7:27:59 AM3/7/12
to jclouds-dev
The skeleton is for developing a compute provider skeleton.
I will be starting with a storage provider. My guess is
that Open Stack would be a good base to work from.
Any other suggestions?

--K

Adrian Cole

unread,
Mar 7, 2012, 10:34:22 AM3/7/12
to jclou...@googlegroups.com

Hi, kenneth.  I would copy the opsource from labs and rename etc.  First step is to code test the rest api, we can then look for a similar blobstore to steal abstraction classes from.

-A

Kenneth Nagin

unread,
Apr 3, 2012, 7:45:28 AM4/3/12
to jclouds-dev
I cloned the Jclouds and then created a separate project from the
opsource-server under lab.
mvn test works fine on the code. However, under eclipse running as
testNG I get exceptions and skip.
What am I missing?

[TestNG] Running:
C:\Users\nagin\AppData\Local\Temp\testng-eclipse-76371667\testng-
customsuite.xml

FAILED CONFIGURATION: @BeforeClass setupCredentials
java.lang.NullPointerException: test.opsource-servers.identity
at
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:
204)
at
org.jclouds.rest.BaseRestClientLiveTest.setupCredentials(BaseRestClientLiveTest.java:
75)
at
org.jclouds.compute.BaseVersionedServiceLiveTest.setupCredentials(BaseVersionedServiceLiveTest.java:
57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
60)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
37)
at java.lang.reflect.Method.invoke(Method.java:611)
at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:
80)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:
551)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
at
org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:
175)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:
107)
at org.testng.TestRunner.privateRun(TestRunner.java:768)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:87)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)
at org.testng.TestNG.run(TestNG.java:1022)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:109)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:202)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:173)

SKIPPED CONFIGURATION: @BeforeClass setupContext
SKIPPED CONFIGURATION: @BeforeClass setupCredentials
SKIPPED CONFIGURATION: @BeforeClass setupContext
PASSED: test401MakesAuthorizationException
PASSED: test404MakesResourceNotFoundException
FAILED: testGetMyAccount
java.lang.IllegalArgumentException: The specified provider "opsource-
servers" is either not configured or supported. Currently configured
providers are:
[stub]
Check this list, as the provider name may have changed. If you are
sure that provider name is correct, check that your project has a
dependency on org.jclouds.provider/opsource-servers, or on org.jclouds/
jclouds-all.
at
org.jclouds.rest.RestContextFactory.createContextSpec(RestContextFactory.java:
312)
at
org.jclouds.rest.RestContextFactory.createContextSpec(RestContextFactory.java:
278)
at
org.jclouds.rest.BaseRestClientExpectTest.makeContextSpec(BaseRestClientExpectTest.java:
427)
at
org.jclouds.rest.BaseRestClientExpectTest.createClient(BaseRestClientExpectTest.java:
412)
at
org.jclouds.rest.BaseRestClientExpectTest.createClient(BaseRestClientExpectTest.java:
402)
at
org.jclouds.rest.BaseRestClientExpectTest.requestsSendResponses(BaseRestClientExpectTest.java:
346)
at
org.jclouds.rest.BaseRestClientExpectTest.requestSendsResponse(BaseRestClientExpectTest.java:
244)
at
org.jclouds.rest.BaseRestClientExpectTest.requestSendsResponse(BaseRestClientExpectTest.java:
240)
at
org.jclouds.opsource.servers.features.AccountClientExpectTest.testGetMyAccount(AccountClientExpectTest.java:
44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
60)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
37)
at java.lang.reflect.Method.invoke(Method.java:611)
at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:
80)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:702)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:894)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1219)
at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:
127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:
111)
at org.testng.TestRunner.privateRun(TestRunner.java:768)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:87)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)
at org.testng.TestNG.run(TestNG.java:1022)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:109)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:202)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:173)
Caused by: java.lang.IllegalArgumentException: please configure
contextbuilder class for opsource-servers
at
com.google.common.base.Preconditions.checkArgument(Preconditions.java:
88)
at
org.jclouds.rest.Providers.resolveContextBuilderClass(Providers.java:
124)
at
org.jclouds.rest.RestContextFactory.createContextSpec(RestContextFactory.java:
307)
... 32 more

SKIPPED: testImplicitSession
SKIPPED: testGetMyAccount

===============================================
Default test
Tests run: 5, Failures: 1, Skips: 2
Configuration Failures: 1, Skips: 3
===============================================

Vijay Kiran

unread,
Apr 3, 2012, 7:49:55 AM4/3/12
to jclou...@googlegroups.com

I'm not too familiar with Eclipse, but there must be a way to specify the arguments to the test - looks lik the test is choking on "test.opsource-servers.identity" not being set properly.

./Vijay

Adrian Cole

unread,
Apr 3, 2012, 10:07:01 AM4/3/12
to jclou...@googlegroups.com

Hi, Kenneth.

Tests ending in LiveTest connect to the service.  Either skip these, or add system properties for their credentials.

-A

Kenneth Nagin

unread,
Apr 3, 2012, 11:49:18 AM4/3/12
to jclouds-dev
Can you explain why "mvn test" succeed?

Do I change the system properties, by changing the properties
(endpoint, identity, credentials) in the pom.xml?
, i.e.:
<properties>
<test.opsource-servers.endpoint>https://api.opsourcecloud.net/oec/$
{jclouds.api-version}</test.opsource-servers.endpoint>
<test.opsource-servers.api-version>0.9</test.opsource-servers.api-
version>
<test.opsource-servers.build-version></test.opsource-servers.build-
version>
<test.opsource-servers.identity>FIXME_USERNAME</test.opsource-
servers.identity>
<test.opsource-servers.credential>FIXME_PASSWORD</test.opsource-
servers.credential>
<test.opsource-servers.image-id></test.opsource-servers.image-id>
<test.opsource-servers.image.login-user></test.opsource-
servers.image.login-user>
<test.opsource-servers.image.authenticate-sudo></test.opsource-
servers.image.authenticate-sudo>
</properties>

Adrian Cole

unread,
Apr 3, 2012, 12:08:56 PM4/3/12
to jclou...@googlegroups.com
in maven, we setup a "live" profile, which shouldn't be enabled by
default in your settings.xml. The standard maven parameters we use
filter out tests that end in *LiveTest

http://www.jclouds.org/documentation/userguide/using-maven

Kenneth Nagin

unread,
Apr 4, 2012, 11:26:25 AM4/4/12
to jclouds-dev
Lets go back to original suggestion, i.e. "copy the opsource from labs
and rename etc."
I git clone jclouds and copied the opsource-servers to a new directory
rename the classes and changed the provider references to my new
provider, cdmi.

Of course, jclouds does not recognize the new provider. This is the
exception.

FAILED CONFIGURATION: @BeforeClass setupContext
java.lang.IllegalArgumentException: The specified provider "cdmi" is
either not configured or supported. Currently configured providers
are:
[stub, transient]

So my first question where do I add cdmi to be a supported providers?

The fact that I'm getting only {stub, transient} as a configured
provider leads me to believe that I'm not configured properly.
But maybe that is intended for lab projects.

To make some progress I replaced test references to provider from cdmi
to transient and made similar changes to the test system property
labels, identity, credential, endpoint and api version.

FAILED CONFIGURATION: @BeforeClass setupContext
com.google.inject.ConfigurationException: Guice configuration errors:

1) com.google.inject.TypeLiteral<S> cannot be used as a key; It is not
fully specified.
at
org.jclouds.rest.internal.RestContextImpl.<init>(RestContextImpl.java:
71)
while locating
org.jclouds.rest.RestContext<org.jclouds.blobstore.BlobStore,
org.jclouds.blobstore.AsyncBlobStore>

2) com.google.inject.TypeLiteral<A> cannot be used as a key; It is not
fully specified.
at
org.jclouds.rest.internal.RestContextImpl.<init>(RestContextImpl.java:
71)
while locating
org.jclouds.rest.RestContext<org.jclouds.blobstore.BlobStore,
org.jclouds.blobstore.AsyncBlobStore>

2 errors
at
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:
1004)
at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:
1009)
at
org.jclouds.rest.RestContextBuilder.buildContext(RestContextBuilder.java:
259)
at
org.jclouds.rest.RestContextFactory.buildContextUnwrappingExceptions(RestContextFactory.java:
400)
at
org.jclouds.rest.RestContextFactory.createContext(RestContextFactory.java:
447)
at
org.jclouds.cdmi.servers.internal.BaseOpSourceServersClientLiveTest.setupContext(BaseOpSourceServersClientLiveTest.java:
58)
PASSED: test401MakesAuthorizationException
PASSED: test404MakesResourceNotFoundException
FAILED: testGetMyAccount
com.google.inject.ConfigurationException: Guice configuration errors:
<exception details are same as above FAILED CONFIGURATION:
@BeforeClass setupContext>
...
SKIPPED: testImplicitSession
SKIPPED: testGetMyAccount


I'm not sure whether I'm heading in the right direction.
Any suggestions?
> > > > > > ap...
>
> read more »

Adrian Cole

unread,
Apr 4, 2012, 12:07:05 PM4/4/12
to jclou...@googlegroups.com
Hi, Kenneth.

To answer your question, you currently need to change
core/src/main/resources/rest.properties

This is a legacy thing we're almost rid of, and hopefully will be done
with this week. Once the legacy is gone, I'll update the maven
archetype so we can just bang out new apis or providers.

I've added here a sketch of where this is going:
http://code.google.com/p/jclouds/issues/detail?id=897

-A

Kenneth Nagin

unread,
Apr 5, 2012, 7:41:13 AM4/5/12
to jclouds-dev
I decided to return to your original suggestion, i.e. to start with
"opsource from labs and rename etc.".
I did this and created my own provider, "cdmi". However, as would be
expected jclouds does not recognize this new provider.
This is the error message:
FAILED CONFIGURATION: @BeforeClass setupContext
java.lang.IllegalArgumentException: The specified provider "cdmi" is
either not configured or supported. Currently configured providers
are:
[stub, transient]

How do add this new provider to the jclouds configuration?

Also the fact that only {stub, transient} are list available providers
makes me think that I am missing something.

--K

On Apr 3, 6:49 pm, Kenneth Nagin <kna...@gmail.com> wrote:
> > > > > > ap...
>
> read more »

Kenneth Nagin

unread,
Apr 5, 2012, 8:00:15 AM4/5/12
to jclouds-dev
Ignore this last post. I did not see your response
to my previous post.

On Apr 5, 2:41 pm, Kenneth Nagin <kna...@gmail.com> wrote:
> I decided to return to your original suggestion, i.e. to start with
> "opsource from labs and rename etc.".
> I did this and created my own provider, "cdmi".   However, as would be
> expected jclouds does not recognize this new provider.
> This is the error message:
> FAILED CONFIGURATION: @BeforeClass setupContext
> java.lang.IllegalArgumentException: The specified provider "cdmi" is
> either not configured or supported. Currently configured providers
> are:
>   [stub, transient]
>
> How do add this new provider to the jclouds configuration?
>
> Also the fact that only {stub, transient} are list available providers
> makes me think that I am missing something.
>
> --K
>
> > > > > Hi, kenneth.  I would copy the opsource from labs and rename etc....
>
> read more »

Kenneth Nagin

unread,
Apr 18, 2012, 8:32:04 AM4/18/12
to jclouds-dev
I was on vacation, but back to trying to add a new jclouds provider.
Were you able to complete your update to support new providers and new
apis?
Should I use the archetype as you suggested?

On Apr 4, 7:07 pm, Adrian Cole <adrian.f.c...@gmail.com> wrote:
> Hi, Kenneth.
>
> To answer your question, you currently need to change
> core/src/main/resources/rest.properties
>
> This is a legacy thing we're almost rid of, and hopefully will be done
> with this week.  Once the legacy is gone, I'll update the maven
> archetype so we can just bang out new apis or providers.
>
> I've added here a sketch of where this is going:http://code.google.com/p/jclouds/issues/detail?id=897
>
> -A
>
>
>
>
>
>
>
> On Wed, Apr 4, 2012 at 8:26 AM, Kenneth Nagin <kna...@gmail.com> wrote:
> > Lets go back to original suggestion, i.e. "copy the opsource from labs
> > and rename etc."
> > I git clone jclouds and copied the opsource-servers to a new directory
> > rename the classes and changed the provider references to my new
> > provider, cdmi.
>
> > Of course, jclouds does not recognize the new provider. This is the
> > exception.
>
> > FAILED CONFIGURATION: @BeforeClass setupContext
> > java.lang.IllegalArgumentException: The specified provider "cdmi" is
> > either not configured or supported. Currently configured providers
> > are:
> >  [stub,transient]
>
> > So my first question where do I add cdmi to be a  supported providers?
>
> > The fact that I'm getting only {stub,transient} as a configured
> > provider leads me to believe that I'm not configured properly.
> > But maybe that is intended for lab projects.
>
> > To make some progress I replaced test references to provider from cdmi
> > totransientand made similar changes to the test system property
> >> > > PASSED: test404MakesResourceNotFoundException...
>
> read more »

Kenneth Nagin

unread,
Apr 19, 2012, 10:31:02 AM4/19/12
to jclouds-dev
Maybe I was not clear. You said:
"This is a legacy thing we're almost rid of, and hopefully will be
done
with this week. Once the legacy is gone, I'll update the maven
archetype so we can just bang out new apis or providers."
Were you able to complete your update?
Can I use the maven archetype to create a new provider?
If the answer is yes should I use maven or git to get the new code?
Which archetype should I use?

-K

On Apr 18, 3:32 pm, Kenneth Nagin <kna...@gmail.com> wrote:
> I was on vacation, but back to trying to add a new jclouds provider.
> Were you able to complete your update to support new providers and new
> apis?
> Should I use thearchetypeas you suggested?
>
> On Apr 4, 7:07 pm, Adrian Cole <adrian.f.c...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Hi, Kenneth.
>
> > To answer your question, you currently need to change
> > core/src/main/resources/rest.properties
>
> > This is a legacy thing we're almost rid of, and hopefully will be done
> > with this week.  Once the legacy is gone, I'll update the maven
> >archetypeso we can just bang out new apis or providers.
> > >> > >        at...
>
> read more »

Adrian Cole

unread,
Apr 19, 2012, 10:41:11 AM4/19/12
to jclou...@googlegroups.com

Hi, Kenneth.

We are fundamentally through these changes, but I havent sunk the half day into rewriting the archaetype, and unlikely to while there are still changes.

That said, I was planning to carve out a skeleton for swift anyway.  I could make one for cdmi.  what api version are you working on and is it possible to list regions via api?

-A

Adrian Cole

unread,
Apr 21, 2012, 1:18:24 PM4/21/12
to jclou...@googlegroups.com

Hi, Kenneth.

I spoke with Mark and David at the OpenStack thing.  They seem to think it is better starting with v1.0.1 (or 1.0.2).  Also, the test endpoint should be up by monday.  When this is up, shoot me the url and any test code you've made, and I will carve you a spot in labs.

-A

Kenneth Nagin

unread,
Apr 23, 2012, 8:22:23 AM4/23/12
to jclouds-dev
The CDMI implementation I'm working with is X-CDMI-Specification-
Version "1.0".

Is the test endpoint that you are talking about an OpenStack
implementation with CDMI?
If so that would be great; I thought that OpenStack folks were just
planning to support CDMI, but had not actually implemented it.

Right now I'm working with our own CDMI Server, that is not publicly
available.
Its authentication is based on setting Rest header properties,
Authorization and TID:

private void addAuthenticationHeader(HttpURLConnection connection){
connection.addRequestProperty("Authorization","Basic
"+mAuthorization);
connection.addRequestProperty("TID", mTenantId);
}


I'll send you a tar of the CDMI Client that I implemented in separate
email.

-Kenneth

On Apr 21, 8:18 pm, Adrian Cole <adrian.f.c...@gmail.com> wrote:
> Hi, Kenneth.
>
> I spoke with Mark and David at the OpenStack thing.  They seem to think it
> is better starting with v1.0.1 (or 1.0.2).  Also, the test endpoint should
> be up by monday.  When this is up, shoot me the url and any test code
> you've made, and I will carve you a spot in labs.
>
> -A
> ...
>
> read more »

Adrian Cole

unread,
Apr 24, 2012, 8:40:27 PM4/24/12
to jclou...@googlegroups.com
ok. I started with version 1.0.1 here:

http://code.google.com/p/jclouds/issues/detail?id=188

Over to you! :D
-A
Reply all
Reply to author
Forward
0 new messages