summaryrefslogtreecommitdiffstats
path: root/func
diff options
context:
space:
mode:
Diffstat (limited to 'func')
-rw-r--r--func/overlord/cmd_modules/call.py15
-rw-r--r--func/overlord/cmd_modules/copyfile.py79
-rw-r--r--func/overlord/cmd_modules/show.py15
3 files changed, 109 insertions, 0 deletions
diff --git a/func/overlord/cmd_modules/call.py b/func/overlord/cmd_modules/call.py
index 0f69713..48a6598 100644
--- a/func/overlord/cmd_modules/call.py
+++ b/func/overlord/cmd_modules/call.py
@@ -1,5 +1,20 @@
#!/usr/bin/python
+"""
+call func method invoker
+
+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 pprint
import xmlrpclib
diff --git a/func/overlord/cmd_modules/copyfile.py b/func/overlord/cmd_modules/copyfile.py
new file mode 100644
index 0000000..354ab8f
--- /dev/null
+++ b/func/overlord/cmd_modules/copyfile.py
@@ -0,0 +1,79 @@
+#!/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
+import pprint
+import stat
+import xmlrpclib
+
+from func.overlord import command
+from func.overlord import client
+
+DEFAULT_PORT = 51234
+
+class CopyFile(client.command.Command):
+ name = "copyfile"
+ useage = "copy a file to a client"
+
+
+ def addOptions(self):
+ self.parser.add_option("-f", "--file", dest="filename",
+ action="store")
+ self.parser.add_option("", "--remotepath", dest="rpath",
+ action="store")
+ self.parser.add_option("", "--force", dest="force",
+ action="store_true")
+ self.parser.add_option("-v", "--verbose", dest="verbose",
+ action="store_true")
+ self.parser.add_option("-p", "--port", dest="port")
+
+ def handleOptions(self, options):
+ self.port = DEFAULT_PORT
+ if self.options.port:
+ self.port = self.options.port
+
+ def parse(self, argv):
+ self.argv = argv
+ return command.Command.parse(self,argv)
+
+ 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)
+
+
+ try:
+ fb = open(self.options.filename, "r").read()
+ except IOError, e:
+ print "Unable to open file: %s: %s" % (self.options.filename, e)
+ return
+
+ st = os.stat(self.options.filename)
+ mode = stat.S_IMODE(st.st_mode)
+ uid = st.st_uid
+ gid = st.st_gid
+
+
+
+ results = client_obj.run("copyfile", "copyfile", [self.options.rpath, fb,
+ mode, uid, gid])
+
diff --git a/func/overlord/cmd_modules/show.py b/func/overlord/cmd_modules/show.py
index 64bf726..22bac95 100644
--- a/func/overlord/cmd_modules/show.py
+++ b/func/overlord/cmd_modules/show.py
@@ -1,5 +1,20 @@
#!/usr/bin/python
+"""
+show introspection commandline
+
+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 pprint
import xmlrpclib