Changes to 'refs/tags/spacewalk-utils-2.1.3-1'
by Grant Gainey
Tag 'spacewalk-utils-2.1.3-1' created by Grant Gainey <ggainey(a)redhat.com> at 2013-08-05 17:38 +0000
Tagging package [spacewalk-utils] version [2.1.3-1] in directory [utils/].
Changes since spacewalk-java-2.1.11-1:
Grant Gainey (2):
993254 - Script to enable us to purge audit-log tables
Automatic commit of package [spacewalk-utils] release [2.1.3-1].
---
rel-eng/packages/spacewalk-utils | 2
utils/spacewalk-archive-audits | 213 ++++++++++++++++++++++++++++++++++++
utils/spacewalk-archive-audits.sgml | 98 ++++++++++++++++
utils/spacewalk-utils.spec | 5
4 files changed, 316 insertions(+), 2 deletions(-)
---
10 years, 9 months
rel-eng/packages utils/spacewalk-utils.spec
by Grant Gainey
rel-eng/packages/spacewalk-utils | 2 +-
utils/spacewalk-utils.spec | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 2beb38791199a2fa94863f6780560f5c71993c4c
Author: Grant Gainey <ggainey(a)redhat.com>
Date: Mon Aug 5 13:38:26 2013 -0400
Automatic commit of package [spacewalk-utils] release [2.1.3-1].
diff --git a/rel-eng/packages/spacewalk-utils b/rel-eng/packages/spacewalk-utils
index 1f1d69a..415dbea 100644
--- a/rel-eng/packages/spacewalk-utils
+++ b/rel-eng/packages/spacewalk-utils
@@ -1 +1 @@
-2.1.2-1 utils/
+2.1.3-1 utils/
diff --git a/utils/spacewalk-utils.spec b/utils/spacewalk-utils.spec
index bd43d51..19d0292 100644
--- a/utils/spacewalk-utils.spec
+++ b/utils/spacewalk-utils.spec
@@ -1,7 +1,7 @@
%define rhnroot %{_prefix}/share/rhn
Name: spacewalk-utils
-Version: 2.1.2
+Version: 2.1.3
Release: 1%{?dist}
Summary: Utilities that may be run against a Spacewalk server.
@@ -88,6 +88,9 @@ spacewalk-pylint $RPM_BUILD_ROOT%{rhnroot}
%changelog
+* Mon Aug 05 2013 Grant Gainey <ggainey(a)redhat.com> 2.1.3-1
+- 993254 - Script to enable us to purge audit-log tables
+
* Wed Jul 31 2013 Tomas Kasparek <tkasparek(a)redhat.com> 2.1.2-1
- adding 2.0 repositories to spacewalk-common-channels
10 years, 9 months
utils/spacewalk-archive-audits utils/spacewalk-archive-audits.sgml
by Grant Gainey
utils/spacewalk-archive-audits | 213 ++++++++++++++++++++++++++++++++++++
utils/spacewalk-archive-audits.sgml | 98 ++++++++++++++++
2 files changed, 311 insertions(+)
New commits:
commit 9868543d14407e287d65edcc5fa52a6141f004ab
Author: Grant Gainey <ggainey(a)redhat.com>
Date: Mon Aug 5 13:37:56 2013 -0400
993254 - Script to enable us to purge audit-log tables
diff --git a/utils/spacewalk-archive-audits b/utils/spacewalk-archive-audits
new file mode 100755
index 0000000..8000a1e
--- /dev/null
+++ b/utils/spacewalk-archive-audits
@@ -0,0 +1,213 @@
+#!/usr/bin/python
+#
+# Utility for archiving/purging audit-log tables
+#
+# Copyright (c) 2013 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.
+#
+
+"""spacewalk-archive-audits - a tool for extracting and purging the _log tables in the SW database"""
+
+import csv
+import os
+import sys
+
+from os import getenv
+from optparse import OptionParser, OptionGroup
+from csv import writer
+from datetime import datetime
+
+try:
+ from spacewalk.common import rhnLog
+ from spacewalk.common.rhnConfig import CFG, initCFG
+ from spacewalk.common.rhnLog import LOG, log_clean
+ from spacewalk.server import rhnSQL
+except ImportError:
+ # pylint: disable=F0401
+ _LIBPATH = '/usr/share/rhn'
+ if _LIBPATH not in sys.path:
+ sys.path.append(_LIBPATH)
+ from server import rhnSQL
+ from common import rhnLog
+ from common.rhnLog import LOG, log_clean
+ from common.rhnConfig import CFG, initCFG
+
+LOG_LOCATION = '/var/log/rhn/archive-audit-tables.log'
+LOG_COLS = ['id', 'stamp', 'user_id']
+
+SQL_PIECES = {'oracle': {
+ 'COUNT' : 'select count(*) from {0};',
+ 'FIND_COLS' : "select column_name from user_tab_columns where table_name = :table;",
+ 'FIND_TABLE' : "select table_name from user_tables where table_name like '%!_LOG' escape '!';",
+ 'GET_DATA' : "select {0}, {1} from {2} t inner join log l on l.id = t.log_id where l.stamp <= to_date(:tstamp, 'YYYY-MM-DD hh24:mi:ss') order by l.id;",
+ 'PURGE_DATA' : """
+ delete {0}
+ where exists (
+ select *
+ from log l
+ where l.id = {0}.log_id
+ and l.stamp <= to_date(:tstamp, 'YYYY-MM-DD hh24:mi:ss')
+ );
+ """,
+ 'PURGE_LOG_DATA' : "delete from log l where l.stamp <= to_date(:tstamp, 'YYYY-MM-DD hh24:mi:ss');"
+ },
+ 'postgresql' : {
+ 'COUNT' : 'select count(*) from {0};',
+ 'FIND_COLS' : 'select column_name from information_schema.columns where table_name = :table;',
+ 'FIND_TABLE' : "select table_name from information_schema.tables where table_name like '%\_log';",
+ 'GET_DATA' : 'select {0}, {1} from {2} t inner join log l on l.id = t.log_id where l.stamp <= (timestamp :tstamp) order by l.id;',
+ 'PURGE_DATA' : 'delete from {0} t using log l where l.id = t.log_id and l.stamp <= (timestamp :tstamp);',
+ 'PURGE_LOG_DATA' : 'delete from log l where l.stamp <= (timestamp :tstamp);'
+ }
+ }
+
+def setup_options():
+ usage = 'usage: %prog --list --archive --purge --timestamp'
+ parser = OptionParser(usage=usage)
+
+ parser.add_option('-l', '--list', action='store_true', dest='list',
+ help='list number of log entries before --timestamp (or current size if --timestamp not specified), of all *_log tables')
+ parser.add_option('-a', '--archive', action='store_true', default=False, dest='archive',
+ help='archive as CSV the contents of all *_log tables')
+ parser.add_option('-p', '--purge', action='store_true', dest='purge',
+ help='purge all entries made on or before --timestamp')
+ parser.add_option('-t', '--timestamp', action='store', dest='purge_date', metavar='YYYY-MM-DD hh24:mi:ss',
+ help='all entries made at or before this time will be purged')
+
+ return parser
+
+def validate_options():
+ parser = setup_options()
+ (options, args) = parser.parse_args()
+ if not (options.list or options.archive or options.purge):
+ parser.error("At least one of --list, --archive, --purge is required")
+
+ if (options.archive or options.purge) and not options.purge_date:
+ parser.error("--timestamp is required for --archive and --purge")
+
+ return (options, args)
+
+def _log(stmt):
+ log_clean(0, '%s|%s|%s' % (datetime.now().isoformat(), os.getenv("SUDO_USER"), stmt))
+
+def _get_sql(key):
+ return SQL_PIECES.get(CFG.DB_BACKEND).get(key)
+
+def _get_allcols(name):
+ all_cols = []
+ all_cols.extend(['l'+x for x in LOG_COLS])
+ all_cols.extend(columns(name))
+ return all_cols
+
+def _get_data_statement(name):
+ data_stmt = _get_sql('GET_DATA').format(
+ ', '.join(['l.'+x+' l'+x for x in LOG_COLS]),
+ ', '.join(['t.'+x for x in columns(name)]),
+ name)
+ return data_stmt
+
+def tables():
+ """What are the tables whose names fit the pattern *_log?"""
+ stmt = rhnSQL.execute(_get_sql('FIND_TABLE'))
+ table_names = stmt.fetchall() or []
+ rc = []
+ for name in table_names:
+ rc.append(name[0])
+ return rc
+
+def columns(tbl):
+ """What are the columns of table <tbl>?"""
+ stmt = rhnSQL.execute(_get_sql('FIND_COLS'), table=tbl)
+ col_names = stmt.fetchall() or []
+ rc = []
+ for name in col_names:
+ rc.append(name[0])
+ return rc
+
+def count(tbl):
+ """How many rows are in table <tbl>?"""
+ tbl_str = _get_sql('COUNT').format(tbl)
+ stmt = rhnSQL.execute(tbl_str)
+ num_rows = stmt.fetchone()
+ return num_rows[0]
+
+def list(opt):
+ """List current state of all *_log tables found"""
+ names = tables()
+ for name in names:
+ print '%32s : %d' % (name, count(name))
+
+def archive(opt):
+ """Grab the requested data and store it in a .csv file 'here'"""
+ _log('Archiving everything before ' + opt.purge_date)
+ names = tables()
+ for name in names:
+ rows = 0
+ with open(name+'.'+datetime.now().isoformat()+'.csv', 'wb') as f:
+ writer = csv.writer(f)
+ hdr_names = _get_allcols(name)
+ writer.writerow(hdr_names)
+ stmt = rhnSQL.execute(_get_data_statement(name), tstamp=opt.purge_date)
+ rslts = None
+ while 1:
+ rslts = stmt.fetchone_dict()
+ if not rslts:
+ break
+ row = []
+ for col in hdr_names:
+ row.append(rslts.get(col))
+ writer.writerow(row)
+ rows += 1
+ print '%32s : %d rows archived' % (name, rows)
+
+def purge(opt):
+ """Remove from the _log tables anything that happened before <timestamp>"""
+ _log('Purging everything before ' + opt.purge_date)
+ names = tables()
+ for name in names:
+ del_str = _get_sql('PURGE_DATA').format(name)
+ stmt = rhnSQL.execute(del_str, tstamp=opt.purge_date)
+ print '%32s : %s rows remain' % (name, count(name))
+ _log('%32s : %s rows remain' % (name, count(name)))
+ rhnSQL.execute(_get_sql('PURGE_LOG_DATA'), tstamp=opt.purge_date)
+ return
+
+if __name__ == '__main__':
+ (options, args) = validate_options()
+ initCFG('server')
+ rhnSQL.initDB()
+
+ if options.list:
+ list(options)
+ sys.exit(0)
+
+ rhnLog.initLOG(LOG_LOCATION)
+ if rhnLog.LOG.real == 0:
+ print "Failed to access logfile " + LOG_LOCATION + " - exiting..."
+ print "(Try running as sudo)"
+ sys.exit(1)
+
+ if options.archive:
+ print 'Archiving...'
+ archive(options)
+
+ if options.purge:
+ print 'Starting counts:'
+ list(options)
+ print '...archiving'
+ rhnSQL.transaction('PURGE')
+ archive(options)
+ print '...purging'
+ purge(options)
+ rhnSQL.commit();
diff --git a/utils/spacewalk-archive-audits.sgml b/utils/spacewalk-archive-audits.sgml
new file mode 100644
index 0000000..5f007df
--- /dev/null
+++ b/utils/spacewalk-archive-audits.sgml
@@ -0,0 +1,98 @@
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN"
+>
+<refentry>
+
+<RefMeta>
+<RefEntryTitle>spacewalk-archive-audits</RefEntryTitle><manvolnum>8</manvolnum>
+<RefMiscInfo>Version 1.0</RefMiscInfo>
+</RefMeta>
+
+<RefNameDiv>
+<RefName><command>spacewalk-archive-audits</command></RefName>
+<RefPurpose>
+Archive and purge the audit-logging tables introduced with Spacewalk 2.0
+</RefPurpose>
+</RefNameDiv>
+
+<RefSynopsisDiv>
+<Synopsis>
+ <cmdsynopsis>
+ <command>spacewalk-archive-audits</command>
+ <arg>options <replaceable>...</replaceable></arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <arg>-l</arg>
+ <arg> --list</arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <arg>-a</arg>
+ <arg>--archive</arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <arg>-p</arg>
+ <arg>--purge</arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <arg>-t<replaceable> YYYY-MM-DD hh24:mi:ss</replaceable></arg>
+ <arg>-timestamp=<replaceable>YYYY-MM-DD hh24:mi:ss</replaceable></arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <arg>-h</arg><arg>--help</arg>
+ </cmdsynopsis>
+</Synopsis>
+</RefSynopsisDiv>
+
+<RefSect1><Title>Description</Title>
+ <para>
+ <emphasis>spacewalk-archive-audits</emphasis> archives and purges the audit-logging tables enabled in the spacewalk instance on which the command is executed
+ </para>
+ <para>
+ Since audit-entries grow over time, this command is provided to give the spacewalk administrator a tool to cull old table-entries while preserving them for historical reporting.
+ </para>
+ <para>
+ When --archive or --purge are chosen, an entry is made to /var/log/rhn/archive-audit-tables.log with the action, timestamp, and results.
+ </para>
+</RefSect1>
+
+<RefSect1><Title>Options</Title>
+<variablelist>
+ <varlistentry>
+ <term>-h, --help</term>
+ <listitem>
+ <para>Display the help screen with a list of options.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-l, --list </term>
+ <listitem>
+ <para> List the current sizes of all *_log tables found in the Spacewalk database</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-a, --archive</term>
+ <listitem>
+ <para>Archives all entries occurring before --timestamp-specified time, into files named TABLENAME.CURRENT-TIMESTAMP.csv
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-p, --purge</term>
+ <listitem>
+ <para>Deletes all audit-entries occurring before --timestamp-specified time
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-l=<replaceable> YYYY-MM-DD hh24:mi:ss</replaceable>, --timestamp=<replaceable>YYYY-MM-DD hh24:mi:ss</replaceable></term>
+ <listitem>
+ <para>Specifies the most-recent timestamp to --archive or --purge. Any/all entries made <emphasis>before</emphasis> this mark will be recorded and/or deleted. Required for --archive and --purge.</para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</RefSect1>
+
+<RefSect1><Title>Authors</Title>
+<simplelist>
+ <member>Grant Gainey <email>ggainey(a)redhat.com</email></member>
+</simplelist>
+</RefSect1>
+</RefEntry>
+
10 years, 9 months
Changes to 'refs/tags/spacewalk-java-2.1.11-1'
by Šimon Lukašík
Tag 'spacewalk-java-2.1.11-1' created by Simon Lukasik <slukasik(a)redhat.com> at 2013-08-05 15:18 +0000
Tagging package [spacewalk-java] version [2.1.11-1] in directory [java/].
Changes since spacewalk-java-2.1.10-1:
Simon Lukasik (2):
Trim line longer than 92 characters.
Automatic commit of package [spacewalk-java] release [2.1.11-1].
---
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 3 ++-
java/spacewalk-java.spec | 5 ++++-
rel-eng/packages/spacewalk-java | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
---
10 years, 9 months
java/spacewalk-java.spec rel-eng/packages
by Šimon Lukašík
java/spacewalk-java.spec | 5 ++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit ffc156408a49c33b2c1fe89a68b7ccf8d9034bfa
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Mon Aug 5 17:18:40 2013 +0200
Automatic commit of package [spacewalk-java] release [2.1.11-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 160d941..b420b58 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.10
+Version: 2.1.11
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -771,6 +771,9 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Mon Aug 05 2013 Simon Lukasik <slukasik(a)redhat.com> 2.1.11-1
+- Trim line longer than 92 characters.
+
* Mon Aug 05 2013 Simon Lukasik <slukasik(a)redhat.com> 2.1.10-1
- Introduce API: org.setPolicyForScapResultDeletion()
- Introduce API: org.setPolicyForScapFileUpload()
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 0ea2608..3c9bacf 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.10-1 java/
+2.1.11-1 java/
10 years, 9 months
java/code
by Šimon Lukašík
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit e4a7f7dbd05b441a3b52d68e6defd7466431bfdd
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Mon Aug 5 17:18:12 2013 +0200
Trim line longer than 92 characters.
Addressing checkstyle.
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
index 9a3fe9a..99b6142 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -742,7 +742,8 @@ public class KickstartFormatter {
}
String up2datehost = REDHAT_MGMT_SERVER;
- //check if server going through Spacewalk Proxy, if so, register through proxy instead
+ //check if server going through Spacewalk Proxy,
+ //if so, register through proxy instead
if (this.session != null &&
this.session.getSystemRhnHost() != null &&
!this.session.getSystemRhnHost().equals("unknown")) {
10 years, 9 months
Changes to 'refs/tags/spacewalk-java-2.1.10-1'
by Šimon Lukašík
Tag 'spacewalk-java-2.1.10-1' created by Simon Lukasik <slukasik(a)redhat.com> at 2013-08-05 14:57 +0000
Tagging package [spacewalk-java] version [2.1.10-1] in directory [java/].
Changes since spacewalk-schema-2.1.6-1:
Simon Lukasik (7):
Export the 'deletable' property of TestResult through API.
Introduce API: system.scap.deleteXccdfScan()
Introduce API: org.getPolicyForScapFileUpload()
Introduce API: org.getPolicyForScapResultDeletion()
Introduce API: org.setPolicyForScapFileUpload()
Introduce API: org.setPolicyForScapResultDeletion()
Automatic commit of package [spacewalk-java] release [2.1.10-1].
---
java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java | 158 ++++++++++
java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/XccdfTestResultSerializer.java | 2
java/code/src/com/redhat/rhn/frontend/xmlrpc/system/scap/SystemScapHandler.java | 18 +
java/spacewalk-java.spec | 11
rel-eng/packages/spacewalk-java | 2
5 files changed, 189 insertions(+), 2 deletions(-)
---
10 years, 9 months
java/spacewalk-java.spec rel-eng/packages
by Šimon Lukašík
java/spacewalk-java.spec | 11 ++++++++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 11 insertions(+), 2 deletions(-)
New commits:
commit d17e096db5d4c63d01d76bc3369b94fa6088c6fa
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Mon Aug 5 16:57:39 2013 +0200
Automatic commit of package [spacewalk-java] release [2.1.10-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index b65785d..160d941 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.9
+Version: 2.1.10
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -771,6 +771,15 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Mon Aug 05 2013 Simon Lukasik <slukasik(a)redhat.com> 2.1.10-1
+- Introduce API: org.setPolicyForScapResultDeletion()
+- Introduce API: org.setPolicyForScapFileUpload()
+- Introduce API: org.getPolicyForScapResultDeletion()
+- Introduce API: org.getPolicyForScapFileUpload()
+- Introduce API: system.scap.deleteXccdfScan()
+- Export the 'deletable' property of TestResult through API.
+- Branding clean-up of proxy stuff in java dir
+
* Wed Jul 31 2013 Simon Lukasik <slukasik(a)redhat.com> 2.1.9-1
- Refactor common columns to a fragment file.
- Handle non-existent files properly.
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 266f406..0ea2608 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.9-1 java/
+2.1.10-1 java/
10 years, 9 months
6 commits - java/code
by Šimon Lukašík
java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java | 158 ++++++++++
java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/XccdfTestResultSerializer.java | 2
java/code/src/com/redhat/rhn/frontend/xmlrpc/system/scap/SystemScapHandler.java | 18 +
3 files changed, 178 insertions(+)
New commits:
commit 0f60532652c4e9ac38c10177f218b980c277f476
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Mon Aug 5 16:19:18 2013 +0200
Introduce API: org.setPolicyForScapResultDeletion()
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
index 5978c67..eb236d5 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
@@ -1148,4 +1148,53 @@ public class OrgHandler extends BaseHandler {
(retentionPeriod != null) ? retentionPeriod : new Long(0));
return result;
}
+
+ /**
+ * Set the status of SCAP result deletion settings for the given organization.
+ *
+ * @param sessionKey User's session key.
+ * @param orgId ID of organization to work with.
+ * @param newSettings New settings of the SCAP result deletion settings.
+ * @return Returns 1 for successfull change.
+ *
+ * @xmlrpc.doc Set the status of SCAP result deletion settins for the given
+ * organization.
+ *
+ * @xmlrpc.param #session_key()
+ * @xmlrpc.param #param("int", "orgId")
+ * @xmlrpc.param
+ * #struct("scap_deletion_info")
+ * #prop_desc("boolean", "enabled",
+ * "Deletion of SCAP results is enabled")
+ * #prop_desc("int", "retention_period",
+ * "Period (in days) after which a scan can be deleted (if enabled).")
+ * #struct_end()
+ * @xmlrpc.returntype #return_int_success()
+ */
+ public int setPolicyForScapResultDeletion(String sessionKey, Integer orgId,
+ Map<String, Object> newSettings) {
+ Set<String> validKeys = new HashSet<String>();
+ validKeys.add("enabled");
+ validKeys.add("retention_period");
+ validateMap(validKeys, newSettings);
+
+ getSatAdmin(sessionKey);
+ OrgConfig orgConfig = verifyOrgExists(orgId).getOrgConfig();
+ if (newSettings.containsKey("enabled")) {
+ if ((Boolean) newSettings.get("enabled")) {
+ orgConfig.setScapRetentionPeriodDays(new Long(90));
+ }
+ else {
+ orgConfig.setScapRetentionPeriodDays(null);
+ }
+ }
+ if (newSettings.containsKey("retention_period")) {
+ Long retentionPeriod = new Long(((Integer)
+ newSettings.get("retention_period")).longValue());
+ if (orgConfig.getScapRetentionPeriodDays() != null) {
+ orgConfig.setScapRetentionPeriodDays(retentionPeriod);
+ }
+ }
+ return 1;
+ }
}
commit 7f64275764b6a30bb8497a155f38e1aa6fa1e906
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Mon Aug 5 15:41:26 2013 +0200
Introduce API: org.setPolicyForScapFileUpload()
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
index b563006..5978c67 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
@@ -26,6 +26,7 @@ import com.redhat.rhn.domain.channel.ChannelFamily;
import com.redhat.rhn.domain.channel.ChannelFamilyFactory;
import com.redhat.rhn.domain.entitlement.Entitlement;
import com.redhat.rhn.domain.org.Org;
+import com.redhat.rhn.domain.org.OrgConfig;
import com.redhat.rhn.domain.org.OrgFactory;
import com.redhat.rhn.domain.role.RoleFactory;
import com.redhat.rhn.domain.server.Server;
@@ -62,9 +63,11 @@ import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
* OrgHandler
@@ -1072,6 +1075,50 @@ public class OrgHandler extends BaseHandler {
}
/**
+ * Set the status of SCAP detailed result file upload settings for the given
+ * organization.
+ *
+ * @param sessionKey User's session key.
+ * @param orgId ID of organization to work with.
+ * @param newSettings New settings of the SCAP detailed result file upload.
+ * @return Returns 1 for successfull change.
+ *
+ * @xmlrpc.doc Set the status of SCAP detailed result file upload settings
+ * for the given organization.
+ *
+ * @xmlrpc.param #session_key()
+ * @xmlrpc.param #param("int", "orgId")
+ * @xmlrpc.param
+ * #struct("scap_upload_info")
+ * #prop_desc("boolean", "enabled",
+ * "Aggregation of detailed SCAP results is enabled.")
+ * #prop_desc("int", "size_limit",
+ * "Limit (in Bytes) for a single SCAP file upload.")
+ * #struct_end()
+ * @xmlrpc.returntype #return_int_success()
+ */
+ public int setPolicyForScapFileUpload(String sessionKey, Integer orgId,
+ Map<String, Object> newSettings) {
+ Set<String> validKeys = new HashSet<String>();
+ validKeys.add("enabled");
+ validKeys.add("size_limit");
+ validateMap(validKeys, newSettings);
+
+ getSatAdmin(sessionKey);
+ OrgConfig orgConfig = verifyOrgExists(orgId).getOrgConfig();
+ if (newSettings.containsKey("enabled")) {
+ Boolean enabled = (Boolean) newSettings.get("enabled");
+ orgConfig.setScapfileUploadEnabled(enabled);
+ }
+ if (newSettings.containsKey("size_limit")) {
+ Long sizeLimit = new Long(((Integer)
+ newSettings.get("size_limit")).longValue());
+ orgConfig.setScapFileSizelimit(sizeLimit);
+ }
+ return 1;
+ }
+
+ /**
* Get the status of SCAP result deletion settings for the given organization.
*
* @param sessionKey User's session key.
commit 0fbec1eed857b8a90e1fb461cfb4a20877fb3c9b
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Wed Jul 31 17:25:57 2013 +0200
Introduce API: org.getPolicyForScapResultDeletion()
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
index c2a9227..b563006 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
@@ -1070,4 +1070,35 @@ public class OrgHandler extends BaseHandler {
result.put("size_limit", org.getOrgConfig().getScapFileSizelimit());
return result;
}
+
+ /**
+ * Get the status of SCAP result deletion settings for the given organization.
+ *
+ * @param sessionKey User's session key.
+ * @param orgId ID of organization to query.
+ * @return Returns the status of SCAP result deletion settings.
+ *
+ * @xmlrpc.doc Get the status of SCAP result deletion settings for the given
+ * organization.
+ *
+ * @xmlrpc.param #session_key()
+ * @xmlrpc.param #param("int", "orgId")
+ * @xmlrpc.returntype
+ * #struct("scap_deletion_info")
+ * #prop_desc("boolean", "enabled", "Deletion of SCAP results is enabled")
+ * #prop_desc("int", "retention_period",
+ * "Period (in days) after which a scan can be deleted (if enabled).")
+ * #struct_end()
+ */
+ public Map<String, Object> getPolicyForScapResultDeletion(String sessionKey,
+ Integer orgId) {
+ getSatAdmin(sessionKey);
+ Org org = verifyOrgExists(orgId);
+ Long retentionPeriod = org.getOrgConfig().getScapRetentionPeriodDays();
+ Map<String, Object> result = new HashMap<String, Object>();
+ result.put("enabled", retentionPeriod != null);
+ result.put("retention_period",
+ (retentionPeriod != null) ? retentionPeriod : new Long(0));
+ return result;
+ }
}
commit 465910201d48a456ba6a4b4571c010fe7ad1e8cd
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Wed Jul 31 17:12:41 2013 +0200
Introduce API: org.getPolicyForScapFileUpload()
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
index 31a6a0f..c2a9227 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/org/OrgHandler.java
@@ -1039,4 +1039,35 @@ public class OrgHandler extends BaseHandler {
return 1;
}
+
+ /**
+ * Get the status of SCAP detailed result file upload settings for the given
+ * organization.
+ *
+ * @param sessionKey User's session key.
+ * @param orgId ID of organization to query.
+ * @return Returns the status of SCAP detailed result file upload settings.
+ *
+ * @xmlrpc.doc Get the status of SCAP detailed result file upload settings
+ * for the given organization.
+ *
+ * @xmlrpc.param #session_key()
+ * @xmlrpc.param #param("int", "orgId")
+ * @xmlrpc.returntype
+ * #struct("scap_upload_info")
+ * #prop_desc("boolean", "enabled",
+ * "Aggregation of detailed SCAP results is enabled.")
+ * #prop_desc("int", "size_limit",
+ * "Limit (in Bytes) for a single SCAP file upload.")
+ * #struct_end()
+ */
+ public Map<String, Object> getPolicyForScapFileUpload(String sessionKey,
+ Integer orgId) {
+ getSatAdmin(sessionKey);
+ Org org = verifyOrgExists(orgId);
+ Map<String, Object> result = new HashMap<String, Object>();
+ result.put("enabled", org.getOrgConfig().isScapfileUploadEnabled());
+ result.put("size_limit", org.getOrgConfig().getScapFileSizelimit());
+ return result;
+ }
}
commit dd1d0122387a71a3737dd6f6981083d2af34a5f6
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Wed Jul 31 15:31:57 2013 +0200
Introduce API: system.scap.deleteXccdfScan()
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/scap/SystemScapHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/scap/SystemScapHandler.java
index b6ff28d..fb9ddbc 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/scap/SystemScapHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/scap/SystemScapHandler.java
@@ -104,6 +104,24 @@ public class SystemScapHandler extends BaseHandler {
}
/**
+ * Delete OpenSCAP XCCDF Scan from the Spacewalk database.
+ * @param sessionKey The session key.
+ * @param xid The id of XCCDF scan.
+ * @return a boolean indicating success of the operation.
+ *
+ * @xmlrpc.doc Delete OpenSCAP XCCDF Scan from Spacewalk database. Note that
+ * only those SCAP Scans can be deleted which have passed their retention period.
+ * @xmlrpc.param #session_key()
+ * @xmlrpc.param #param("int", "Id of XCCDF scan (xid).")
+ * @xmlrpc.returntype boolean - indicates success of the operation.
+ */
+ public Boolean deleteXccdfScan(String sessionKey, Integer xid) {
+ User loggedInUser = getLoggedInUser(sessionKey);
+ ScapManager.ensureAvailableToUser(loggedInUser, new Long(xid));
+ return ScapManager.deleteScan(new Long(xid));
+ }
+
+ /**
* Run OpenSCAP XCCDF Evaluation on a given list of servers
* @param sessionKey The session key.
* @param serverIds The list of server ids,
commit 7d06206839128dce15f44b0aed8c2d77444da9b4
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Wed Jul 31 15:01:17 2013 +0200
Export the 'deletable' property of TestResult through API.
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/XccdfTestResultSerializer.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/XccdfTestResultSerializer.java
index babc498..cf5f45e 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/XccdfTestResultSerializer.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/XccdfTestResultSerializer.java
@@ -48,6 +48,7 @@ import com.redhat.rhn.frontend.xmlrpc.serializer.util.SerializerHelper;
* #prop_desc($date, "start_time", "Client machine time of scan start.")
* #prop_desc($date, "end_time", "Client machine time of scan completion.")
* #prop_desc("string", "errors", "Stderr output of scan.")
+ * #prop_desc("bool", "deletable", "Indicates whether the scan can be deleted.")
* #struct_end()
*/
public class XccdfTestResultSerializer implements XmlRpcCustomSerializer {
@@ -84,6 +85,7 @@ public class XccdfTestResultSerializer implements XmlRpcCustomSerializer {
addToHelper(helper, "end_time", testResult.getEndTime());
addToHelper(helper, "errors", testResult.getErrrosContents());
addToHelper(helper, "action_id", parentAction.getId());
+ addToHelper(helper, "deletable", testResult.getDeletable());
helper.writeTo(output);
}
10 years, 9 months
Changes to 'refs/tags/spacewalk-schema-2.1.6-1'
by Tomas Lestach
Tag 'spacewalk-schema-2.1.6-1' created by Tomas Lestach <tlestach(a)redhat.com> at 2013-08-05 14:36 +0000
Tagging package [spacewalk-schema] version [2.1.6-1] in directory [schema/spacewalk/].
Changes since spacecmd-2.1.2-1:
Tomas Lestach (2):
changing stamp type on log table
Automatic commit of package [spacewalk-schema] release [2.1.6-1].
---
rel-eng/packages/spacewalk-schema | 2 +-
schema/spacewalk/common/tables/log.sql | 2 +-
schema/spacewalk/spacewalk-schema.spec | 5 ++++-
schema/spacewalk/upgrade/spacewalk-schema-2.0-to-spacewalk-schema-2.1/012-log.sql.oracle | 5 +++++
schema/spacewalk/upgrade/spacewalk-schema-2.0-to-spacewalk-schema-2.1/012-log.sql.postgresql | 2 ++
5 files changed, 13 insertions(+), 3 deletions(-)
---
10 years, 9 months