Skip to content

Instantly share code, notes, and snippets.

@rpherrera
Forked from jtriley/config
Last active August 29, 2015 14:10
Show Gist options
  • Save rpherrera/9ae0ae0b2281ac9c5382 to your computer and use it in GitHub Desktop.
Save rpherrera/9ae0ae0b2281ac9c5382 to your computer and use it in GitHub Desktop.
# This is an example config that assumes tagger.py is either in
# $HOME/.starcluster/plugins or lives somewhere in your $PYTHONPATH
[plugin tagger]
setup_class = tagger.TaggerPlugin
# add as many key=value pairs as you like separated by ','
tags = 'mykey=myvalue, mykey2=myvalue2'
[cluster default]
...
plugins = tagger
# Install this file to $HOME/.starcluster/plugins/tagger.py or somewhere on your $PYTHONPATH
from starcluster.clustersetup import ClusterSetup
from starcluster.logger import log
class TaggerPlugin(ClusterSetup):
def __init__(self, tags):
self.tags = [t.strip() for t in tags.split(',')]
self.tags = dict([t.split('=') for t in self.tags)
def run(self, nodes, master, user, user_shell, volumes):
log.info("Tagging all nodes...")
for tag in self.tags:
val = self.tags.get(tag)
log.info("Applying tag - %s: %s" % (tag, val))
for node in nodes:
node.add_tag(tag, val)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment