Skip to content

Instantly share code, notes, and snippets.

@Yinying
Created November 16, 2012 21:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Yinying/4091218 to your computer and use it in GitHub Desktop.
Save Yinying/4091218 to your computer and use it in GitHub Desktop.
Mac OS X 10.7.4, Java 1.6.0_33, javac 1.6.0_33, jclouds 1.5.1, follow the instructions in "jclouds and OpenStack" post, http://blog.phymata.com/2012/10/03/contributing-openstack-support-to-jclouds/
➜ java -cp ".:lib/*" JCloudsOpenStack
- >> "{"auth":{"passwordCredentials":{"username":"demo","password":"devstack"},"tenantName":"demo"}}"
- >> POST http://67.23.43.219:5000/v2.0/tokens HTTP/1.1
- >> Accept: application/json
- >> Content-Type: application/json
- >> Content-Length: 94
- << HTTP/1.1 200 OK
- << Vary: X-Auth-Token
- << Date: Fri, 16 Nov 2012 21:36:06 GMT
- << Connection: keep-alive
- << Content-Type: application/json
- << Content-Length: 6823
- << "{"access": {"token": {"issued_at": "2012-11-16T21:36:06.436379", "expires": "2012-11-17T21:36:06Z", "id": "MIIL9AYJKoZIhvcNAQcCoIIL5TCCC+ECAQExCTAHBgUrDgMCGjCCCs0GCSqGSIb3DQEHAaCCCr4Eggq6eyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxMi0xMS0xNlQyMTozNjowNi40MzYzNzkiLCAiZXhwaXJlcyI6ICIyMDEyLTExLTE3VDIxOjM2OjA2WiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImVuYWJsZWQiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiBudWxsLCAibmFtZSI6ICJkZW1vIiwgImlkIjogImYwZjE5YmI4NDBmNzQ4NTM5ZGM0MDZhZDc5NTYyZWYxIn19LCAic2VydmljZUNhdGFsb2ciOiBbeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vNjcuMjMuNDMuMjE5Ojg3NzQvdjIvZjBmMTliYjg0MGY3NDg1MzlkYzQwNmFkNzk1NjJlZjEiLCAicmVnaW9uIjogIlJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vNjcuMjMuNDMuMjE5Ojg3NzQvdjIvZjBmMTliYjg0MGY3NDg1MzlkYzQwNmFkNzk1NjJlZjEiLCAiaWQiOiAiMzljNDJjMWRiOWYzNGJiMDgyODE1YTA0NzQyYWZlYTciLCAicHVibGljVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODc3NC92Mi9mMGYxOWJiODQwZjc0ODUzOWRjNDA2YWQ3OTU2MmVmMSJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJjb21wdXRlIiwgIm5hbWUiOiAibm92YSJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODA4MCIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODA4MCIsICJpZCI6ICJmNTU0MGRlNWRhMDg0N2Q4OWI4NDE2Y2M5ZGNiZGIzYiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzY3LjIzLjQzLjIxOTo4MDgwIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogInMzIiwgIm5hbWUiOiAiczMifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vNjcuMjMuNDMuMjE5OjkyOTIiLCAicmVnaW9uIjogIlJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vNjcuMjMuNDMuMjE5OjkyOTIiLCAiaWQiOiAiMjJkMGQwODJjZTNjNGEwODk3MmFmMDEzOGU1OTk4MWYiLCAicHVibGljVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6OTI5MiJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJpbWFnZSIsICJuYW1lIjogImdsYW5jZSJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODc3Ni92MS9mMGYxOWJiODQwZjc0ODUzOWRjNDA2YWQ3OTU2MmVmMSIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODc3Ni92MS9mMGYxOWJiODQwZjc0ODUzOWRjNDA2YWQ3OTU2MmVmMSIsICJpZCI6ICI2OThjYjVkOTEzNTc0ODMxOTFhMDI0Y2M3NTZjNWY1YSIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzY3LjIzLjQzLjIxOTo4Nzc2L3YxL2YwZjE5YmI4NDBmNzQ4NTM5ZGM0MDZhZDc5NTYyZWYxIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogInZvbHVtZSIsICJuYW1lIjogImNpbmRlciJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODc3My9zZXJ2aWNlcy9BZG1pbiIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODc3My9zZXJ2aWNlcy9DbG91ZCIsICJpZCI6ICI3YzI2N2M3Njk5MDY0NGM0YjYwM2U0MTVjZTAyNjkyNCIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzY3LjIzLjQzLjIxOTo4NzczL3NlcnZpY2VzL0Nsb3VkIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImVjMiIsICJuYW1lIjogImVjMiJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODA4MCIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6ODA4MC92MS9BVVRIX2YwZjE5YmI4NDBmNzQ4NTM5ZGM0MDZhZDc5NTYyZWYxIiwgImlkIjogIjY3YzhjNmYzOWJmZjQ0ODNiYjM1YzZjNWRhMjgzMmY2IiwgInB1YmxpY1VSTCI6ICJodHRwOi8vNjcuMjMuNDMuMjE5OjgwODAvdjEvQVVUSF9mMGYxOWJiODQwZjc0ODUzOWRjNDA2YWQ3OTU2MmVmMSJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJvYmplY3Qtc3RvcmUiLCAibmFtZSI6ICJzd2lmdCJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6MzUzNTcvdjIuMCIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly82Ny4yMy40My4yMTk6NTAwMC92Mi4wIiwgImlkIjogIjNiNWNiZjkzNmFjYzRlMDQ4NWUzMjkwOTlkNjNmNzhkIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vNjcuMjMuNDMuMjE5OjUwMDAvdjIuMCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJpZGVudGl0eSIsICJuYW1lIjogImtleXN0b25lIn1dLCAidXNlciI6IHsidXNlcm5hbWUiOiAiZGVtbyIsICJyb2xlc19saW5rcyI6IFtdLCAiaWQiOiAiYmZhOTg4MzI1MGZhNDQ5OTg1Mzg2NjI4NDc0ZTUyZDYiLCAicm9sZXMiOiBbeyJuYW1lIjogIk1lbWJlciJ9LCB7Im5hbWUiOiAiYW5vdGhlcnJvbGUifV0sICJuYW1lIjogImRlbW8ifSwgIm1ldGFkYXRhIjogeyJpc19hZG1pbiI6IDAsICJyb2xlcyI6IFsiYjcxNDgwMGRhNTU3NGYxMTlmNzQxZTZhMzgwNTRhNDkiLCAiN2NiN2I5ZmNlNDkxNDg2Mjk5ZjVjODNmZmYyYTM4ZDMiXX19fTGB-zCB-AIBATBcMFcxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIEwVVbnNldDEOMAwGA1UEBxMFVW5zZXQxDjAMBgNVBAoTBVVuc2V0MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20CAQEwBwYFKw4DAhowDQYJKoZIhvcNAQEBBQAEgYBOwUdjw6QFH8E0zWJPVvqv1QEaKJczbVB1+BLxuImqjc0M5aWb6ybBgjntMb2bbqoNUuAKGUSrLU8ebWpn1Ddx6qMaXDpWG-UhZBT0HhpiynLT2xIMWbVcTZByTPuYhRugJN6NeS3wMmbObqiIbNGnhzmVCdvAkbonZU-hgHmCkA==", "tenant": {"enabled": true, "description": null, "name": "demo", "id": "f0f19bb840f748539dc406ad79562ef1"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://67.23.43.219:8774/v2/f0f19bb840f748539dc406ad79562ef1", "region": "RegionOne", "internalURL": "http://67.23.43.219:8774/v2/f0f19bb840f748539dc406ad79562ef1", "id": "39c42c1db9f34bb082815a04742afea7", "publicURL": "http://67.23.43.219:8774/v2/f0f19bb840f748539dc406ad79562ef1"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": "http://67.23.43.219:8080", "region": "RegionOne", "internalURL": "http://67.23.43.219:8080", "id": "f5540de5da0847d89b8416cc9dcbdb3b", "publicURL": "http://67.23.43.219:8080"}], "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": "http://67.23.43.219:9292", "region": "RegionOne", "internalURL": "http://67.23.43.219:9292", "id": "22d0d082ce3c4a08972af0138e59981f", "publicURL": "http://67.23.43.219:9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://67.23.43.219:8776/v1/f0f19bb840f748539dc406ad79562ef1", "region": "RegionOne", "internalURL": "http://67.23.43.219:8776/v1/f0f19bb840f748539dc406ad79562ef1", "id": "698cb5d91357483191a024cc756c5f5a", "publicURL": "http://67.23.43.219:8776/v1/f0f19bb840f748539dc406ad79562ef1"}], "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": [{"adminURL": "http://67.23.43.219:8773/services/Admin", "region": "RegionOne", "internalURL": "http://67.23.43.219:8773/services/Cloud", "id": "7c267c76990644c4b603e415ce026924", "publicURL": "http://67.23.43.219:8773/services/Cloud"}], "endpoints_links": [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://67.23.43.219:8080", "region": "RegionOne", "internalURL": "http://67.23.43.219:8080/v1/AUTH_f0f19bb840f748539dc406ad79562ef1", "id": "67c8c6f39bff4483bb35c6c5da2832f6", "publicURL": "http://67.23.43.219:8080/v1/AUTH_f0f19bb840f748539dc406ad79562ef1"}], "endpoints_links": [], "type": "object-store", "name": "swift"}, {"endpoints": [{"adminURL": "http://67.23.43.219:35357/v2.0", "region": "RegionOne", "internalURL": "http://67.23.43.219:5000/v2.0", "id": "3b5cbf936acc4e0485e329099d63f78d", "publicURL": "http://67.23.43.219:5000/v2.0"}], "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": "demo", "roles_links": [], "id": "bfa9883250fa449985386628474e52d6", "roles": [{"name": "Member"}, {"name": "anotherrole"}], "name": "demo"}, "metadata": {"is_admin": 0, "roles": ["b714800da5574f119f741e6a38054a49", "7cb7b9fce491486299f5c83fff2a38d3"]}}}"
java.lang.reflect.UndeclaredThrowableException
at $Proxy62.getConfiguredZones(Unknown Source)
at JCloudsOpenStack.init(JCloudsOpenStack.java:54)
at JCloudsOpenStack.main(JCloudsOpenStack.java:26)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:161)
... 3 more
Caused by: com.google.inject.ConfigurationException: Guice configuration errors:
1) No implementation for java.util.Set<java.lang.String> was bound.
while locating java.util.Set<java.lang.String>
1 error
at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1004)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1009)
at org.jclouds.rest.internal.AsyncRestClientProxy.getInstanceOfType(AsyncRestClientProxy.java:203)
at org.jclouds.rest.internal.AsyncRestClientProxy.lookupValueFromGuice(AsyncRestClientProxy.java:180)
at org.jclouds.rest.internal.AsyncRestClientProxy.invoke(AsyncRestClientProxy.java:144)
at $Proxy61.getConfiguredZones(Unknown Source)
... 8 more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment