summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Terceiro <terceiro@softwarelivre.org>2013-04-30 16:10:14 -0300
committerAntonio Terceiro <terceiro@softwarelivre.org>2013-04-30 16:10:14 -0300
commitac6d8e1cbc4d5c2aeb6a3d3d60aa92e1d25c2db1 (patch)
treeeda0063f8bfc510f9b85927c43dbd3ff56451f2b
Imported Upstream version 0.5upstream/0.5
-rw-r--r--COPYING165
-rw-r--r--MANIFEST.in1
-rw-r--r--PKG-INFO17
-rw-r--r--lava_scheduler_tool.egg-info/PKG-INFO17
-rw-r--r--lava_scheduler_tool.egg-info/SOURCES.txt13
-rw-r--r--lava_scheduler_tool.egg-info/dependency_links.txt1
-rw-r--r--lava_scheduler_tool.egg-info/entry_points.txt12
-rw-r--r--lava_scheduler_tool.egg-info/requires.txt1
-rw-r--r--lava_scheduler_tool.egg-info/top_level.txt1
-rw-r--r--lava_scheduler_tool.egg-info/zip-safe1
-rw-r--r--lava_scheduler_tool/__init__.py19
-rw-r--r--lava_scheduler_tool/commands.py90
-rw-r--r--setup.cfg8
-rwxr-xr-xsetup.py58
14 files changed, 404 insertions, 0 deletions
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..fc8a5de
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..eb762f3
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1 @@
+include COPYING
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..908071f
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,17 @@
+Metadata-Version: 1.1
+Name: lava-scheduler-tool
+Version: 0.5
+Summary: Command line utility for the LAVA scheduler
+Home-page: https://launchpad.net/lava-scheduler-tool
+Author: Linaro Validation Team
+Author-email: linaro-dev@lists.linaro.org
+License: LGPLv3
+Description: UNKNOWN
+Platform: UNKNOWN
+Classifier: Development Status :: 3 - Alpha
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Topic :: Software Development :: Testing
diff --git a/lava_scheduler_tool.egg-info/PKG-INFO b/lava_scheduler_tool.egg-info/PKG-INFO
new file mode 100644
index 0000000..908071f
--- /dev/null
+++ b/lava_scheduler_tool.egg-info/PKG-INFO
@@ -0,0 +1,17 @@
+Metadata-Version: 1.1
+Name: lava-scheduler-tool
+Version: 0.5
+Summary: Command line utility for the LAVA scheduler
+Home-page: https://launchpad.net/lava-scheduler-tool
+Author: Linaro Validation Team
+Author-email: linaro-dev@lists.linaro.org
+License: LGPLv3
+Description: UNKNOWN
+Platform: UNKNOWN
+Classifier: Development Status :: 3 - Alpha
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Topic :: Software Development :: Testing
diff --git a/lava_scheduler_tool.egg-info/SOURCES.txt b/lava_scheduler_tool.egg-info/SOURCES.txt
new file mode 100644
index 0000000..1ad7dfb
--- /dev/null
+++ b/lava_scheduler_tool.egg-info/SOURCES.txt
@@ -0,0 +1,13 @@
+COPYING
+MANIFEST.in
+setup.cfg
+setup.py
+lava_scheduler_tool/__init__.py
+lava_scheduler_tool/commands.py
+lava_scheduler_tool.egg-info/PKG-INFO
+lava_scheduler_tool.egg-info/SOURCES.txt
+lava_scheduler_tool.egg-info/dependency_links.txt
+lava_scheduler_tool.egg-info/entry_points.txt
+lava_scheduler_tool.egg-info/requires.txt
+lava_scheduler_tool.egg-info/top_level.txt
+lava_scheduler_tool.egg-info/zip-safe \ No newline at end of file
diff --git a/lava_scheduler_tool.egg-info/dependency_links.txt b/lava_scheduler_tool.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/lava_scheduler_tool.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/lava_scheduler_tool.egg-info/entry_points.txt b/lava_scheduler_tool.egg-info/entry_points.txt
new file mode 100644
index 0000000..5b2fb49
--- /dev/null
+++ b/lava_scheduler_tool.egg-info/entry_points.txt
@@ -0,0 +1,12 @@
+
+ [lava.commands]
+ scheduler = lava_scheduler_tool.commands:scheduler
+ [lava.scheduler.commands]
+ submit-job = lava_scheduler_tool.commands:submit_job
+ resubmit-job = lava_scheduler_tool.commands:resubmit_job
+ cancel-job = lava_scheduler_tool.commands:cancel_job
+ [lava_tool.commands]
+ submit-job = lava_scheduler_tool.commands:submit_job
+ resubmit-job = lava_scheduler_tool.commands:resubmit_job
+ cancel-job = lava_scheduler_tool.commands:cancel_job
+ \ No newline at end of file
diff --git a/lava_scheduler_tool.egg-info/requires.txt b/lava_scheduler_tool.egg-info/requires.txt
new file mode 100644
index 0000000..aa968ca
--- /dev/null
+++ b/lava_scheduler_tool.egg-info/requires.txt
@@ -0,0 +1 @@
+lava-tool [auth] >= 0.4 \ No newline at end of file
diff --git a/lava_scheduler_tool.egg-info/top_level.txt b/lava_scheduler_tool.egg-info/top_level.txt
new file mode 100644
index 0000000..ebf7302
--- /dev/null
+++ b/lava_scheduler_tool.egg-info/top_level.txt
@@ -0,0 +1 @@
+lava_scheduler_tool
diff --git a/lava_scheduler_tool.egg-info/zip-safe b/lava_scheduler_tool.egg-info/zip-safe
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/lava_scheduler_tool.egg-info/zip-safe
@@ -0,0 +1 @@
+
diff --git a/lava_scheduler_tool/__init__.py b/lava_scheduler_tool/__init__.py
new file mode 100644
index 0000000..da90fd9
--- /dev/null
+++ b/lava_scheduler_tool/__init__.py
@@ -0,0 +1,19 @@
+# Copyright (C) 2010, 2011 Linaro Limited
+#
+# Author: Michael Hudson-Doyle <michael.hudson@linaro.org>
+#
+# This file is part of lava-scheduler-tool.
+#
+# lava-scheduler-tool is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# as published by the Free Software Foundation
+#
+# lava-scheduler-tool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with lava-scheduler-tool. If not, see <http://www.gnu.org/licenses/>.
+
+__version__ = (0, 5, 0, "final", 0)
diff --git a/lava_scheduler_tool/commands.py b/lava_scheduler_tool/commands.py
new file mode 100644
index 0000000..065fbf5
--- /dev/null
+++ b/lava_scheduler_tool/commands.py
@@ -0,0 +1,90 @@
+# Copyright (C) 2010, 2011 Linaro Limited
+#
+# Author: Michael Hudson-Doyle <michael.hudson@linaro.org>
+#
+# This file is part of lava-scheduler-tool.
+#
+# lava-scheduler-tool is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# as published by the Free Software Foundation
+#
+# lava-scheduler-tool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with lava-scheduler-tool. If not, see <http://www.gnu.org/licenses/>.
+
+import xmlrpclib
+
+from lava_tool.authtoken import AuthenticatingServerProxy, KeyringAuthBackend
+from lava.tool.command import Command, CommandGroup
+from lava.tool.errors import CommandError
+from lava.tool.commands import ExperimentalCommandMixIn
+
+
+class scheduler(CommandGroup):
+ """
+ Interact with LAVA Scheduler
+ """
+
+ namespace = "lava.scheduler.commands"
+
+
+class submit_job(ExperimentalCommandMixIn, Command):
+ """
+ Submit a job to lava-scheduler
+ """
+
+ @classmethod
+ def register_arguments(cls, parser):
+ super(submit_job, cls).register_arguments(parser)
+ parser.add_argument("SERVER")
+ parser.add_argument("JSON_FILE")
+
+ def invoke(self):
+ self.print_experimental_notice()
+ server = AuthenticatingServerProxy(
+ self.args.SERVER, auth_backend=KeyringAuthBackend())
+ with open(self.args.JSON_FILE, 'rb') as stream:
+ command_text = stream.read()
+ try:
+ job_id = server.scheduler.submit_job(command_text)
+ except xmlrpclib.Fault, e:
+ raise CommandError(str(e))
+ else:
+ print "submitted as job id:", job_id
+
+
+class resubmit_job(ExperimentalCommandMixIn, Command):
+
+ @classmethod
+ def register_arguments(self, parser):
+ parser.add_argument("SERVER")
+ parser.add_argument("JOB_ID", type=int)
+
+ def invoke(self):
+ self.print_experimental_notice()
+ server = AuthenticatingServerProxy(
+ self.args.SERVER, auth_backend=KeyringAuthBackend())
+ try:
+ job_id = server.scheduler.resubmit_job(self.args.JOB_ID)
+ except xmlrpclib.Fault, e:
+ raise CommandError(str(e))
+ else:
+ print "resubmitted as job id:", job_id
+
+
+class cancel_job(ExperimentalCommandMixIn, Command):
+
+ @classmethod
+ def register_arguments(self, parser):
+ parser.add_argument("SERVER")
+ parser.add_argument("JOB_ID", type=int)
+
+ def invoke(self):
+ self.print_experimental_notice()
+ server = AuthenticatingServerProxy(
+ self.args.SERVER, auth_backend=KeyringAuthBackend())
+ server.scheduler.cancel_job(self.args.JOB_ID)
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..a98a913
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,8 @@
+[upload]
+sign = True
+
+[egg_info]
+tag_build =
+tag_date = 0
+tag_svn_revision = 0
+
diff --git a/setup.py b/setup.py
new file mode 100755
index 0000000..073b664
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2010, 2011 Linaro Limited
+#
+# Author: Michael Hudson-Doyle <michael.hudson@linaro.org>
+#
+# This file is part of lava-scheduler-tool.
+#
+# lava-scheduler-tool is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# as published by the Free Software Foundation
+#
+# lava-scheduler-tool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with lava-scheduler-tool. If not, see <http://www.gnu.org/licenses/>.
+
+from setuptools import setup, find_packages
+
+
+setup(
+ name = 'lava-scheduler-tool',
+ version = ":versiontools:lava_scheduler_tool:__version__",
+ author = "Linaro Validation Team",
+ author_email = "linaro-dev@lists.linaro.org",
+ packages = find_packages(),
+ description = "Command line utility for the LAVA scheduler",
+ url='https://launchpad.net/lava-scheduler-tool',
+# test_suite='lava_scheduler_tool.tests.test_suite',
+ license="LGPLv3",
+ entry_points = """
+ [lava.commands]
+ scheduler = lava_scheduler_tool.commands:scheduler
+ [lava.scheduler.commands]
+ submit-job = lava_scheduler_tool.commands:submit_job
+ resubmit-job = lava_scheduler_tool.commands:resubmit_job
+ cancel-job = lava_scheduler_tool.commands:cancel_job
+ [lava_tool.commands]
+ submit-job = lava_scheduler_tool.commands:submit_job
+ resubmit-job = lava_scheduler_tool.commands:resubmit_job
+ cancel-job = lava_scheduler_tool.commands:cancel_job
+ """,
+ classifiers=[
+ "Development Status :: 3 - Alpha",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python :: 2.6",
+ "Programming Language :: Python :: 2.7",
+ "Topic :: Software Development :: Testing",
+ ],
+ install_requires=['lava-tool [auth] >= 0.4'],
+ setup_requires = ['versiontools >= 1.3.1'],
+ zip_safe = True,
+)