summaryrefslogtreecommitdiffstats
path: root/func/overlord/cmd_modules
diff options
context:
space:
mode:
authorAdrian Likins <alikins@grimlock.devel.redhat.com>2007-10-24 12:25:09 -0400
committerAdrian Likins <alikins@grimlock.devel.redhat.com>2007-10-24 12:25:09 -0400
commit2659bec13340e5917b390f3deb2332958f67540a (patch)
treeecaaba99dae32071d2cec21e76b7a95f871e99c1 /func/overlord/cmd_modules
parent1991f5d7ffd09d08e28ed29b33bf97f301574fea (diff)
downloadthird_party-func-2659bec13340e5917b390f3deb2332958f67540a.tar.gz
third_party-func-2659bec13340e5917b390f3deb2332958f67540a.tar.xz
third_party-func-2659bec13340e5917b390f3deb2332958f67540a.zip
move "func list_minions" to be a cmd module
So now it also respects the hostnamegoo glob, so you can use it to test glob patterns func "*.redhat.com" list_minions will show all the minions that match that pattern
Diffstat (limited to 'func/overlord/cmd_modules')
-rw-r--r--func/overlord/cmd_modules/listminions.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/func/overlord/cmd_modules/listminions.py b/func/overlord/cmd_modules/listminions.py
new file mode 100644
index 0000000..95f0bc9
--- /dev/null
+++ b/func/overlord/cmd_modules/listminions.py
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+
+"""
+copyfile command line
+
+Copyright 2007, Red Hat, Inc
+see AUTHORS
+
+This software may be freely redistributed under the terms of the GNU
+general public license.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+"""
+
+
+import optparse
+import os
+
+from func.overlord import command
+from func.overlord import client
+DEFAULT_PORT = 51234
+
+class ListMinions(client.command.Command):
+ name = "list_minions"
+ useage = "show known minions"
+
+ def addOptions(self):
+ self.parser.add_option("-v", "--verbose", dest="verbose",
+ action="store_true")
+
+ def handleOptions(self, options):
+ self.port = DEFAULT_PORT
+ if options.verbose:
+ self.verbose = self.options.verbose
+
+ def do(self, args):
+ self.server_spec = self.parentCommand.server_spec
+
+ client_obj = client.Client(self.server_spec,
+ port=self.port,
+ interactive=False,
+ verbose=self.options.verbose,
+ config=self.config)
+
+ servers = client_obj.servers
+ print servers
+ for server in servers:
+ # just cause I hate regex'es -akl
+ host = server.split(':')[-2]
+ host = host.split('/')[-1]
+ print host