java/spacewalk-java.spec rel-eng/packages
by Tomas Lestach
java/spacewalk-java.spec | 5 ++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 26736104885a4074d0444595d94a5aebf06dba20
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Wed Jun 1 13:31:30 2011 +0200
Automatic commit of package [spacewalk-java] release [1.5.42-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 7513c1d..4b6a2e0 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -17,7 +17,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 1.5.41
+Version: 1.5.42
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -546,6 +546,9 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Wed Jun 01 2011 Tomas Lestach <tlestach(a)redhat.com> 1.5.42-1
+- 709365 - fixed delete kickstart API docs (mmello(a)redhat.com)
+
* Mon May 30 2011 Michael Mraka <michael.mraka(a)redhat.com> 1.5.41-1
- made some queries PG compatible
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 5c37d11..0e5ff54 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-1.5.41-1 java/
+1.5.42-1 java/
12 years, 3 months
java/code
by Tomas Lestach
java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java | 13 +++-------
1 file changed, 4 insertions(+), 9 deletions(-)
New commits:
commit 2838959597c4660c63c061eaf7435d8fad55f9e6
Author: Marcelo Moreira de Mello <mmello(a)redhat.com>
Date: Tue May 31 13:55:49 2011 -0400
rhbz#709365 - fixed delete kickstart API docs
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java
index ea21642..1c3acc2 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/KickstartHandler.java
@@ -375,14 +375,13 @@ public class KickstartHandler extends BaseHandler {
* delete a kickstart profile
* @param sessionKey the session key
* @param ksLabel the kickstart to remove an ip range from
- * @return 1 on removal, 0 if not found, exception otherwise
+ * @return 1 if successful, exception otherwise.
*
* @xmlrpc.doc Delete a kickstart profile
* @xmlrpc.param #session_key()
* @xmlrpc.param #param_desc("string", "ksLabel", "The label of
* the kickstart profile you want to remove")
- * @xmlrpc.returntype int - 1 on successful deletion, 0 if kickstart wasn't found
- * or couldn't be deleted.
+ * @xmlrpc.returntype #return_int_success()
*/
public int deleteProfile(String sessionKey, String ksLabel) {
User user = getLoggedInUser(sessionKey);
@@ -392,12 +391,8 @@ public class KickstartHandler extends BaseHandler {
KickstartData ksdata = lookupKsData(ksLabel, user.getOrg());
KickstartDeleteCommand com = new KickstartDeleteCommand(ksdata.getId(), user);
ValidatorError error = com.store();
- if (error == null) {
- return 1;
- }
- else {
- return 0;
- }
+
+ return 1;
}
/**
12 years, 3 months
backend/server
by Jan Pazdziora
backend/server/handlers/xmlrpc/errata.py | 56 +++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
New commits:
commit 49df1fa935453bbb3fa027d31859b44dfec6c32d
Author: Ionuț Arțăriși <iartarisi(a)suse.cz>
Date: Tue May 24 14:53:40 2011 +0200
added errata.getErrataNamesById function to the API
diff --git a/backend/server/handlers/xmlrpc/errata.py b/backend/server/handlers/xmlrpc/errata.py
index 5b11637..7711ba4 100644
--- a/backend/server/handlers/xmlrpc/errata.py
+++ b/backend/server/handlers/xmlrpc/errata.py
@@ -35,6 +35,7 @@ class Errata(rhnHandler):
self.functions.append('GetByPackage') # Clients v1-
self.functions.append('getPackageErratum') # Clients v2+
self.functions.append('getErrataInfo') # clients v2+
+ self.functions.append('getErrataNamesById')
def GetByPackage(self, pkg, osRel):
""" Clients v1- Get errata for a package given "n-v-r" format
@@ -242,6 +243,61 @@ class Errata(rhnHandler):
pkg_arch])
return ret
+ def getErrataNamesById(self, system_id, errata_ids):
+ """Return a list of RhnErrata tuples of (id, advisory_name)
+
+ IN: system_id - id of the system requesting this info (must be
+ subscribed to the channel that contains the erratas)
+ errata_ids - a list of RhnErrata ids
+
+ Only the erratas that belong to channels that the client system
+ is subscribed to are returned. If no erratas match this
+ criterion, then an empty list is returned.
+
+ """
+ log_debug(5, system_id, errata_ids)
+ self.auth_system(system_id)
+
+ log_debug(1, self.server_id, errata_ids)
+
+ sql_list, bound_vars = _bind_list(errata_ids)
+ bound_vars.update({'server_id': self.server_id})
+
+ sql = """SELECT DISTINCT e.id, e.advisory_name
+ FROM rhnErrata e,
+ rhnPackage p,
+ rhnChannelPackage cp,
+ rhnServerChannel sc,
+ rhnErrataPackage ep
+ WHERE e.id in (%s) AND
+ ep.errata_id = e.id AND
+ ep.package_id = p.id AND
+ sc.server_id = :server_id AND
+ sc.channel_id = cp.channel_id AND
+ cp.package_id = p.id"""
+ h = rhnSQL.prepare(sql % sql_list)
+ h.execute(**bound_vars)
+
+ return h.fetchall()
+
+
+def _bind_list(elems):
+ """Transform a list into an sql list with bound parameters
+
+ IN: elems - a list of elements
+
+ Returns a tuple of:
+ sql_list - a comma separated list of parameter numbers: 'p_0, p_1, p_2'
+ bound_vars - a dict of parameter names and values {'p_0': 42, 'p_1': 34}
+
+ """
+ bound_names = []
+ bound_vars = {}
+ for i, elem in enumerate(elems):
+ bound_vars['p_%s' % i] = elem
+ bound_names.append(':p_%s' % i)
+ sql_list = ', '.join(bound_names)
+ return sql_list, bound_vars
#-----------------------------------------------------------------------------
if __name__ == "__main__":
12 years, 3 months
Changes to 'refs/tags/spacewalk-reports-1.5.2-1'
by Jan Pazdziora
Tag 'spacewalk-reports-1.5.2-1' created by Jan Pazdziora <jpazdziora(a)redhat.com> at 2011-06-01 08:22 +0000
Tagging package [spacewalk-reports] version [1.5.2-1] in directory [reporting/].
Changes since spacewalk-backend-1.5.31-1:
Jan Pazdziora (2):
Fixing the SGML source of the spacewalk-report man page.
Automatic commit of package [spacewalk-reports] release [1.5.2-1].
---
rel-eng/packages/spacewalk-reports | 2 +-
reporting/spacewalk-report.sgml | 12 +++++++-----
reporting/spacewalk-reports.spec | 5 ++++-
3 files changed, 12 insertions(+), 7 deletions(-)
---
12 years, 3 months
rel-eng/packages reporting/spacewalk-reports.spec
by Jan Pazdziora
rel-eng/packages/spacewalk-reports | 2 +-
reporting/spacewalk-reports.spec | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 262f442e0a2377c8a281be0f9a0bf171650c1806
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Jun 1 10:22:41 2011 +0200
Automatic commit of package [spacewalk-reports] release [1.5.2-1].
diff --git a/rel-eng/packages/spacewalk-reports b/rel-eng/packages/spacewalk-reports
index f2f4323..b1b7c59 100644
--- a/rel-eng/packages/spacewalk-reports
+++ b/rel-eng/packages/spacewalk-reports
@@ -1 +1 @@
-1.5.1-1 reporting/
+1.5.2-1 reporting/
diff --git a/reporting/spacewalk-reports.spec b/reporting/spacewalk-reports.spec
index 715e2a4..74ff920 100644
--- a/reporting/spacewalk-reports.spec
+++ b/reporting/spacewalk-reports.spec
@@ -2,7 +2,7 @@ Name: spacewalk-reports
Summary: Script based reporting
Group: Applications/Internet
License: GPLv2
-Version: 1.5.1
+Version: 1.5.2
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -42,6 +42,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man8/spacewalk-report.8*
%changelog
+* Wed Jun 01 2011 Jan Pazdziora 1.5.2-1
+- Fixing the SGML source of the spacewalk-report man page.
+
* Thu Apr 14 2011 Jan Pazdziora 1.5.1-1
- The initCFG is no longer imported directly to spacewalk.common.
12 years, 3 months
reporting/spacewalk-report.sgml
by Jan Pazdziora
reporting/spacewalk-report.sgml | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
New commits:
commit d8c01c926f496a5b47615647436a9f43a4fe11b6
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Jun 1 10:22:18 2011 +0200
Fixing the SGML source of the spacewalk-report man page.
diff --git a/reporting/spacewalk-report.sgml b/reporting/spacewalk-report.sgml
index d792336..c48b70a 100644
--- a/reporting/spacewalk-report.sgml
+++ b/reporting/spacewalk-report.sgml
@@ -22,18 +22,18 @@ Generate reports from Spacewalk server in csv format
</cmdsynopsis>
<cmdsynopsis>
<command>spacewalk-report</command>
- <sbr />
+ <sbr>
<group>
<arg>--multival-on-rows</arg>
<arg>--multival-separator=<replaceable>separator-string</replaceable></arg>
</group>
- <sbr />
+ <sbr>
<arg>--db=<replaceable>connect-string</replaceable></arg>
- <sbr />
+ <sbr>
<arg>--info</arg>
- <sbr />
+ <sbr>
<group><arg>--list-fields</arg><arg>--list-fields-info</arg></group>
- <sbr />
+ <sbr>
<arg choice='plain'><replaceable>report-name</replaceable></arg>
</cmdsynopsis>
</Synopsis>
@@ -51,6 +51,7 @@ Generate reports from Spacewalk server in csv format
If the report name is not specified, list of available report
names is printed, one name per line.
</para>
+</RefSect1>
<RefSect1><Title>Options</Title>
<variablelist>
@@ -95,6 +96,7 @@ Generate reports from Spacewalk server in csv format
<para>This option should be considered obsoleted and may
not be available in next versions of
<command>spacewalk-report</command>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
12 years, 3 months
Changes to 'refs/tags/spacewalk-backend-1.5.31-1'
by Jan Pazdziora
Tag 'spacewalk-backend-1.5.31-1' created by Jan Pazdziora <jpazdziora(a)redhat.com> at 2011-06-01 08:19 +0000
Tagging package [spacewalk-backend] version [1.5.31-1] in directory [backend/].
Changes since rhncfg-5.10.6-1:
Jan Pazdziora (3):
The playpen/ content is dead, removing.
Fixing synopsis and example of spacewalk-repo-sync man page.
Automatic commit of package [spacewalk-backend] release [1.5.31-1].
---
backend/satellite_tools/spacewalk-repo-sync.sgml | 89 +--
backend/spacewalk-backend.spec | 5
playpen/README | 3
playpen/Telemetry/.project | 17
playpen/Telemetry/.pydevproject | 8
playpen/Telemetry/src/MANIFEST.in | 6
playpen/Telemetry/src/README | 6
playpen/Telemetry/src/sample_reports/config/affectedSystems.conf | 26 -
playpen/Telemetry/src/sample_reports/config/relevantErrata.conf | 25 -
playpen/Telemetry/src/sample_reports/config/systemDetails.conf | 19
playpen/Telemetry/src/sample_reports/config/systemsByPackage.conf | 27 -
playpen/Telemetry/src/sample_reports/scripts/affectedSystemsReport.py | 103 ----
playpen/Telemetry/src/sample_reports/scripts/relevantErrataReport.py | 108 ----
playpen/Telemetry/src/sample_reports/scripts/systemDetailsReport.py | 140 -----
playpen/Telemetry/src/sample_reports/scripts/systemsByPackageReport.py | 109 ----
playpen/Telemetry/src/sample_reports/templates/AffectedSystems.txt | 27 -
playpen/Telemetry/src/sample_reports/templates/RelevantErrata.csv | 8
playpen/Telemetry/src/sample_reports/templates/RelevantErrata.html | 37 -
playpen/Telemetry/src/sample_reports/templates/RelevantErrata.txt | 24
playpen/Telemetry/src/sample_reports/templates/SystemDetails.txt | 37 -
playpen/Telemetry/src/sample_reports/templates/SystemsByPackage.txt | 23
playpen/Telemetry/src/setup.cfg | 9
playpen/Telemetry/src/setup.py | 30 -
playpen/Telemetry/src/sudoers.telemetry | 5
playpen/Telemetry/src/telemetry | 7
playpen/Telemetry/src/telemetry.conf | 18
playpen/Telemetry/src/telemetry.py | 244 ----------
playpen/Telemetry/src/telemetry_web/manage.py | 11
playpen/Telemetry/src/telemetry_web/settings.py | 77 ---
playpen/Telemetry/src/telemetry_web/telemetry.conf | 9
playpen/Telemetry/src/telemetry_web/templates/index.html | 6
playpen/Telemetry/src/telemetry_web/templates/list_reports.html | 13
playpen/Telemetry/src/telemetry_web/templates/report_details.html | 64 --
playpen/Telemetry/src/telemetry_web/templates/report_results.html | 21
playpen/Telemetry/src/telemetry_web/urls.py | 9
playpen/Telemetry/src/telemetry_web/views.py | 122 -----
playpen/spacewalk-repo-sync/reposync.py | 30 -
playpen/spacewalk-repo-sync/spacewalk-repo-sync | 210 --------
playpen/spacewalk-repo-sync/test.py | 61 --
playpen/spacewalk-repo-sync/upload.py | 25 -
rel-eng/packages/spacewalk-backend | 2
41 files changed, 51 insertions(+), 1769 deletions(-)
---
12 years, 3 months
backend/spacewalk-backend.spec rel-eng/packages
by Jan Pazdziora
backend/spacewalk-backend.spec | 5 ++++-
rel-eng/packages/spacewalk-backend | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 981a3e4a6d2646f4015cfc80e96105db8c53ca05
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Jun 1 10:19:20 2011 +0200
Automatic commit of package [spacewalk-backend] release [1.5.31-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index 27636c7..2e44a4b 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -11,7 +11,7 @@ Name: spacewalk-backend
Summary: Common programs needed to be installed on the Spacewalk servers/proxies
Group: Applications/Internet
License: GPLv2 and Python
-Version: 1.5.30
+Version: 1.5.31
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -681,6 +681,9 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Wed Jun 01 2011 Jan Pazdziora 1.5.31-1
+- Fixing synopsis and example of spacewalk-repo-sync man page.
+
* Fri May 27 2011 Jan Pazdziora 1.5.30-1
- download packages in 4 simultanous threads (msuchy(a)redhat.com)
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index 29b8852..cf53524 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-1.5.30-1 backend/
+1.5.31-1 backend/
12 years, 3 months
backend/satellite_tools
by Jan Pazdziora
backend/satellite_tools/spacewalk-repo-sync.sgml | 89 +++++++++++------------
1 file changed, 46 insertions(+), 43 deletions(-)
New commits:
commit a2568d006ed1b268b7ad7cccbdbf0835370e8481
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Jun 1 09:38:21 2011 +0200
Fixing synopsis and example of spacewalk-repo-sync man page.
Also polished the source a bit.
diff --git a/backend/satellite_tools/spacewalk-repo-sync.sgml b/backend/satellite_tools/spacewalk-repo-sync.sgml
index 88e3aad..b19b975 100644
--- a/backend/satellite_tools/spacewalk-repo-sync.sgml
+++ b/backend/satellite_tools/spacewalk-repo-sync.sgml
@@ -1,50 +1,53 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
-<!ENTITY RHNSAT "RHN Satellite Server" >
-<!ENTITY RHNCHANRM "Spacewalk repository syncing tool" >
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN">
-]>
<refentry>
-<RefMeta>
-<RefEntryTitle>spacewalk-repo-sync</RefEntryTitle><manvolnum>8</manvolnum>
-<RefMiscInfo>Version 3.5.0</RefMiscInfo>
-</RefMeta>
+<refmeta>
+<refentrytitle>spacewalk-repo-sync</refentrytitle><manvolnum>8</manvolnum>
+<refmiscinfo>Version 3.5.0</refmiscinfo>
+</refmeta>
-<RefNameDiv>
-<RefName><command>spacewalk-repo-sync</command></RefName>
-<RefPurpose>
+<refnamediv>
+<refname><command>spacewalk-repo-sync</command></refname>
+<refpurpose>
Syncs the content from yum repos into Spacewalk or Satellite channels.
-</RefPurpose>
-</RefNameDiv>
+</refpurpose>
+</refnamediv>
-<RefSynopsisDiv>
-<Synopsis>
+<refsynopsisdiv>
+<synopsis>
<cmdsynopsis>
- <command>spaceawlk-remove-channel</command>
- <arg>options <replaceable>...</replaceable></arg>
+ <command>spacewalk-repo-sync</command>
+ <sbr>
+ <group>
<arg>-c<replaceable>CHANNEL_LABEL</replaceable></arg>
<arg>--channel=<replaceable>CHANNEL_LABEL</replaceable></arg>
- </cmdsynopsis>
- <cmdsynopsis>
- <arg>-u<replaceable>URL</replaceable></arg>
- <arg>--url=<replaceable>URL</replaceable></arg>
- </cmdsynopsis>
- <cmdsynopsis>
+ </group>
+ <sbr>
+ <group>
+ <arg>-u<replaceable>URL</replaceable></arg>
+ <arg>--url=<replaceable>URL</replaceable></arg>
+ </group>
+ <sbr>
+ <group>
+ <arg>-t<replaceable>TYPE</replaceable></arg>
+ <arg>--type=<replaceable>TYPE</replaceable></arg>
+ </group>
+ <sbr>
+ <group>
<arg>-q</arg>
<arg>--quiet</arg>
- </cmdsynopsis>
- <cmdsynopsis>
+ </group>
+ <sbr>
+ <group>
<arg>-f</arg>
<arg>--fail</arg>
+ </group>
</cmdsynopsis>
- <cmdsynopsis>
- <arg>-t<replaceable>TYPE</replaceable></arg>
- <arg>--type=<replaceable>TYPE</replaceable></arg>
- </cmdsynopsis>
-</Synopsis>
-</RefSynopsisDiv>
+</synopsis>
+</refsynopsisdiv>
-<RefSect1><Title>Description</Title>
+<refsect1><title>Description</title>
<para>
The <emphasis>spacewalk-repo-sync</emphasis> tool is used to sync packages from
external or local yum repositories. All the packages within the specified repository
@@ -56,9 +59,9 @@ Syncs the content from yum repos into Spacewalk or Satellite channels.
If the url is not supplied, the tool will look to see what repositories are associated
with the specified channel and use those.
</para>
-</RefSect1>
+</refsect1>
-<RefSect1><Title>Options</Title>
+<refsect1><title>Options</title>
<variablelist>
<varlistentry>
<term>-h, --help</term>
@@ -97,23 +100,23 @@ Syncs the content from yum repos into Spacewalk or Satellite channels.
</listitem>
</varlistentry>
</variablelist>
-</RefSect1>
+</refsect1>
-<RefSect1><Title>Examples</Title>
+<refsect1><title>Examples</title>
<simplelist>
<member><command>spacewalk-repo-sync --channel=my-custom-channel</command></member>
- <member><command>spacewalk-remove-channel --channel=my-custom-channel --url=http://example.com/yum-repo/</command></member>
- <member><command>spacewalk-remove-channel --channel=my-custom-channel --url=file:///var/share/localrepo/</command></member>
- <member><command>spacewalk-remove-channel --channel=my-custom-channel --url=http://example.com/mirrorlist.xml/</command></member>
+ <member><command>spacewalk-repo-sync --crepo1 --url=http://example.com/yum-repo/</command></member>
+ <member><command>spacewalk-repo-sync --crepo2 --url=file:///var/share/localrepo/</command></member>
+ <member><command>spacewalk-repo-sync --crepom --url=http://example.com/mirrorlist.xml/</command></member>
</simplelist>
-</RefSect1>
+</refsect1>
-<RefSect1><Title>Authors</Title>
+<refsect1><title>Authors</title>
<simplelist>
<member>Justin Sherrill <email>jsherril(a)redhat.com</email></member>
</simplelist>
-</RefSect1>
-</RefEntry>
+</refsect1>
+</refentry>
<!--
vim: sw=4
12 years, 3 months
playpen/README playpen/spacewalk-repo-sync playpen/Telemetry
by Jan Pazdziora
playpen/README | 3
playpen/Telemetry/.project | 17
playpen/Telemetry/.pydevproject | 8
playpen/Telemetry/src/MANIFEST.in | 6
playpen/Telemetry/src/README | 6
playpen/Telemetry/src/sample_reports/config/affectedSystems.conf | 26 -
playpen/Telemetry/src/sample_reports/config/relevantErrata.conf | 25 -
playpen/Telemetry/src/sample_reports/config/systemDetails.conf | 19
playpen/Telemetry/src/sample_reports/config/systemsByPackage.conf | 27 -
playpen/Telemetry/src/sample_reports/scripts/affectedSystemsReport.py | 103 ----
playpen/Telemetry/src/sample_reports/scripts/relevantErrataReport.py | 108 ----
playpen/Telemetry/src/sample_reports/scripts/systemDetailsReport.py | 140 -----
playpen/Telemetry/src/sample_reports/scripts/systemsByPackageReport.py | 109 ----
playpen/Telemetry/src/sample_reports/templates/AffectedSystems.txt | 27 -
playpen/Telemetry/src/sample_reports/templates/RelevantErrata.csv | 8
playpen/Telemetry/src/sample_reports/templates/RelevantErrata.html | 37 -
playpen/Telemetry/src/sample_reports/templates/RelevantErrata.txt | 24
playpen/Telemetry/src/sample_reports/templates/SystemDetails.txt | 37 -
playpen/Telemetry/src/sample_reports/templates/SystemsByPackage.txt | 23
playpen/Telemetry/src/setup.cfg | 9
playpen/Telemetry/src/setup.py | 30 -
playpen/Telemetry/src/sudoers.telemetry | 5
playpen/Telemetry/src/telemetry | 7
playpen/Telemetry/src/telemetry.conf | 18
playpen/Telemetry/src/telemetry.py | 244 ----------
playpen/Telemetry/src/telemetry_web/manage.py | 11
playpen/Telemetry/src/telemetry_web/settings.py | 77 ---
playpen/Telemetry/src/telemetry_web/telemetry.conf | 9
playpen/Telemetry/src/telemetry_web/templates/index.html | 6
playpen/Telemetry/src/telemetry_web/templates/list_reports.html | 13
playpen/Telemetry/src/telemetry_web/templates/report_details.html | 64 --
playpen/Telemetry/src/telemetry_web/templates/report_results.html | 21
playpen/Telemetry/src/telemetry_web/urls.py | 9
playpen/Telemetry/src/telemetry_web/views.py | 122 -----
playpen/spacewalk-repo-sync/reposync.py | 30 -
playpen/spacewalk-repo-sync/spacewalk-repo-sync | 210 --------
playpen/spacewalk-repo-sync/test.py | 61 --
playpen/spacewalk-repo-sync/upload.py | 25 -
38 files changed, 1724 deletions(-)
New commits:
commit 0634639b583f01b6cc307ad1a901cf5fdc191403
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Jun 1 09:30:42 2011 +0200
The playpen/ content is dead, removing.
diff --git a/playpen/README b/playpen/README
deleted file mode 100644
index 1b6100b..0000000
--- a/playpen/README
+++ /dev/null
@@ -1,3 +0,0 @@
-directory to hold prototype projects.
-
-none of this stuff gets shipped with spacewalk RPMs.
diff --git a/playpen/Telemetry/.project b/playpen/Telemetry/.project
deleted file mode 100644
index 649a75b..0000000
--- a/playpen/Telemetry/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>Telemetry</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.python.pydev.PyDevBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.python.pydev.pythonNature</nature>
- </natures>
-</projectDescription>
diff --git a/playpen/Telemetry/.pydevproject b/playpen/Telemetry/.pydevproject
deleted file mode 100644
index 801c325..0000000
--- a/playpen/Telemetry/.pydevproject
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<?eclipse-pydev version="1.0"?>
-<pydev_project>
- <pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
- <path>/Telemetry/src</path>
- </pydev_pathproperty>
- <pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.5</pydev_property>
-</pydev_project>
\ No newline at end of file
diff --git a/playpen/Telemetry/src/MANIFEST.in b/playpen/Telemetry/src/MANIFEST.in
deleted file mode 100644
index 6b60075..0000000
--- a/playpen/Telemetry/src/MANIFEST.in
+++ /dev/null
@@ -1,6 +0,0 @@
-include README
-include telemetry
-include telemetry.conf
-include sudoers.telemetry
-recursive-include sample_reports *
-recursive-include telemetry_web *
diff --git a/playpen/Telemetry/src/README b/playpen/Telemetry/src/README
deleted file mode 100644
index 5fa8ab3..0000000
--- a/playpen/Telemetry/src/README
+++ /dev/null
@@ -1,6 +0,0 @@
-Telemetry Requires:
-
-1. Django for webui -> Django
-2. Cheetah Templating -> python-cheetah
-3. Python Crontab -> python-crontab
-4. Yaml Parsing -> PyYAML
diff --git a/playpen/Telemetry/src/sample_reports/config/affectedSystems.conf b/playpen/Telemetry/src/sample_reports/config/affectedSystems.conf
deleted file mode 100644
index e83b614..0000000
--- a/playpen/Telemetry/src/sample_reports/config/affectedSystems.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-name: Affected Systems Report
-description: This report shows which systems are affected by the supplied Errata.
-script: affectedSystemsReport.py
-
-satellites:
-- http://rlx-1-16.rhndev.redhat.com/rpc/api
-- http://rlx-1-16.rhndev.redhat.com/rpc/api
-
-api_versions:
-- 5.1.0 Java
-- 5.1.1 Java
-
-criteria:
-- name: Errata
- label: errata
- type: csv
- cols: 75
- rows: 10
- required: yes
-
-aggregate: yes
-
-templates:
- txt: AffectedSystems.txt
-
-prefix: AffectedSystems
\ No newline at end of file
diff --git a/playpen/Telemetry/src/sample_reports/config/relevantErrata.conf b/playpen/Telemetry/src/sample_reports/config/relevantErrata.conf
deleted file mode 100644
index b4883d7..0000000
--- a/playpen/Telemetry/src/sample_reports/config/relevantErrata.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-name: Relevant Errata Report (by System Group by System)
-description: This report shows relevant errata by system group by system.
-script: relevantErrataReport.py
-
-satellites:
-- http://rlx-1-16.rhndev.redhat.com/rpc/api
-- http://rlx-1-16.rhndev.redhat.com/rpc/api
-
-api_versions:
-- 5.1.0 Java
-- 5.1.1 Java
-
-aggregate: yes
-
-templates:
- csv: RelevantErrata.csv
- txt: RelevantErrata.txt
- html: RelevantErrata.html
-
-prefix: RelevantErrata
-
-notifications:
-- tsanders(a)redhat.com
-- toddbsanders(a)gmail.com
-
diff --git a/playpen/Telemetry/src/sample_reports/config/systemDetails.conf b/playpen/Telemetry/src/sample_reports/config/systemDetails.conf
deleted file mode 100644
index 0b01bda..0000000
--- a/playpen/Telemetry/src/sample_reports/config/systemDetails.conf
+++ /dev/null
@@ -1,19 +0,0 @@
-name: System Details Report
-description: This report provides a list of systems and supporting details (entitlements, channel subscriptions, & system groups.
-
-script: systemDetailsReport.py
-
-satellites:
-- http://rlx-1-16.rhndev.redhat.com/rpc/api
-
-api_versions:
-- 5.1.0 Java
-- 5.1.1 Java
-
-aggregate: no
-
-templates:
- txt: SystemDetails.txt
-
-prefix: SystemDetails
-
diff --git a/playpen/Telemetry/src/sample_reports/config/systemsByPackage.conf b/playpen/Telemetry/src/sample_reports/config/systemsByPackage.conf
deleted file mode 100644
index c0b13bf..0000000
--- a/playpen/Telemetry/src/sample_reports/config/systemsByPackage.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-name: Systems By Package Report
-description: This report shows systems with packages installed that match the user supplied csv, along with the specific NVRE.
-script: systemsByPackageReport.py
-
-satellites:
-- http://rlx-1-16.rhndev.redhat.com/rpc/api
-- http://rlx-1-16.rhndev.redhat.com/rpc/api
-
-api_versions:
-- 5.1.0 Java
-- 5.1.1 Java
-
-criteria:
-- name: Packages
- label: packages
- type: csv
- cols: 75
- rows: 10
- required: yes
-
-aggregate: yes
-
-templates:
- txt: SystemsByPackage.txt
-
-prefix: SystemsByPackage
-
diff --git a/playpen/Telemetry/src/sample_reports/scripts/affectedSystemsReport.py b/playpen/Telemetry/src/sample_reports/scripts/affectedSystemsReport.py
deleted file mode 100755
index bd02243..0000000
--- a/playpen/Telemetry/src/sample_reports/scripts/affectedSystemsReport.py
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/python
-
-from telemetry import Report
-import sys
-import xmlrpclib
-
-class Erratum():
- pass
-
-class System():
- pass
-
-def processData(client, key, errata):
-
- try:
-
- for erratum in errataList:
-
- print erratum
-
- e = client.errata.getDetails(key, erratum)
-
- if e:
-
- ee = Erratum()
- ee.advisoryName = erratum
- ee.type = e['type']
- ee.description = e['description']
- ee.synopsis = e['synopsis']
- ee.systems = []
-
- errata.append(ee)
-
- slist = client.errata.listAffectedSystems(key, erratum)
-
- for s in slist:
-
- system = System()
- system.id = s['id']
- system.name = s['name']
-
- ee.systems.append(system)
-
- except xmlrpclib.Fault, fault:
- print "Error in systemDetailsReport.processData():"
- print fault.faultCode
- print fault.faultString
- sys.exit(1)
-
- return errata
-
-# Main Processing
-if len(sys.argv) != 6:
- print "Usage %s <config> <type> <username> <password> <errata>" % (sys.argv[0])
- sys.exit(1)
-
-# Arguments
-config = sys.argv[1]
-type = sys.argv[2]
-username = sys.argv[3]
-password = sys.argv[4]
-errataList = sys.argv[5].split(',')
-
-# Create Report Instance
-report = Report(config)
-
-# Get ServerProxies
-clients = report.connect()
-
-errata = []
-
-_count = 0
-
-for client in clients:
-
- # get the session key
- try:
- key = client.auth.login(username, password)
- except xmlrpclib.Fault, fault:
- print "Error in systemDetailsReport:"
- print fault.faultCode
- print fault.faultString
- sys.exit(1)
-
- if not (report.aggregate):
- errata = []
-
- systems = processData(client,key,errata)
- satellites = [report.satellites[_count]]
- vars = {'errata': errata, 'satellites': satellites}
- report.templatify(vars, type)
-
- else:
- systems = processData(client,key,errata)
-
- _count = _count + 1
-
-if (report.aggregate):
- vars = {'errata': errata, 'satellites': report.satellites}
- report.templatify(vars, type)
-
-
-
\ No newline at end of file
diff --git a/playpen/Telemetry/src/sample_reports/scripts/relevantErrataReport.py b/playpen/Telemetry/src/sample_reports/scripts/relevantErrataReport.py
deleted file mode 100755
index fd54bb1..0000000
--- a/playpen/Telemetry/src/sample_reports/scripts/relevantErrataReport.py
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/usr/bin/python
-
-from telemetry import Report
-import sys
-import xmlrpclib
-
-class SystemGroup():
- pass
-
-class System():
- pass
-
-class Erratum():
- pass
-
-def processData(client, key, systemsGroups):
-
- try:
- # Get All SystemGroups on Satellite
- sGroups = client.systemgroup.listAllGroups(key)
-
- for sGroup in sGroups:
-
- systemGroup = SystemGroup()
- systemGroup.name = sGroup['name']
- systemGroups.append(systemGroup)
-
- systems = client.systemgroup.listSystems(key, sGroup['name'])
-
- systemGroup.systems = []
-
- for system in systems:
-
- sys = System()
- sys.profile_name = system['profile_name']
- sys.id = system['id']
- systemGroup.systems.append(sys)
-
- errata = client.system.getRelevantErrata(key, system['id'])
-
- sys.errata = []
-
- for erratum in errata:
-
- e = Erratum()
- e.advisory_name = erratum['advisory_name']
- e.advisory_type = erratum['advisory_type']
- e.advisory_summary = erratum['advisory_synopsis']
- sys.errata.append(e)
-
- except xmlrpclib.Fault, fault:
- print "Error in relevantErrataReport.processData():"
- print fault.faultCode
- print fault.faultString
- sys.exit(1)
-
- return systemGroups
-
-
-if len(sys.argv) != 5:
- print "Usage %s <config> <type> <username> <password>" % (sys.argv[0])
- sys.exit(1)
-
-# Arguments
-config = sys.argv[1]
-type = sys.argv[2]
-username = sys.argv[3]
-password = sys.argv[4]
-
-# Create Report Instance
-report = Report(config)
-
-systemGroups = []
-
-_count = 0
-
-# Get ServerProxies
-clients = report.connect()
-
-for client in clients:
-
- # get the session key
- try:
- key = client.auth.login(username, password)
- except xmlrpclib.Fault, fault:
- print "Error in relevantErrataReport:"
- print fault.faultCode
- print fault.faultString
- sys.exit(1)
-
- if not (report.aggregate):
- systemGroups = []
-
- systemGroups = processData(client,key,systemGroups)
- satellites = [report.satellites[_count]]
- vars = {'systemGroups': systemGroups, 'satellites': satellites}
- report.templatify(vars, type)
-
- else:
- systemGroups = processData(client,key,systemGroups)
-
- _count = _count + 1
-
-if (report.aggregate):
- vars = {'systemGroups': systemGroups, 'satellites': report.satellites}
- report.templatify(vars, type)
-
-
diff --git a/playpen/Telemetry/src/sample_reports/scripts/systemDetailsReport.py b/playpen/Telemetry/src/sample_reports/scripts/systemDetailsReport.py
deleted file mode 100755
index 6c07f97..0000000
--- a/playpen/Telemetry/src/sample_reports/scripts/systemDetailsReport.py
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/usr/bin/python
-
-from telemetry import Report
-import sys
-import xmlrpclib
-
-class System():
- pass
-
-class Entitlement():
- pass
-
-class BaseChannel():
- pass
-
-class ChildChannel():
- pass
-
-class Group():
- pass
-
-def processData(client, key, systems):
-
- try:
- syss = client.system.list_user_systems(key)
-
- for sys in syss:
-
- system = System()
- system.id = sys['id']
- system.name = sys['name']
-
- systems.append(system)
-
- entitlements = client.system.getEntitlements(key, int(sys['id']))
-
- system.entitlements = []
-
- for entitlement in entitlements:
-
- e = Entitlement()
- e.label = entitlement
-
- system.entitlements.append(e)
-
- childchannels = client.system.listSubscribedChildChannels(key, int(sys['id']))
-
- system.childchannels = []
-
- for childchannel in childchannels:
-
- cc = ChildChannel()
- cc.id = childchannel['id']
- cc.name = childchannel['name']
- cc.label = childchannel['label']
-
- system.childchannels.append(cc)
-
- basechannel = client.system.getSubscribedBaseChannel(key, int(sys['id']))
-
- bc = BaseChannel()
- bc.id = basechannel['id']
- bc.name = basechannel['name']
- bc.label = basechannel['label']
-
- system.basechannel = bc
-
- groups = client.system.listGroups(key, int(sys['id']))
-
- system.groups = []
-
- for group in groups:
-
- if group['subscribed']:
-
- g = Group()
- g.sgid = group['sgid']
- g.name = group['system_group_name']
-
- system.groups.append(g)
-
- except xmlrpclib.Fault, fault:
- print "Error in systemDetailsReport.processData():"
- print fault.faultCode
- print fault.faultString
- sys.exit(1)
-
- return systems
-
-# Main Processing
-if len(sys.argv) != 5:
- print "Usage %s <config> <type> <username> <password>" % (sys.argv[0])
- sys.exit(1)
-
-# Arguments
-config = sys.argv[1]
-type = sys.argv[2]
-username = sys.argv[3]
-password = sys.argv[4]
-
-# Create Report Instance
-report = Report(config)
-
-# Get ServerProxies
-clients = report.connect()
-
-systems = []
-
-_count = 0
-
-for client in clients:
-
- # get the session key
- try:
- key = client.auth.login(username, password)
- except xmlrpclib.Fault, fault:
- print "Error in systemDetailsReport:"
- print fault.faultCode
- print fault.faultString
- sys.exit(1)
-
- if not (report.aggregate):
- systems = []
-
- systems = processData(client,key,systems)
- satellites = [report.satellites[_count]]
- vars = {'systems': systems, 'satellites': satellites}
- report.templatify(vars, type)
-
- else:
- systems = processData(client,key,systems)
-
- _count = _count + 1
-
-if (report.aggregate):
- vars = {'systems': systems, 'satellites': report.satellites}
- report.templatify(vars, type)
-
-
-
\ No newline at end of file
diff --git a/playpen/Telemetry/src/sample_reports/scripts/systemsByPackageReport.py b/playpen/Telemetry/src/sample_reports/scripts/systemsByPackageReport.py
deleted file mode 100755
index 4bcf92f..0000000
--- a/playpen/Telemetry/src/sample_reports/scripts/systemsByPackageReport.py
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import xmlrpclib
-from telemetry import Report
-
-class System():
- pass
-
-class Package():
- pass
-
-def comparePkgs(system_packages, packageList):
-
- common_packages = []
-
- for pkg in packageList:
-
- for package in system_packages:
-
- if pkg == package['name']:
-
- common_packages.append(package)
-
- return common_packages
-
-def processData(client, key, systems):
-
- try:
- user_systems = client.system.listUserSystems(key)
-
- for system in user_systems:
-
- print system
-
- sys_packages = client.system.listPackages(key, int(system['id']))
-
- #returns a array of packages installed on the system that are in common with the user provided list
- common_pkgs = comparePkgs(sys_packages, packages)
-
- if len(common_pkgs) > 0:
-
- sys = System()
- sys.id = system['id']
- sys.name = system['name']
- sys.packages = common_pkgs
- systems.append(sys)
-
-
- except xmlrpclib.Fault, fault:
- print "Error in systemDetailsReport.processData():"
- print fault.faultCode
- print fault.faultString
- sys.exit(1)
-
- return systems
-
-# Main Processing
-if len(sys.argv) != 6:
- print "Usage %s <config> <type> <username> <password> <packagelist>" % (sys.argv[0])
- sys.exit(1)
-
-# Arguments
-config = sys.argv[1]
-type = sys.argv[2]
-username = sys.argv[3]
-password = sys.argv[4]
-packages = sys.argv[5].split(",")
-
-# Create Report Instance
-report = Report(config)
-
-# Get ServerProxies
-clients = report.connect()
-
-systems = []
-
-_count = 0
-
-for client in clients:
-
- # get the session key
- try:
- key = client.auth.login(username, password)
- except xmlrpclib.Fault, fault:
- print "Error in systemByPackageReport:"
- print fault.faultCode
- print fault.faultString
- sys.exit(1)
-
- if not (report.aggregate):
- systems = []
-
- systems = processData(client,key,systems)
- satellites = [report.satellites[_count]]
- vars = {'systems': systems, 'satellites': satellites, 'criteria': sys.argv[5]}
- report.templatify(vars, type)
-
- else:
- systems = processData(client,key,systems)
-
- _count = _count + 1
-
-if (report.aggregate):
- vars = {'systems': systems, 'satellites': report.satellites, 'criteria': sys.argv[5]}
- report.templatify(vars, type)
-
-
-
diff --git a/playpen/Telemetry/src/sample_reports/templates/AffectedSystems.txt b/playpen/Telemetry/src/sample_reports/templates/AffectedSystems.txt
deleted file mode 100644
index 46a524f..0000000
--- a/playpen/Telemetry/src/sample_reports/templates/AffectedSystems.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-#from datetime import datetime
-Affected Systems Report
-Report Date: $datetime.now().strftime("%Y-%m-%d:%H:%M:%S")
-
-Satellites:
-#for satellite in $satellites
- $satellite
-#end for
-
-*****************************************************************************************
-
-#for erratum in $errata
-Advisory Name: $erratum.advisoryName
-Advisory Type: $erratum.type
-Description: $erratum.description
-Synopsis: $erratum.synopsis
-
-******************************************************************************************
-******************************************************************************************
-Systems:
-#for system in $erratum.systems
- $system.id, $system.name
-#end for
-
-
-
-#end for
diff --git a/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.csv b/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.csv
deleted file mode 100644
index 2a65276..0000000
--- a/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.csv
+++ /dev/null
@@ -1,8 +0,0 @@
-system group name, system, advisory name, advisory type, advisory synopsis
-#for sGroup in $systemGroups
-#for system in $sGroup.systems
-#for erratum in $system.errata
-$sGroup.name,$system.profile_name,$erratum.advisory_name,$erratum.advisory_type,$erratum.advisory_summary
-#end for
-#end for
-#end for
diff --git a/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.html b/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.html
deleted file mode 100644
index 915b578..0000000
--- a/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.html
+++ /dev/null
@@ -1,37 +0,0 @@
-#from datetime import datetime
-<html>
-<title>Relevant Errata Report - $datetime.now().strftime("%Y-%m-%d:%H:%M:%S")</title>
-<body>
-
-
-
-
-#from datetime import datetime
-<H1>Relevant Errata Report (by System Group by System)</H1>
-<H2>Report Date: $datetime.now().strftime("%Y-%m-%d:%H:%M:%S")</H2>
-
-Satellites:
-#for satellite in $satellites
- $satellite
-#end for
-
-#for sGroup in $systemGroups
-System Group: $sGroup.name<HR><HR>
-<Table>
-#for system in $sGroup.systems
- System: $system.profile_name<BR><BR>
-#for erratum in $system.errata
-<TR>
- <TD> $erratum.advisory_name</TD><TD> $erratum.advisory_summary</TD>
-</TR>
-
-#end for
-</Table>
-
-#end for
-<BR><BR>
-
-#end for
-
-</body>
-</html>
diff --git a/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.txt b/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.txt
deleted file mode 100644
index 02f5164..0000000
--- a/playpen/Telemetry/src/sample_reports/templates/RelevantErrata.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-#from datetime import datetime
-Relevant Errata Report (by System Group by System)
-Report Date: $datetime.now().strftime("%Y-%m-%d:%H:%M:%S")
-
-Satellites:
-#for satellite in $satellites
- $satellite
-#end for
-
-#for sGroup in $systemGroups
-System Group: $sGroup.name
-******************************************************************************************
-******************************************************************************************
-#for system in $sGroup.systems
- System: $system.profile_name
-
-#for erratum in $system.errata
- $erratum.advisory_name $erratum.advisory_summary
-
-#end for
-
-#end for
-
-#end for
diff --git a/playpen/Telemetry/src/sample_reports/templates/SystemDetails.txt b/playpen/Telemetry/src/sample_reports/templates/SystemDetails.txt
deleted file mode 100644
index 54d2ac5..0000000
--- a/playpen/Telemetry/src/sample_reports/templates/SystemDetails.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-#from datetime import datetime
-System Details Report
-Report Date: $datetime.now().strftime("%Y-%m-%d:%H:%M:%S")
-
-Satellites:
-#for satellite in $satellites
- $satellite
-#end for
-
-#for system in $systems
-System ID: $system.id
-System Name: $system.name
-******************************************************************************************
-******************************************************************************************
-Entitlements:
-#for entitlement in $system.entitlements
- $entitlement.label
-#end for
-
-Groups:
-#for group in $system.groups
- $group.name
-#end for
-
-Base Channel:
- $system.basechannel.name, $system.basechannel.label
-
-Child Channels:
-#if len($system.childchannels) == 0
- None
-#else
-#for childchannel in $system.childchannels
- $childchannel.name, $childchannel.label
-#end for
-#end if
-
-#end for
diff --git a/playpen/Telemetry/src/sample_reports/templates/SystemsByPackage.txt b/playpen/Telemetry/src/sample_reports/templates/SystemsByPackage.txt
deleted file mode 100644
index 06b8ab1..0000000
--- a/playpen/Telemetry/src/sample_reports/templates/SystemsByPackage.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-#from datetime import datetime
-Systems By Package Report
-Report Date: $datetime.now().strftime("%Y-%m-%d:%H:%M:%S")
-
-Packages: $criteria
-
-Satellites:
-#for satellite in $satellites
- $satellite
-#end for
-
-#for system in $systems
-System ID: $system.id
-System Name: $system.name
-******************************************************************************************
-******************************************************************************************
-Packages:
-#for package in $system.packages
- $package.name-$package.version-$package.release
-#end for
-
-
-#end for
diff --git a/playpen/Telemetry/src/setup.cfg b/playpen/Telemetry/src/setup.cfg
deleted file mode 100644
index b0e0744..0000000
--- a/playpen/Telemetry/src/setup.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-[bdist_rpm]
-release = 2
-packager = Todd Sanders <tsanders(a)tredhat.com>
-requires = python >= 2.5
- python-cheetah
- PyYAML
- httpd >= 2.0
- mod_python >= 3.3
-
diff --git a/playpen/Telemetry/src/setup.py b/playpen/Telemetry/src/setup.py
deleted file mode 100755
index 1b480bb..0000000
--- a/playpen/Telemetry/src/setup.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-from distutils.core import setup
-import os
-
-# remove MANIFEST. distutils doesn't properly update it when the contents of directories change.
-if os.path.exists('MANIFEST'): os.remove('MANIFEST')
-
-setup(
- name = 'telemetry',
- version = '0.1',
- description = 'Report Engine for Spacewalk.',
- long_description = "Report Manager for XMLRPC data gathering from Spacewalk.",
- author = 'Todd Sanders',
- author_email = 'tsanders(a)redhat.com',
- platforms = 'linux',
- license = 'GPLv2',
- py_modules = [ 'telemetry' ],
- provides = [ 'telemetry' ],
- packages = ['telemetry_web'],
- package_data = {'telemetry_web': ['templates/*.html']},
- data_files = [('/usr/share/telemetry/config', ['sample_reports/config/systemDetails.conf', 'sample_reports/config/affectedSystems.conf', 'sample_reports/config/relevantErrata.conf', 'sample_reports/config/systemsByPackage.conf']),
- ('/usr/share/telemetry/scripts', ['sample_reports/scripts/systemDetailsReport.py', 'sample_reports/scripts/affectedSystemsReport.py', 'sample_reports/scripts/relevantErrataReport.py', 'sample_reports/scripts/systemsByPackageReport.py']),
- ('/usr/share/telemetry/templates', ['sample_reports/templates/SystemDetails.txt', 'sample_reports/templates/AffectedSystems.txt', 'sample_reports/templates/RelevantErrata.txt', 'sample_reports/templates/RelevantErrata.csv', 'sample_reports/templates/RelevantErrata.html', 'sample_reports/templates/SystemsByPackage.txt']),
- ('/usr/bin', ['telemetry']),
- ('/etc/telemetry', ['telemetry.conf']),
- ('/etc/telemetry', ['sudoers.telemetry']),
- ('/etc/httpd/conf.d', ['telemetry_web/telemetry.conf'])]
-
- )
diff --git a/playpen/Telemetry/src/sudoers.telemetry b/playpen/Telemetry/src/sudoers.telemetry
deleted file mode 100644
index 49bab3e..0000000
--- a/playpen/Telemetry/src/sudoers.telemetry
+++ /dev/null
@@ -1,5 +0,0 @@
-#TELEMETRY SETUP - ADDED
-#This file is used to grant permissions for the apache user to interact with the cron scheduler
-Cmnd_Alias MANAGE_CRONTAB = /usr/bin/crontab
-apache ALL=(root) NOPASSWD: MANAGE_CRONTAB
-Defaults:apache !requiretty
diff --git a/playpen/Telemetry/src/telemetry b/playpen/Telemetry/src/telemetry
deleted file mode 100755
index 3e6135e..0000000
--- a/playpen/Telemetry/src/telemetry
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/python
-
-#Wrapper for Telemetry
-
-import telemetry as app
-
-app.main()
diff --git a/playpen/Telemetry/src/telemetry.conf b/playpen/Telemetry/src/telemetry.conf
deleted file mode 100644
index bab5bf5..0000000
--- a/playpen/Telemetry/src/telemetry.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-#Telemetry Configuration
-
-#SMTP Server to use for sending email notifications, else, Telemetry will attempt to use sendmail.
-smtp_server: "smtp.corp.redhat.com"
-
-#If the SMTP Server requires authentication, supply the username & password
-smtp_username:
-smtp_password:
-
-from_address: "tsanders(a)redhat.com"
-subject_line: "Telemetry Report Notification"
-
-#System account to be used for scheduling operations
-cron_user: root
-
-#Directory to contain rendered reports
-report_directory: "/var/www/pub/"
-report_url: "http://localhost/pub/"
diff --git a/playpen/Telemetry/src/telemetry.py b/playpen/Telemetry/src/telemetry.py
deleted file mode 100644
index 23e2d2c..0000000
--- a/playpen/Telemetry/src/telemetry.py
+++ /dev/null
@@ -1,244 +0,0 @@
-#!/usr/bin/python
-
-import xmlrpclib
-import csv
-import sys
-import os
-import time
-from datetime import datetime
-import yaml
-import Cheetah.Template as Template
-import smtplib
-import getopt
-
-CONFIG_DIR = "/etc/telemetry/"
-CONFIG_FILE = "telemetry.conf"
-USER_TELEMETRY_DIR = "/usr/share/telemetry/"
-SUDOERS_FILE = "/etc/sudoers"
-
-def getReports():
- reports = []
- config_dir = USER_TELEMETRY_DIR + "config/"
- files = os.listdir(config_dir)
- for file in files:
- reports.append(Report(file))
- return reports
-
-def getConfig():
- config_file = os.path.join(CONFIG_DIR, CONFIG_FILE)
- f = open(config_file, 'r')
- return yaml.load(f)
-
-class Report():
-
- satellites = []
- api_versions = []
- templates = []
- name = None
- notifications = []
- config = None
- script = None
- description = None
- prefix = None
- criteria = []
- aggregate = False
-
-
- def __init__(self, config):
-
- # Open & parse Report Configuration file
- config_dir = USER_TELEMETRY_DIR + "config/"
- config_file = os.path.join(config_dir, config)
- f = open(config_file, 'r')
- parameters = yaml.load(f)
-
- self.satellites = parameters['satellites']
- self.api_versions = parameters['api_versions']
- self.templates = parameters['templates']
- self.name = parameters['name']
- self.script = parameters['script']
- self.description = parameters['description']
- if ('notifications' in parameters):
- self.notifications = parameters['notifications']
- self.prefix = parameters['prefix']
- if ('criteria' in parameters):
- self.criteria = parameters['criteria']
- self.aggregate = parameters['aggregate']
- self.config = config
-
- f.close()
-
- def connect(self):
-
- clients = []
-
- # Create connections to all Satellites
- for satellite in self.satellites:
-
- client = xmlrpclib.ServerProxy(satellite, verbose=0)
-
- # Validate API version
- api = client.api.getVersion()
-
- if (api in self.api_versions):
- clients.append(client)
- else:
- print "Error: API Version Mismatch."
- print "Satellite is: %s" % api
- print "%s will not be added." % satellite
-
- return clients
-
- def notify(self, report_name):
-
- config = getConfig()
-
- sender = config['from_address']
-
- # Initialize to list
- to = ''
- for address in self.notifications:
- to = to + address + ','
-
- subject = config['subject_line']
- text = 'Report Completed Successfully! -> ' + config['report_url'] + report_name
- headers = "From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" % (sender, to, subject)
- message = headers + text
-
- if (('smtp_server' in config) and (config['smtp_server'] != None)):
- # Use external mail server
- mailServer = smtplib.SMTP(config['smtp_server'])
-
- if (('smtp_username' in config) and (config['smtp_username'] != None)):
- # Authentication Required
- mailServer.login(config['smtp_username'], config['smtp_password'])
- else:
- # Use locally configured sendmail
- mailServer = smtplib.SMTP('localhost')
-
- mailServer.set_debuglevel(1)
- mailServer.sendmail(sender, to, message)
- mailServer.quit()
-
- def templatify(self, vars, type):
-
- template_dir = USER_TELEMETRY_DIR + "/templates/"
-
- # Retrieve Template from Type
- template_file = os.path.join(template_dir, self.templates[type])
-
- directory = getConfig()['report_directory']
-
- if not os.path.exists(directory):
- os.makedirs(directory)
-
- now = datetime.now().strftime("%Y-%m-%d:%H:%M:%S");
- report_name = "%s.%s.%s" % (self.prefix, now, type)
- report_file = os.path.join(directory, report_name)
-
- t = Template.Template(file=template_file, searchList=vars)
- open(report_file,"w").write(t.respond())
-
- #Send Report Notification
- if (len(self.notifications) > 0):
- self.notify(report_name)
-
-
-def main(argv=None):
-
- if argv is None:
- argv = sys.argv
- try:
- opts, args = getopt.getopt(argv[1:], "hs", ["help","setup"])
- except getopt.error, msg:
- print str(msg)
- usage()
- sys.exit()
-
- if (len(opts) == 0):
- usage()
- sys.exit()
-
- for o, a in opts:
- if o in ("-h", "--help"):
- usage()
- sys.exit()
- elif o in ("-s", "--setup"):
- setup()
- else:
- assert False, "unhandled option"
-
-def usage():
- usage = """
-telemetry:
-*************************************************************
--h --help Prints this
--s --setup Perform initial setup configuration
-"""
- print usage
-
-
-def setup():
-
- print "telemetry setup"
- #Grant apache sudo access to crontab for scheduling.
- updated = False
- f = open(SUDOERS_FILE, 'r')
-
- for line in f.readlines():
- if ("TELEMETRY" in line):
- updated = True
-
- if not updated:
- print "*updating sudoers"
- command = "cat /etc/telemetry/sudoers.telemetry >> /etc/sudoers"
-
- try:
- rc = os.system(command)
- except OSError, e:
- print >>sys.stderr, "Execution failed:", e
-
- if (rc >= 0):
- print "*update complete"
-
- else:
- print "*sudoers already updated.....skipping"
-
- #Verify Report Output directory exists and we can write to it.
- config = getConfig()
-
- if not os.path.exists(config['report_directory']):
- prompt = "*create output directory {%s}? [y] " % config['report_directory']
- response = raw_input(prompt)
-
- if ((response == "") or (response.lower() in "yes")):
- #Create output directory
- os.umask(0)
- os.makedirs(config['report_directory'],mode=0777)
-
- prompt = "*update apache configuration as well? [y]"
- reponse = raw_input(prompt)
-
- if ((response == "") or (response.lower() in "yes")):
- f = open("/etc/httpd/conf/httpd.conf", "a")
- config = """
-Alias /pub/ "%s"
-<Directory "%s">
- Options Indexes MultiViews FollowSymLinks
- AllowOverride None
- Order allow,deny
- Allow from all
-</Directory>
- """ % (config['report_directory'],config['report_directory'])
- f.write(config)
- f.close()
-
- print "*please restart httpd services"
- else:
- print "*output directory already exists.....skipping"
-
- print "*telemetry setup complete"
-
-
-if __name__ == "__main__":
- sys.exit(main())
diff --git a/playpen/Telemetry/src/telemetry_web/__init__.py b/playpen/Telemetry/src/telemetry_web/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/playpen/Telemetry/src/telemetry_web/manage.py b/playpen/Telemetry/src/telemetry_web/manage.py
deleted file mode 100755
index bcdd55e..0000000
--- a/playpen/Telemetry/src/telemetry_web/manage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/python
-from django.core.management import execute_manager
-try:
- import settings # Assumed to be in the same directory.
-except ImportError:
- import sys
- sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
- sys.exit(1)
-
-if __name__ == "__main__":
- execute_manager(settings)
diff --git a/playpen/Telemetry/src/telemetry_web/settings.py b/playpen/Telemetry/src/telemetry_web/settings.py
deleted file mode 100644
index 1345574..0000000
--- a/playpen/Telemetry/src/telemetry_web/settings.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# Django settings for telemetry_web project.
-
-DEBUG = True
-TEMPLATE_DEBUG = DEBUG
-
-ADMINS = (
- # ('Your Name', 'your_email(a)domain.com'),
-)
-
-MANAGERS = ADMINS
-
-DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-DATABASE_NAME = '' # Or path to database file if using sqlite3.
-DATABASE_USER = '' # Not used with sqlite3.
-DATABASE_PASSWORD = '' # Not used with sqlite3.
-DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
-DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
-
-# Local time zone for this installation. Choices can be found here:
-# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
-# although not all choices may be available on all operating systems.
-# If running in a Windows environment this must be set to the same as your
-# system time zone.
-TIME_ZONE = 'America/Chicago'
-
-# Language code for this installation. All choices can be found here:
-# http://www.i18nguy.com/unicode/language-identifiers.html
-LANGUAGE_CODE = 'en-us'
-
-SITE_ID = 1
-
-# If you set this to False, Django will make some optimizations so as not
-# to load the internationalization machinery.
-USE_I18N = True
-
-# Absolute path to the directory that holds media.
-# Example: "/home/media/media.lawrence.com/"
-MEDIA_ROOT = ''
-
-# URL that handles the media served from MEDIA_ROOT. Make sure to use a
-# trailing slash if there is a path component (optional in other cases).
-# Examples: "http://media.lawrence.com", "http://example.com/media/"
-MEDIA_URL = ''
-
-# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
-# trailing slash.
-# Examples: "http://foo.com/media/", "/media/".
-ADMIN_MEDIA_PREFIX = '/media/'
-
-# Make this unique, and don't share it with anybody.
-SECRET_KEY = '6zq1*c#qrzt(m#bv8ba4zv@f(ic%62=)0zq51iy3+&-g*_u5%^'
-
-# List of callables that know how to import templates from various sources.
-TEMPLATE_LOADERS = (
- 'django.template.loaders.filesystem.load_template_source',
- 'django.template.loaders.app_directories.load_template_source',
-# 'django.template.loaders.eggs.load_template_source',
-)
-
-MIDDLEWARE_CLASSES = (
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
-)
-
-ROOT_URLCONF = 'telemetry_web.urls'
-
-TEMPLATE_DIRS = (
- '/usr/lib/python2.5/site-packages/telemetry_web/templates'
-)
-
-INSTALLED_APPS = (
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.sites',
-)
diff --git a/playpen/Telemetry/src/telemetry_web/telemetry.conf b/playpen/Telemetry/src/telemetry_web/telemetry.conf
deleted file mode 100644
index 7cfc1d3..0000000
--- a/playpen/Telemetry/src/telemetry_web/telemetry.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-<Location "/telemetry">
- SetHandler python-program
- PythonHandler django.core.handlers.modpython
- SetEnv DJANGO_SETTINGS_MODULE telemetry_web/settings
- PythonDebug On
-</Location>
-
-PythonPath "['/usr/lib/python2.5/site-packages/telemetry_web', '/usr/lib/python2.5/site-packages/django'] + sys.path"
-
diff --git a/playpen/Telemetry/src/telemetry_web/templates/index.html b/playpen/Telemetry/src/telemetry_web/templates/index.html
deleted file mode 100644
index b4266a0..0000000
--- a/playpen/Telemetry/src/telemetry_web/templates/index.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><title>Telemetry</title>
-<body>
-<H1>Telemetry</H1>
-<a href="./reports/">Report List</a>
-</body>
-</html>
diff --git a/playpen/Telemetry/src/telemetry_web/templates/list_reports.html b/playpen/Telemetry/src/telemetry_web/templates/list_reports.html
deleted file mode 100644
index 6f6a77d..0000000
--- a/playpen/Telemetry/src/telemetry_web/templates/list_reports.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><title>Telemetry - Report List</title>
-<body>
-<H1>Report List</H1>
-
-<p>
-{% for report in reports %}
-<p><a href=reportdetails?config={{report.config}}>{{report.name}}</a></p>
-{% endfor %}
-</p>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/playpen/Telemetry/src/telemetry_web/templates/report_details.html b/playpen/Telemetry/src/telemetry_web/templates/report_details.html
deleted file mode 100644
index 79f2756..0000000
--- a/playpen/Telemetry/src/telemetry_web/templates/report_details.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<html><title>Telemetry - Report Details</title>
-<body>
-<H1>Report Details</H1>
-
-<table border=1 cellspacing=4 cellpadding=4>
-<tr><td>Report Name:</td><td>{{report.name}}</td></tr>
-<tr><td>Report Description:</td><td>{{report.description}}</td></tr>
-<tr><td>Report Script:</td><td>{{report.script}}</td></tr>
-<tr><td>Report Directory:</td><td>{{report.directory}}</td></tr>
-<tr><td>Report Prefix:</td><td>{{report.prefix}}</td></tr>
-<tr><td>Satellites:</td><td>
-{% for satellite in report.satellites %}
-{{satellite}}<br>
-{% endfor %}</td></tr>
-<tr><td>Aggregate Data:</td><td>{{report.aggregate}}</td></tr>
-<tr><td>Templates:</td><td>
-{% for template in report.templates.items %}
-{{template.1}}<br>
-{% endfor %}</td></tr>
-<form method="Post" action="../reportresults/">
-<tr><td valign="top">Scheduled:</td><td>
-{% for cron in crons %}
-{{cron.0}} <button type="submit" name="delete" value="{{cron.1}}">Delete</button><br>
-{% endfor %}
-
-
-</td></tr>
-</table>
-<br>
-<br>
-
-<input type="hidden" name="config" value={{report.config}}>
-<table>
-<tr><td>Username:</td><td><input type="text" name="username" length=8></td></tr>
-<tr><td>Password:</td><td><input type="password" name="password" length=8></td></tr>
-<tr><td></td><td></td></tr>
-{% for criterion in report.criteria %}
-{% ifequal criterion.type "csv" %}
-<tr><td valign=top>{{criterion.name}}:</td><td><textarea name="{{criterion.label}}" cols={{criterion.cols}} rows={{criterion.rows}}></textarea></td></tr>
-{% endifequal %}
-{% endfor %}
-</table><br>
-
-
-
-{% for template in report.templates %}
-<input type="radio" name="type" value={{template}} checked>{{template}}<br>
-{% endfor %}<br>
-<button type="submit">Run Report</button>
-<p>
-<hr width=25% align="left">
-<p>
-<table>
-<tr><td>Frequency:</td><td><select><option>Daily</option></select></td></tr>
-<tr><td>@</td></tr>
-<tr><td>Hour:</td><td><input type="text" name="hour" size=4></td></tr>
-<tr><td>Minute:</td><td><input type="text" name="minute" size=4></td></tr>
-</table><br>
-<button type="submit" name="schedule" value="1">Schedule</button>
-</form>
-<br><br>
-<a href="../">Back to Report List</a>
-</body>
-</html>
\ No newline at end of file
diff --git a/playpen/Telemetry/src/telemetry_web/templates/report_results.html b/playpen/Telemetry/src/telemetry_web/templates/report_results.html
deleted file mode 100644
index a63e5b4..0000000
--- a/playpen/Telemetry/src/telemetry_web/templates/report_results.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html><title>Telemetry - Report Results</title>
-<body>
-<H1>Report Results</H1>
-
-Your Report was executed successfully. <br><br>
-
-Execution Time:<br>
-{{time}} sec(s)<br><br>
-
-
-Report Listing:<br><br>
-
-{% for file in files %}
-<a href="{{config.report_url}}{{file}}">{{file}}</a> <br>
-{% endfor %}
-
-<br><br>
-<a href="../">Back to Report List</a>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/playpen/Telemetry/src/telemetry_web/urls.py b/playpen/Telemetry/src/telemetry_web/urls.py
deleted file mode 100644
index 9addb1c..0000000
--- a/playpen/Telemetry/src/telemetry_web/urls.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from django.conf.urls.defaults import *
-from telemetry_web.views import *
-
-urlpatterns = patterns('',
- (r'^telemetry/reports[/]$', list_reports),
- (r'^telemetry/reports/reportdetails[/]$', report_details),
- (r'^telemetry/reports/reportresults[/]$', report_results),
- (r'^telemetry[/]$', index_view)
-)
diff --git a/playpen/Telemetry/src/telemetry_web/views.py b/playpen/Telemetry/src/telemetry_web/views.py
deleted file mode 100644
index 9a76153..0000000
--- a/playpen/Telemetry/src/telemetry_web/views.py
+++ /dev/null
@@ -1,122 +0,0 @@
-from django.template.loader import get_template
-from django.template import Context
-from django.http import HttpResponse
-from django.http import HttpResponsePermanentRedirect
-from crontab import CronTab
-import yaml
-import datetime
-import time
-import os
-import glob
-import sys
-import uuid
-import telemetry
-
-def index_view(request):
- t = get_template("index.html")
- html = t.render(Context())
- return HttpResponse(html)
-
-
-def list_reports(request):
-
- t = get_template("list_reports.html")
-
- html = t.render(Context({'reports': telemetry.getReports()}))
-
- return HttpResponse(html)
-
-
-def report_details(request):
-
- report = telemetry.Report(request.GET['config'])
-
- c = CronTab(user=telemetry.getConfig()['cron_user'], sudo=True)
- crons = c.find_command(report.script)
- data = []
-
- for cron in crons:
- data.append(cron.render().split('# '))
-
- t = get_template("report_details.html")
-
- html = t.render(Context({'report': report, 'crons': data}))
-
- return HttpResponse(html)
-
-def report_results(request):
-
- config = telemetry.getConfig()
- scripts_dir = telemetry.USER_TELEMETRY_DIR + "scripts"
- config_dir = telemetry.USER_TELEMETRY_DIR + "config"
-
- report = telemetry.Report(request.POST['config'])
-
- report_config = request.POST['config']
- username = request.POST['username']
- password = request.POST['password']
- type = request.POST['type']
-
- command = "%s %s %s %s %s" % (os.path.join(scripts_dir, report.script), report_config, type, username, password)
-
- # Append Criteria
- for criterion in report.criteria:
- if (request.POST.has_key(criterion['label'])):
- command = command + " " + request.POST[criterion['label']]
-
- # Redirect if schedule button was clicked...
- if (request.POST.has_key('schedule') and request.POST['schedule']):
-
- t = CronTab(user=config['cron_user'], sudo=True)
-
- try:
- n = t.new(command=command,comment=str(uuid.uuid4()))
- n.minute().on(int(request.POST['minute']))
- n.hour().on(int(request.POST['hour']))
-
- #print unicode(t.render())
-
- t.write()
-
- except (ValueError):
- pass
-
-
- url = "../reportdetails?config=%s" % report_config
-
- return HttpResponsePermanentRedirect(url)
-
- if (request.POST.has_key('delete') and request.POST['delete']):
-
- t = CronTab(user=config['cron_user'], sudo=True)
- print unicode(t.render())
-
- crons = t.find_command(report.script)
-
- for cron in crons:
- if (cron.meta() == request.POST['delete']):
- t.remove(cron)
- t.write()
-
- url = "../reportdetails?config=%s" % report_config
- return HttpResponsePermanentRedirect(url)
-
- t1 = time.time()
- rc = os.system(command)
- t2 = time.time()
- timeTaken = t2 - t1
-
- t = get_template("report_results.html")
-
- os.chdir(config['report_directory'])
- ext = "%s*.%s" % (str(report.prefix), str(type))
- l = [(os.stat(i).st_mtime, i) for i in glob.glob(ext)]
- l.sort()
- files = [i[1] for i in l]
- files.reverse()
-
- html = t.render(Context({'type': type, 'files': files, 'time': timeTaken, 'config': config}))
-
- return HttpResponse(html)
-
-
\ No newline at end of file
diff --git a/playpen/spacewalk-repo-sync/reposync.py b/playpen/spacewalk-repo-sync/reposync.py
deleted file mode 100644
index 3beb7f8..0000000
--- a/playpen/spacewalk-repo-sync/reposync.py
+++ /dev/null
@@ -1,30 +0,0 @@
-import sys
-
-from optparse import Option, OptionParser
-
-
-class Runner:
-
- repo = "http://download.fedora.redhat.com/pub/fedora/linux/releases/10/Fedora/i38..."
-
-
- def main():
- print "running"
-
-
-
-
-
- def processCommandLine:
- log2disk(-1, "Commandline: %s" % repr(sys.argv))
- optionsTable = [
-
-
-
-
-
-
-
-
- ]
-
diff --git a/playpen/spacewalk-repo-sync/spacewalk-repo-sync b/playpen/spacewalk-repo-sync/spacewalk-repo-sync
deleted file mode 100755
index b7187e8..0000000
--- a/playpen/spacewalk-repo-sync/spacewalk-repo-sync
+++ /dev/null
@@ -1,210 +0,0 @@
-#!/usr/bin/python
-#
-# Script to synchronize RHN meta data between Red Hat and a local RHN Satellite.
-#
-# Copyright (c) 2008 Red Hat, Inc.
-#
-# This software is licensed to you under the GNU General Public License,
-# version 2 (GPLv2). There is NO WARRANTY for this software, express or
-# implied, including the implied warranties of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
-# along with this software; if not, see
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
-#
-# Red Hat trademarks are not licensed under GPLv2. No permission is
-# granted to use or replicate Red Hat trademarks that are incorporated
-# in this software or its documentation.
-#
-
-# For return codes see bottom of this file
-
-if __name__ != '__main__':
- raise ImportError, "module cannot be imported"
-
-import sys
-def systemExit(code, msgs=None):
- "Exit with a code and optional message(s). Saved a few lines of code."
-
- if msgs:
- if type(msgs) not in [type([]), type(())]:
- msgs = (msgs, )
- for msg in msgs:
- sys.stderr.write(str(msg)+'\n')
- sys.exit(code)
-
-
-try:
- import os
- import socket
-except KeyboardInterrupt:
- systemExit(0, "\nUser interrupted process.")
-
-
-_LIBPATH = "/usr/share/rhn"
-# add to the path if need be
-if _LIBPATH not in sys.path:
- sys.path.append(_LIBPATH)
-
-# quick check to see if you are a super-user.
-if os.getuid() != 0:
- sys.stderr.write('ERROR: must be root to execute\n')
- sys.exit(8)
-
-
-try:
- from common import rhnLockfile, CFG, fetchTraceback
-except KeyboardInterrupt:
- systemExit(0, "\nUser interrupted process.")
-except ImportError:
- sys.stderr.write("Unable to find RHN code tree.\n"
- "Path not correct? '%s'\n" % _LIBPATH)
- raise
-
-
-### acquire lock/check for other instances of satellite-sync
-# i.e., lock against multiple instances of satellite-sync
-LOCK = None
-try:
- LOCK = rhnLockfile.Lockfile('/var/run/satellite-repo-sync.pid')
-except rhnLockfile.LockfileLockedException:
- systemExit(1, "SYNC ERROR: attempting to run more than one instance of satellite-sync. Exiting.")
-
-try:
- # NOTE: importing satsync will initialize the logs and CFG
- from satellite_tools import satsync, syncLib
-except KeyboardInterrupt:
- systemExit(0, "\nUser interrupted process.")
-except ImportError, e:
- systemExit(2, "Unable to find synchronization tools.\n"
- "Error: %s" % e)
-
-
-def repr_str(e):
- """ return a repr(e), str(e) string safely
- Will return something like:
- '''
- ...repr(e)...
- ...str(e)...'''
- """
-
- s = ''
-
- hasReprYN = hasattr(e, '__repr__')
- hasStrYN = hasattr(e, '__str__')
-
- if hasReprYN and hasStrYN and e.__repr__ == e.__str__:
- s = '\n%s' % repr(e)
- else:
- if hasReprYN:
- s = '\n%s' % repr(e)
- if hasStrYN:
- s = s + '\n%s' % str(e)
- return s
-
-
-def systemExit_exception(code, msgs, e):
- """ Exit with a code. Message will head exception info.
- Traceback will be added to email log and written to disk.
- Email log is sent.
- """
-
- header = ''
- if msgs:
- if type(msgs) not in [type([]), type(())]:
- msgs = (msgs, )
- for msg in msgs:
- header = header + str(msg) + '\n'
- header = header + '\n'
-
- ## write to disk (log file) and email
- tb = header + fetchTraceback()
- syncLib.log2disk(-1, tb)
- # force the whole email thing
- syncLib.initEMAIL_LOG()
- syncLib.log2email(-1, tb)
-
- ## write to stderr, send the email, and exit
- stderrmsg = header + "(Check logs/email for potentially more detail)\n" + \
- repr_str(e) + '\n'
- satsync.sendMail(forceEmail=1)
- systemExit(code, stderrmsg)
-
-
-def releaseLOCK():
- global LOCK
- if LOCK:
- LOCK.release()
-
-
-def main():
- # execute
- try:
- return satsync.Runner().main()
- except KeyboardInterrupt:
- systemExit(0, "\nUser interrupted process.")
- except SystemExit:
- satsync.sendMail()
- raise
- except socket.error, e:
- msg = "\nERROR: a general socket occurred:"
- systemExit_exception(3, msg, e)
- except socket.sslerror, e:
- msg = ("""
-ERROR: an SSL error occurred. Recheck your SSL settings. Those settings may
- include URL's, SSL Certificate settings, firewall rules, etc..
- Also, check that your system time has not drifted! Time drift is one
- of the primary reasons for SSL connection failures.""")
- systemExit_exception(4, msg, e)
- except syncLib.RhnSyncException, e:
- msg = "\nSYNC ERROR:"
- systemExit_exception(5, msg, e)
- except Exception, e:
- msg = "\nSYNC ERROR: unhandled exception occurred:"
- systemExit_exception(6, msg, e)
-
- releaseLOCK()
- return 0
-
-
-if __name__ == '__main__':
- try:
- sys.exit(abs(main() or 0))
- except KeyboardInterrupt:
- systemExit(0, "\nUser interrupted process.")
- except SystemExit, e:
- releaseLOCK()
- sys.exit(e.code)
- except Exception, e:
- releaseLOCK()
- systemExit_exception(7, "SYNC ERROR: attempting to display as much information as possible:", e)
-
-
-#Returned codes means:
-#-1 Could not lock file or KeyboardInterrupt or SystemExit
-#0 User interrupted process.
-#1 attempting to run more than one instance of satellite-sync.
-#2 Unable to find synchronization tools.
-#3 a general socket occurred
-#4 an SSL error occurred. Recheck your SSL settings.
-#5 RHN error
-#6 unhandled exception occurred
-#7 unknown sync error
-#8 ERROR: must be root to execute
-#9 rpclib fault during synchronization init
-#10 synchronization init error
-#11 Error parsing XML stream
-#12 Channel do not exist
-#13 SQL error during importing package metadata
-#14 SQL error during linking channel packages
-#15 SQL error during xml processing
-#16 server.mount_point not set in the configuration file
-#17 SQL error during retrieving the channels already imported in the satellite's database
-#18 Wrong db connection string in rhn.conf
-#19 Bad arguments
-#20 Could not connect to db.
-#21 Bad debug level
-#22 Not valid step
-#23 error: --rhn-cert requires --mount-point
-#24 no such file
-#25 no such directory
-
diff --git a/playpen/spacewalk-repo-sync/test.py b/playpen/spacewalk-repo-sync/test.py
deleted file mode 100755
index dbb45f1..0000000
--- a/playpen/spacewalk-repo-sync/test.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/python
-import sys
-import os.path
-import yum
-from yum import config
-
-_LIBPATH = "/usr/share/rhn"
-# add to the path if need be
-if _LIBPATH not in sys.path:
- sys.path.append(_LIBPATH)
-
-from server.rhnServer import server_packages
-from server.rhnLib import get_package_path
-from common import CFG, initCFG, rhn_rpm
-
-
-initCFG('server.satellite');
-
-
-# THESE WILL BECOME CONFIG OPTIONS
-name = "satellite-fedora-9"
-org_id = 1
-
-repo = yum.yumRepo.YumRepository(name)
-#repo.baseurl = ['http://download.fedora.redhat.com/pub/fedora/linux/releases/10/Fedora/i38...']
-repo.baseurl = ['http://download.fedora.redhat.com/pub/fedora/linux/releases/9/Fedora/i386...']
-repo.baseurlSetup()
-repo.basecachedir = "./cache/"
-repo.setup(False)
-sack = repo.getPackageSack()
-sack.populate(repo, 'metadata', None, 0)
-
-list = sack.returnPackages()
-
-if not os.path.exists(repo.hdrdir):
- os.makedirs(repo.hdrdir)
-
-
-for pack in list:
- repo.getHeader(pack)
- hdrPath = pack.localHdr()
- hdrFile = open(hdrPath, "rb")
- nvrea = [pack.name, pack.epoch, pack.version, pack.release, pack.arch]
- hdr = hdrFile.read()
-
- rpm = rhn_rpm.RPM_Header(hdr)
- print rpm.signatures
- print pack.returnIdSum()
- break
- #path = get_package_path(nevra, org_id, prepend=CFG.PREPENDED_DIR,
- # source=0, md5sum=md5sum)
- #does file exist?
- #it does, is its md5sum correct?
- #then push the file to the filesystem
-
-
-
- #rhnServer.server_packages.processPackageKeyAssociation( hdr, pack.checksums)
-
-
-
diff --git a/playpen/spacewalk-repo-sync/upload.py b/playpen/spacewalk-repo-sync/upload.py
deleted file mode 100644
index f7217d0..0000000
--- a/playpen/spacewalk-repo-sync/upload.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/python
-import sys
-import os.path
-import yum
-from yum import config
-
-_LIBPATH = "/usr/share/rhn"
-# add to the path if need be
-if _LIBPATH not in sys.path:
- sys.path.append(_LIBPATH)
-
-from server.rhnLib import get_package_path
-from common import CFG, initCFG
-
-
-
-initCFG('server.satellite')
-
-
-get_package_pathh(nevra, org_id, prepend=CFG.PREPENDED_DIR,
- source=source, md5sum=md5sum)
-
-
-
-
12 years, 3 months