You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whirr.apache.org by "Anirban Mandal (JIRA)" <ji...@apache.org> on 2011/03/02 22:33:37 UTC

[jira] Commented: (WHIRR-182) Support deployment to Eucalyptus clouds

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

Anirban Mandal commented on WHIRR-182:
--------------------------------------

Hi, 

I was trying to test whirr with Eucalyptus clouds . I got a Eucalyptus community cloud account and tried to launch a hadoop cluster using whirr CLI. I am using 0.4.0-incubating-SNAPSHOT version of whirr.

I have two issues:

1. How do I specify an eucalyptus endpoint ? I understand that a property called 'eucalyptus.endpoint' needs to be set for jclouds to be able to talk to a eucalyptus cloud. But, I didn't see how I can configure this property in whirr. Somewhere internally, whirr knows to talk to the Eucalyptus community cloud at http://173.205.188.130:8773/services/Eucalyptus/ 

I hacked up core/src/main/java/org/apache/whirr/service/ComputeServiceContextBuilder.java by setting eucalyptus.endpoint and passing an updated property to createContext() in order to test on our own Eucalyptus cluster. But, that is definitely not the way to go forward. Please suggest.

2. The second issue is of bigger concern. For both the Eucalyptus clouds I tested this on, I see that that the instances remain in pending state and after a while gets terminated. The last things I see in the whirr log files is 

....
2011-03-02 14:50:11,121 DEBUG [jclouds.compute] (main) <<   matched image([id=Eucalyptus/emi-9ACB1363, name=null, operatingSystem=[name=null, family=centos, version=, arch=paravirtual, is64Bit=true, description=centos-5.3-x86_64/centos.5-3.x86-64.img.manifest.xml], description=centos-5.3-x86_64/centos.5-3.x86-64.img.manifest.xml, version=null, location=[id=Eucalyptus, scope=REGION, description=Eucalyptus, parent=eucalyptus, iso3166Codes=[], metadata={}], loginUser=root, userMetadata={owner=admin, rootDeviceType=instance-store}])2011-03-02 14:50:11,122 INFO  [org.apache.whirr.cluster.actions.NodeStarter] (pool-1-thread-4) Starting 1 node(s) with roles [hadoop-jobtracker, hadoop-namenode]2011-03-02 14:50:11,122 DEBUG [jclouds.compute] (pool-1-thread-4) >> running 1 node group(myhadoopcluster) location(Eucalyptus) image(Eucalyptus/emi-9ACB1363) hardwareProfile(m1.small) options([groupIds=[], keyPair=null, noKeyPair=false, userData=null, blockDeviceMappings=[]])
2011-03-02 14:50:11,122 DEBUG [jclouds.compute] (pool-1-thread-4) >> creating keyPair region(Eucalyptus) tag(myhadoopcluster)
2011-03-02 14:50:11,879 DEBUG [jclouds.compute] (pool-1-thread-2) << created keyPair(jclouds#myhadoopcluster#Eucalyptus#93)2011-03-02 14:50:11,880 DEBUG [jclouds.compute] (pool-1-thread-2) >> creating securityGroup region(Eucalyptus) name(jclouds#myhadoopcluster#Eucalyptus)
2011-03-02 14:50:12,289 DEBUG [jclouds.compute] (pool-1-thread-2) << reused securityGroup(jclouds#myhadoopcluster#Eucaly
ptus)
2011-03-02 14:50:12,290 DEBUG [jclouds.compute] (pool-1-thread-2) >> running 1 instance region(Eucalyptus) zone(null) am
i(emi-9ACB1363) params({InstanceType=[m1.small], SecurityGroup.1=[jclouds#myhadoopcluster#Eucalyptus], KeyName=[jclouds#
myhadoopcluster#Eucalyptus#93]})
....
2011-03-02 14:50:12,998 DEBUG [jclouds.compute] (pool-1-thread-2) << started instances(i-51020A57)
2011-03-02 14:50:13,041 DEBUG [jclouds.compute] (pool-1-thread-4) << started instances(i-4A010867)
2011-03-02 14:50:13,157 DEBUG [jclouds.compute] (pool-1-thread-2) << present instances(i-51020A57)
2011-03-02 14:50:13,191 DEBUG [jclouds.compute] (pool-1-thread-4) << present instances(i-4A010867)
... nothing after that

When we examine the logs on the Eucalyptus Cloud head node, we see that the neither the cloud controller nor the node controllers have kicked in. The request to Eucalyptus has died in the cloud front end itself. So, the pending state has nothing to do with faulty images, if any. The exceptions on the cloud-debug.log mostly look like

16:19:03 ERROR [RestfulMarshallingHandler:ReplyQueue.16] java.lang.NullPointerException
java.lang.NullPointerException
...

, which might mean that the jclouds clients are not being able to talk to the Euca cloud . But, I have no idea beyond that.

Am I not using whirr correctly for Eucalyptus ? The properties file I use looks like:

whirr.cluster-name=myhadoopcluster
whirr.instance-templates=1 jt+nn,1 dn+tt
whirr.provider=eucalyptus
whirr.identity=<ACCESS>
whirr.credential=<SECRET>
whirr.private-key-file=/home/orca/.ssh/id_rsa
whirr.public-key-file=/home/orca/.ssh/id_rsa.pub
whirr.image-id=Eucalyptus/emi-9ACB1363

Regards,
- Anirban




> Support deployment to Eucalyptus clouds 
> ----------------------------------------
>
>                 Key: WHIRR-182
>                 URL: https://issues.apache.org/jira/browse/WHIRR-182
>             Project: Whirr
>          Issue Type: New Feature
>          Components: core, service/cassandra, service/hadoop, service/zookeeper
>            Reporter: Andrei Savu
>            Assignee: Andrei Savu
>
> Eucalyptus is supported in jclouds as the "eucalyptus" provider [1]. Adding support should be fairly straightforward.
> [0] http://www.eucalyptus.com/
> [1] http://code.google.com/p/jclouds/wiki/QuickStartEucalyptus 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira