[Openstack] Developing with Scala/Java on OpenStack Swift

Gui Maluf guimalufb at gmail.com
Fri Jan 11 12:08:07 UTC 2013


Hey Luis, nice you've copy the list cause it'll help many other with the
same doubt.

I've added the dependencies you've mentioned but I keep getting the same
error: java.lang.NoClassDefFoundError: Could not initialize class
org.openstack.OpenStack

This is how my build.sbt looks like:

===

name := "SBT CloudDrive"

version := "0.7"

organization := "vrijheid.net"

scalaVersion := "2.9.1"

libraryDependencies += "org.jclouds.driver" % "jclouds-enterprise" % "1.5.4"

libraryDependencies += "org.jclouds.labs" % "openstack-swift" % "1.5.4"

libraryDependencies += "javax.ws.rs" % "javax.ws.rs-api" % "2.0-m15"

libraryDependencies += "org.codehaus.jackson" % "jackson-jaxrs" % "1.9.11"

libraryDependencies += "org.codehaus.jackson" % "jackson-xc" % "1.9.11"

libraryDependencies += "org.glassfish.jersey" % "project" % "2.0-m11"

libraryDependencies += "org.glassfish.jersey.core" % "jersey-client" %
"2.0-m11"

libraryDependencies += "org.glassfish.jersey.media" %
"jersey-media-json-jackson" % "2.0-m11"

libraryDependencies += "com.google" % "google" % "5"

===

Thanks for all your help! I hope I can get this working!

On Thu, Jan 10, 2013 at 4:17 PM, Luis Gervaso <luis at woorea.es> wrote:

> I copy this to the list because somebody can have similar issues
>
> -----
>
> Actually I think the issue is sbt ... (It seems that is not resolving
> transitive dependencies)
>
> First:  Look and check if you added
>
> https://maven.java.net/content/repositories/snapshots
> https://raw.github.com/woorea/maven/master/snapshots
> as maven repositories
>
>
> A dirty way (but can help you):
>
>
>
>
>
> 		<dependency>
> 			<groupId>org.glassfish.jersey.core</groupId>
> 			<artifactId>jersey-client</artifactId>
>
>
>
> 			<version>2.0-SNAPSHOT</version>
> 		</dependency>
>
> 		<dependency>
> 			<groupId>org.glassfish.jersey.media</groupId>
> 			<artifactId>jersey-media-json-jackson</artifactId>
>
>
>
> 			<version>2.0-SNAPSHOT</version>
> 		</dependency>
>
> 		<dependency>
> 			<groupId>org.codehaus.jackson</groupId>
> 			<artifactId>jackson-jaxrs</artifactId>
>
>
>
> 			<version>1.9.8</version>
> 		</dependency>
>
> 		<dependency>
> 			<groupId>org.codehaus.jackson</groupId>
> 			<artifactId>jackson-xc</artifactId>
> 			<version>1.9.8</version>
> 		</dependency>
>
>
>
>
>
> On Thu, Jan 10, 2013 at 6:55 PM, Gui Maluf <guimalufb at gmail.com> wrote:
>
>> I could find the pathway, but if I try
>>
>> scala> var openstack = new OpenStack
>>
>> I get this
>>
>> java.lang.RuntimeException: java.lang.ClassNotFoundException:
>> org.glassfish.jersey.client.JerseyClientFactory
>>         at org.openstack.OpenStack.initialize(OpenStack.java:96)
>>         at org.openstack.OpenStack.<clinit>(OpenStack.java:33)
>>         at .<init>(<console>:23)
>>
>>         at .<clinit>(<console>)
>>         at .<init>(<console>:11)
>>         at .<clinit>(<console>)
>>         at $print(<console>)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>         at
>> scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:704)
>>         at
>> scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:914)
>>         at
>> scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:546)
>>         at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:577)
>>         at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:543)
>>         at
>> scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:694)
>>         at
>> scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:745)
>>         at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:651)
>>         at
>> scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:542)
>>         at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:550)
>>          at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
>>         at scala.tools.nsc.interpreter.ILoop.main(ILoop.scala:851)
>>         at xsbt.ConsoleInterface.run(ConsoleInterface.scala:57)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>         at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:73)
>>         at
>> sbt.compiler.AnalyzingCompiler.console(AnalyzingCompiler.scala:64)
>>         at sbt.Console.console0$1(Console.scala:23)
>>         at
>> sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply$mcV$sp(Console.scala:24)
>>         at sbt.TrapExit$.executeMain$1(TrapExit.scala:33)
>>         at sbt.TrapExit$$anon$1.run(TrapExit.scala:42)
>> Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException:
>> org.glassfish.jersey.client.JerseyClientFactory
>>         at
>> javax.ws.rs.client.ClientFactory.getFactory(ClientFactory.java:92)
>>         at
>> javax.ws.rs.client.ClientFactory.newClient(ClientFactory.java:103)
>>         at org.openstack.OpenStack.initialize(OpenStack.java:57)
>>         ... 33 more
>> Caused by: java.lang.ClassNotFoundException:
>> org.glassfish.jersey.client.JerseyClientFactory
>>         at java.net.URLClassLoader$1.run(Unknown Source)
>>         at java.net.URLClassLoader$1.run(Unknown Source)
>>         at java.security.AccessController.doPrivileged(Native Method)
>>         at java.net.URLClassLoader.findClass(Unknown Source)
>>         at java.lang.ClassLoader.loadClass(Unknown Source)
>>         at java.lang.ClassLoader.loadClass(Unknown Source)
>>         at java.lang.Class.forName0(Native Method)
>>         at java.lang.Class.forName(Unknown Source)
>>         at
>> javax.ws.rs.client.FactoryFinder.newInstance(FactoryFinder.java:114)
>>         at javax.ws.rs.client.FactoryFinder.find(FactoryFinder.java:206)
>>         at
>> javax.ws.rs.client.ClientFactory.getFactory(ClientFactory.java:75)
>>         ... 35 more
>>
>>
>> If I try
>> scala> var openstack = new OpenStack()
>>
>> I get
>>
>>
>> java.lang.NoClassDefFoundError: Could not initialize class
>> org.openstack.OpenStack
>>          at .<init>(<console>:23)
>>
>>         at .<clinit>(<console>)
>>         at .<init>(<console>:11)
>>         at .<clinit>(<console>)
>>         at $print(<console>)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>         at
>> scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:704)
>>         at
>> scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:914)
>>         at
>> scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:546)
>>         at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:577)
>>         at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:543)
>>         at
>> scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:694)
>>         at
>> scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:745)
>>         at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:651)
>>         at
>> scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:542)
>>         at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:550)
>>         at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
>>         at scala.tools.nsc.interpreter.ILoop.main(ILoop.scala:851)
>>         at xsbt.ConsoleInterface.run(ConsoleInterface.scala:57)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>         at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:73)
>>         at
>> sbt.compiler.AnalyzingCompiler.console(AnalyzingCompiler.scala:64)
>>         at sbt.Console.console0$1(Console.scala:23)
>>         at
>> sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply$mcV$sp(Console.scala:24)
>>         at sbt.TrapExit$.executeMain$1(TrapExit.scala:33)
>>         at sbt.TrapExit$$anon$1.run(TrapExit.scala:42)
>>
>>
>> Any suggestion?
>> Thanks for all your help!
>>
>>
>> On Mon, Jan 7, 2013 at 1:25 PM, Luis Gervaso <luis at woorea.es> wrote:
>>
>>> The class is here:
>>>
>>> openstack-java-sdk <https://github.com/woorea/openstack-java-sdk> /
>>> openstack-client<https://github.com/woorea/openstack-java-sdk/tree/master/openstack-client>/
>>> src<https://github.com/woorea/openstack-java-sdk/tree/master/openstack-client/src>/
>>> main<https://github.com/woorea/openstack-java-sdk/tree/master/openstack-client/src/main>/
>>> java<https://github.com/woorea/openstack-java-sdk/tree/master/openstack-client/src/main/java>/
>>> org<https://github.com/woorea/openstack-java-sdk/tree/master/openstack-client/src/main/java/org>/
>>> openstack<https://github.com/woorea/openstack-java-sdk/tree/master/openstack-client/src/main/java/org/openstack>/
>>> *OpenStack.java*
>>>
>>> Be sure that you have openstack-client jar in your classpath. Maybe a
>>> sbt issue .... You can try and force
>>> that dependency (openstack-client) in your config file
>>>
>>> Cheers!
>>>
>>>
>>>
>>>
>>> On Mon, Jan 7, 2013 at 3:59 PM, Gui Maluf <guimalufb at gmail.com> wrote:
>>>
>>>> Hey Luis,
>>>> Here I'm again! I figure out how access and instantiate some classes,
>>>> but there is one that I couldn't make it work. Look what I'm doing, and see
>>>> if you could give me some tips.
>>>>
>>>> import org.openstack._
>>>>
>>>>         val os_auth_url = "http://150.164.3.236:5000/v2.0"
>>>>         val os_username = "admin"
>>>>         val os_tenant   = "admin"
>>>>         val os_password = "b1gNUv3m."
>>>>
>>>>         var k = new keystone.KeystoneClient(os_auth_url)
>>>>         var auth = keystone.api.Authenticate.withPasswordCredentials(
>>>> os_username,os_password )
>>>>         var a = k.execute( auth ) //the problem occurs here.
>>>>
>>>>
>>>> import org.openstack._
>>>> os_auth_url: java.lang.String = http://150.164.3.236:5000/v2.0
>>>> os_username: java.lang.String = admin
>>>> os_tenant: java.lang.String = admin
>>>> os_password: java.lang.String = b1gNUv3m.
>>>> k: org.openstack.keystone.KeystoneClient =
>>>> org.openstack.keystone.KeystoneClient at d3b1099
>>>> auth: org.openstack.keystone.api.Authenticate =
>>>> org.openstack.keystone.api.Authenticate at 6440ba5
>>>> java.lang.NoClassDefFoundError: Could not initialize class
>>>> org.openstack.OpenStack
>>>>         at
>>>> org.openstack.keystone.KeystoneClient.execute(KeystoneClient.java:19)
>>>>         at $$$$3ec621ebf46e4c475aa71182a0c2fcab$$$.<init>(<console>:129)
>>>>         at $$$$3ec621ebf46e4c475aa71182a0c2fcab$$$.<clinit>(<console>)
>>>>         at .<init>(<console>:11)
>>>>         at .<clinit>(<console>)
>>>>         at $print(<console>)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>>>> Source)
>>>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>>>         at
>>>> scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:704)
>>>>         at
>>>> scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:914)
>>>>         at
>>>> scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:546)
>>>>         at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:577)
>>>>         at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:543)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:694)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:745)
>>>>         at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:651)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:542)
>>>>         at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:550)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop$$anonfun$interpretAllFrom$1.apply(ILoop.scala:563)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop$$anonfun$interpretAllFrom$1.apply(ILoop.scala:560)
>>>>         at
>>>> scala.tools.nsc.io.Streamable$Chars$class.applyReader(Streamable.scala:99)
>>>>         at scala.tools.nsc.io.File.applyReader(File.scala:76)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop.interpretAllFrom(ILoop.scala:560)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop$$anonfun$loadCommand$1.apply(ILoop.scala:604)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop$$anonfun$loadCommand$1.apply(ILoop.scala:603)
>>>>         at scala.tools.nsc.interpreter.ILoop.withFile(ILoop.scala:597)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop.loadCommand(ILoop.scala:603)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop$$anonfun$standardCommands$8.apply(ILoop.scala:222)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop$$anonfun$standardCommands$8.apply(ILoop.scala:222)
>>>>         at
>>>> scala.tools.nsc.interpreter.LoopCommands$LineCmd.apply(LoopCommands.scala:80)
>>>>         at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:646)
>>>>         at
>>>> scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:542)
>>>>         at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:550)
>>>>         at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
>>>>         at scala.tools.nsc.interpreter.ILoop.main(ILoop.scala:851)
>>>>         at xsbt.ConsoleInterface.run(ConsoleInterface.scala:57)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>>>> Source)
>>>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>>>         at
>>>> sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:73)
>>>>         at
>>>> sbt.compiler.AnalyzingCompiler.console(AnalyzingCompiler.scala:64)
>>>>         at sbt.Console.console0$1(Console.scala:23)
>>>>         at
>>>> sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply$mcV$sp(Console.scala:24)
>>>>         at sbt.TrapExit$.executeMain$1(TrapExit.scala:33)
>>>>         at sbt.TrapExit$$anon$1.run(TrapExit.scala:42)
>>>>
>>>>
>>>> Thanks in advance!
>>>>
>>>>
>>>> On Thu, Jan 3, 2013 at 8:44 PM, Luis Gervaso <luis at woorea.es> wrote:
>>>>
>>>>> Gui,
>>>>>
>>>>> If you are using scala probably the issues come from java collections
>>>>> api
>>>>> (when you use whatever java library)
>>>>>
>>>>> Probably you know, look at :
>>>>> http://www.scala-lang.org/docu/files/collections-api/collections_46.html
>>>>>
>>>>> Hope it helps
>>>>>
>>>>> Luis
>>>>>
>>>>> On Thu, Jan 3, 2013 at 7:40 PM, Gui Maluf <guimalufb at gmail.com> wrote:
>>>>>
>>>>>> Luis,
>>>>>> Sorry for fulling your mailbox, but I figure out the problem. Instead
>>>>>> of using java, I'm using scala. So there is a little difference accessing
>>>>>> those things.
>>>>>>
>>>>>> Now I'm resolving depencies and I hope I can make it work!
>>>>>>
>>>>>> Thanks and sorry again!
>>>>>>
>>>>>>
>>>>>> On Thu, Jan 3, 2013 at 4:20 PM, Gui Maluf <guimalufb at gmail.com>wrote:
>>>>>>
>>>>>>> Luis,
>>>>>>> sorry my stupid, but I can't understand this piece of code:
>>>>>>>
>>>>>>>  Access access =
>>>>>>> keystone.execute(Authenticate.withPasswordCredentials(
>>>>>>> KEYSTONE_USERNAME, KEYSTONE_PASSWORD));
>>>>>>>  access =
>>>>>>> keystone.execute(Authenticate.withToken(access.getToken().getId()).withTenantId(tenants.getList().get(0).getId()));
>>>>>>>
>>>>>>> What should I include in my project in order to have this
>>>>>>> Authenticate and Access class?
>>>>>>>
>>>>>>> I'm really lost and confused! I would appreciate your help!
>>>>>>>
>>>>>>> Lots of Thanks in advance!
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Jan 3, 2013 at 4:00 AM, Luis Gervaso <luis at woorea.es> wrote:
>>>>>>>
>>>>>>>> Hi Gui!
>>>>>>>>
>>>>>>>> I just upgraded the code to work properly with latest Jersey release
>>>>>>>>
>>>>>>>> Below the swift example code (just tested and working with HPCloud)
>>>>>>>>
>>>>>>>> Hope it helps you :)
>>>>>>>>
>>>>>>>> private static final File TEST_FILE = new File("pom.xml");
>>>>>>>>
>>>>>>>>  private static final String KEYSTONE_AUTH_URL = "
>>>>>>>> https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0";
>>>>>>>>
>>>>>>>>  private static final String KEYSTONE_USERNAME = "";
>>>>>>>>
>>>>>>>>  private static final String KEYSTONE_PASSWORD = "";
>>>>>>>>
>>>>>>>>
>>>>>>>>  /**
>>>>>>>>
>>>>>>>>  * @param args
>>>>>>>>
>>>>>>>>  */
>>>>>>>>
>>>>>>>> public static void main(String[] args) throws Exception {
>>>>>>>>
>>>>>>>>  KeystoneClient keystone = new KeystoneClient(KEYSTONE_AUTH_URL);
>>>>>>>>
>>>>>>>>  //access with unscoped token
>>>>>>>>
>>>>>>>>  Access access =
>>>>>>>> keystone.execute(Authenticate.withPasswordCredentials(
>>>>>>>> KEYSTONE_USERNAME, KEYSTONE_PASSWORD));
>>>>>>>>
>>>>>>>>   //use the token in the following requests
>>>>>>>>
>>>>>>>>  keystone.setToken(access.getToken().getId());
>>>>>>>>
>>>>>>>>   Tenants tenants = keystone.execute(new ListTenants());
>>>>>>>>
>>>>>>>>   //try to exchange token using the first tenant
>>>>>>>>
>>>>>>>>  if(tenants.getList().size() > 0) {
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>    SwiftClient swiftClient = newSwiftClient(KeystoneUtils.findEndpointURL(access.getServiceCatalog(),
>>>>>>>> "object-store", null, "public"), access.getToken().getId());
>>>>>>>>
>>>>>>>>    //swiftClient.execute(new DeleteContainer("navidad2"));
>>>>>>>>
>>>>>>>>    swiftClient.execute(new CreateContainer("navidad2"));
>>>>>>>>
>>>>>>>>    System.out.println(swiftClient.execute(new ListContainers()));
>>>>>>>>
>>>>>>>>    ObjectForUpload upload = new ObjectForUpload();
>>>>>>>>
>>>>>>>>  upload.setContainer("navidad2");
>>>>>>>>
>>>>>>>>  upload.setName("example2");
>>>>>>>>
>>>>>>>>  upload.setInputStream(new FileInputStream(TEST_FILE));
>>>>>>>>
>>>>>>>>  swiftClient.execute(new UploadObject(upload));
>>>>>>>>
>>>>>>>>    System.out.println(swiftClient.execute(new ListObjects(
>>>>>>>> "navidad2", new HashMap<String, String>() {{
>>>>>>>>
>>>>>>>>   put("path", "");
>>>>>>>>
>>>>>>>>  }})).get(0).getContentType());
>>>>>>>>
>>>>>>>>    }
>>>>>>>>
>>>>>>>>
>>>>>>>>  }
>>>>>>>>
>>>>>>>> On Wed, Jan 2, 2013 at 8:01 PM, Gui Maluf <guimalufb at gmail.com>wrote:
>>>>>>>>
>>>>>>>>> Hey guys,
>>>>>>>>> I'm trying to extend a software project<https://github.com/VirtualCloudDrive/CloudDrive>to talk with Swift.
>>>>>>>>>
>>>>>>>>> This project was developed on Scala, and my issue is: how should I
>>>>>>>>> access Swift resource? Should I use openstack-java-sdk<https://github.com/woorea/openstack-java-sdk/>,
>>>>>>>>> jclouds<http://www.jclouds.org/documentation/quickstart/openstack/>or develop my own library to access the REST API?
>>>>>>>>> I've tried to use openstack-java-sdk but I wasn't able to import
>>>>>>>>> the libraries exposed at examples.
>>>>>>>>>
>>>>>>>>> I'm really confuse about that and I'll appreciate any help, hint,
>>>>>>>>> advice!
>>>>>>>>>
>>>>>>>>> Thanks in advance.!
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *guilherme* \n
>>>>>>>>> \t *maluf*
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Mailing list: https://launchpad.net/~openstack
>>>>>>>>> Post to     : openstack at lists.launchpad.net
>>>>>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> -------------------------------------------
>>>>>>>> Luis Alberto Gervaso Martin
>>>>>>>> Woorea Solutions, S.L
>>>>>>>> CEO & CTO
>>>>>>>> mobile: (+34) 627983344
>>>>>>>> luis@ <luis.gervaso at gmail.com>woorea.es
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *guilherme* \n
>>>>>>> \t *maluf*
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *guilherme* \n
>>>>>> \t *maluf*
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> -------------------------------------------
>>>>> Luis Alberto Gervaso Martin
>>>>> Woorea Solutions, S.L
>>>>> CEO & CTO
>>>>> mobile: (+34) 627983344
>>>>> luis@ <luis.gervaso at gmail.com>woorea.es
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *guilherme* \n
>>>> \t *maluf*
>>>>
>>>
>>>
>>>
>>> --
>>> -------------------------------------------
>>> Luis Alberto Gervaso Martin
>>> Woorea Solutions, S.L
>>> CEO & CTO
>>> mobile: (+34) 627983344
>>> luis@ <luis.gervaso at gmail.com>woorea.es
>>>
>>
>>
>>
>> --
>> *guilherme* \n
>> \t *maluf*
>>
>
>
>
> --
> -------------------------------------------
> Luis Alberto Gervaso Martin
> Woorea Solutions, S.L
> CEO & CTO
> mobile: (+34) 627983344
> luis@ <luis.gervaso at gmail.com>woorea.es
>



-- 
*guilherme* \n
\t *maluf*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20130111/2ab3d646/attachment.html>


More information about the Openstack mailing list