StarCluster - Mailing List Archive

Re: accessing cluster object from a plugin

From: Justin Riley <no email>
Date: Mon, 27 Dec 2010 18:48:33 -0500

FYI I added this functionality to the github code. The Node class now
has 'groups' and 'cluster_groups' attributes. Both are lists of
boto.ec2.securitygroup.SecurityGroup objects. This means you can just
call authorize()/revoke() on the group objects to add/remove group
permissions now without needing to manipulate the boto connection object
directly. Here's an example using the shell:

$ starcluster shell
[1] cl = cm.get_cluster('mycluster')
[2] master = cl.master_node
[3] cl_group = master.cluster_groups[0]
[4] cl_group.authorize('tcp', 80, 80, '0.0.0.0/0')
True
[5] cl_group.revoke('tcp', 80, 80, '0.0.0.0/0')
True

~Justin

On 12/20/10 5:17 PM, Justin Riley wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hey Guys,
>
> Sorry for dropping the ball on this one. I'd like to avoid passing in
> the entire Cluster object if I can help it. The next version will have a
> 'groups' attribute in the Node class. For now you can access the various
> groups that a node is a member of by using the groups attribute in the
> Node class's instance attribute:
>
> In[1] groups = n.instance.groups
> In[2] g = groups[0]
> In[3] print g.id
> Out[3] '_at_sc-mycluster'
>
> Checking whether a group is a starcluster name is simply a matter of
> testing whether the g.id starts with static.SECURITY_GROUP_PREFIX:
>
> In[4] is_cluster_group = g.id.startswith(static.SECURITY_GROUP_PREFIX)
>
> In the next version accessing the groups will simply be:
>
> In[1] n.groups
>
> This will contain *all* security groups. We will also have a
> cluster_groups attribute in the next version for listing *only* cluster
> security groups:
>
> In[2] n.cluster_groups
>
> Last, for the time being you can access the *boto* ec2 connection object
> (not EasyEC2) which will allow you to make boto calls to EC2 via the
> n.instance.connection attribute:
>
> In[1] n.instance.connection.authorize_security_group(...)
>
> Keep in mind this n.instance.connection object is a *boto* ec2
> connection not StarCluster's EasyEC2 connection. In the next version you
> will have an 'ec2' attribute in the Node class that will allow you to
> make aws/ec2 calls via the EasyEC2 object.
>
> Does this make sense?
>
> ~Justin
>
> On 12/20/2010 04:08 PM, Dan Yamins wrote:
>> Any further info on this?
>>
>> On Wed, Dec 15, 2010 at 7:23 PM, Dan Yamins<dyamins_at_gmail.com
>> <mailto:dyamins_at_gmail.com>> wrote:
>>
>> I'm interested to know this as well ... Justin, you were saying
>> something about the cluster object being passed to the run method,
>> in the github code?
>>
>> D
>>
>> On Tue, Dec 7, 2010 at 1:27 PM, Igor Tatarinov<igor_at_priceyeti.com
>> <mailto:igor_at_priceyeti.com>> wrote:
>>
>> I can't figure out if it's possible. I just need to know the
>> cluster security group.
>>
>> The arg list doesn't include 'cluster':
>> def run(self, nodes, master, user, user_shell, volumes):
>>
>> and it doesn't seem possible to get to the cluster from a node
>> object.
>>
>>
>>
>> _______________________________________________
>> StarCluster mailing list
>> StarCluster_at_mit.edu<mailto:StarCluster_at_mit.edu>
>> http://mailman.mit.edu/mailman/listinfo/starcluster
>>
>>
>>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.16 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk0P1eYACgkQ4llAkMfDcrlbmACgiRUIoGbyudESdtc4snhPc4eb
> vd4AnRMi5tz9shbndEk8EivOnqNGC3y6
> =EsJG
> -----END PGP SIGNATURE-----
> _______________________________________________
> StarCluster mailing list
> StarCluster_at_mit.edu
> http://mailman.mit.edu/mailman/listinfo/starcluster
Received on Mon Dec 27 2010 - 18:48:12 EST
This archive was generated by hypermail 2.3.0.

Search:

Sort all by:

Date

Month

Thread

Author

Subject