4 commits - client/tools java/spacewalk-java.spec rel-eng/packages web/spacewalk-web.spec
by Miroslav Suchý
client/tools/spacewalk-remote-utils/spacewalk-remote-utils.spec | 7 ++++++-
java/spacewalk-java.spec | 5 ++++-
rel-eng/packages/spacewalk-java | 2 +-
rel-eng/packages/spacewalk-remote-utils | 2 +-
rel-eng/packages/spacewalk-web | 2 +-
web/spacewalk-web.spec | 6 +++++-
6 files changed, 18 insertions(+), 6 deletions(-)
New commits:
commit c4da1f550075cae2a0252b49f5109e4ca799799b
Merge: 01a336c f557e81
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Mar 16 09:04:47 2011 +0100
Merge remote-tracking branch 'origin/master'
commit 01a336cd3a25c817d445015503a71142f664ec54
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Mar 16 09:02:57 2011 +0100
Automatic commit of package [spacewalk-java] release [1.4.18-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 52e473d..15e5c53 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.4.17
+Version: 1.4.18
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -537,6 +537,9 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Wed Mar 16 2011 Miroslav Suchý <msuchy(a)redhat.com> 1.4.18-1
+- 644880 - fix the condition (tlestach(a)redhat.com)
+
* Fri Mar 11 2011 Tomas Lestach <tlestach(a)redhat.com> 1.4.17-1
- 644880 - fix Long comparism (tlestach(a)redhat.com)
- 644880 - fix permission check to packages (tlestach(a)redhat.com)
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 3df8c7e..d0fe25d 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-1.4.17-1 java/
+1.4.18-1 java/
commit 7953519a08436a819937707aa610d2d717765573
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Mar 16 08:49:02 2011 +0100
Automatic commit of package [spacewalk-remote-utils] release [1.4.4-1].
diff --git a/client/tools/spacewalk-remote-utils/spacewalk-remote-utils.spec b/client/tools/spacewalk-remote-utils/spacewalk-remote-utils.spec
index cafaeea..88001a4 100644
--- a/client/tools/spacewalk-remote-utils/spacewalk-remote-utils.spec
+++ b/client/tools/spacewalk-remote-utils/spacewalk-remote-utils.spec
@@ -4,7 +4,7 @@
%endif
Name: spacewalk-remote-utils
-Version: 1.4.3
+Version: 1.4.4
Release: 1%{?dist}
Summary: Utilities to interact with a RHN Satellite or Spacewalk server remotely.
@@ -52,6 +52,11 @@ docbook2man ./spacewalk-create-channel/doc/spacewalk-create-channel.sgml -o ./sp
%doc %{_mandir}/man1/spacewalk-create-channel.1.gz
%changelog
+* Wed Mar 16 2011 Miroslav Suchý <msuchy(a)redhat.com> 1.4.4-1
+- allowing input of 0 insteado f 'gold' in spacewalk-create-channel
+ (jsherril(a)redhat.com)
+- replace dead code with default from optparse
+
* Tue Mar 08 2011 Justin Sherrill <jsherril(a)redhat.com> 1.4.3-1
- adding new data files for spacewalk-create-channel (jsherril(a)redhat.com)
- updating spacewalk-create-channel to properly support RHEL 6 and added
diff --git a/rel-eng/packages/spacewalk-remote-utils b/rel-eng/packages/spacewalk-remote-utils
index 573d9df..818f4be 100644
--- a/rel-eng/packages/spacewalk-remote-utils
+++ b/rel-eng/packages/spacewalk-remote-utils
@@ -1 +1 @@
-1.4.3-1 client/tools/spacewalk-remote-utils/
+1.4.4-1 client/tools/spacewalk-remote-utils/
commit 7405544eff040a768bc4fb35c3d3a3d203b6d72d
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Mar 16 08:48:26 2011 +0100
Automatic commit of package [spacewalk-web] release [1.4.10-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index c308e1f..d912351 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-1.4.9-1 web/
+1.4.10-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index 9294e9c..e05ceb1 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site packages
Group: Applications/Internet
License: GPLv2
-Version: 1.4.9
+Version: 1.4.10
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -260,6 +260,10 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Wed Mar 16 2011 Miroslav Suchý <msuchy(a)redhat.com> 1.4.10-1
+- made /network/systems/details/history/event.pxt work on postgresql
+- Fixing is_eoled, replacing sysdate with current_timestamp.
+
* Wed Mar 09 2011 Jan Pazdziora 1.4.9-1
- Fixing system group operations (PostgreSQL).
- Using sequence_nextval instead of .nextval.
13 years, 1 month
Changes to 'refs/tags/spacewalk-web-1.4.10-1'
by Miroslav Suchý
Tag 'spacewalk-web-1.4.10-1' created by Miroslav Suchý <msuchy(a)redhat.com> at 2011-03-16 07:48 +0000
Tagging package [spacewalk-web] version [1.4.10-1] in directory [web/].
Changes since spacewalk-backend-1.4.20-1:
Miroslav Suchý (1):
Automatic commit of package [spacewalk-web] release [1.4.10-1].
---
rel-eng/packages/spacewalk-web | 2 +-
web/spacewalk-web.spec | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
---
13 years, 1 month
Changes to 'refs/tags/spacewalk-remote-utils-1.4.4-1'
by Miroslav Suchý
Tag 'spacewalk-remote-utils-1.4.4-1' created by Miroslav Suchý <msuchy(a)redhat.com> at 2011-03-16 07:49 +0000
Tagging package [spacewalk-remote-utils] version [1.4.4-1] in directory [client/tools/spacewalk-remote-utils/].
Changes since spacewalk-backend-1.4.20-1:
Miroslav Suchý (2):
Automatic commit of package [spacewalk-web] release [1.4.10-1].
Automatic commit of package [spacewalk-remote-utils] release [1.4.4-1].
---
client/tools/spacewalk-remote-utils/spacewalk-remote-utils.spec | 7 ++++++-
rel-eng/packages/spacewalk-remote-utils | 2 +-
rel-eng/packages/spacewalk-web | 2 +-
web/spacewalk-web.spec | 6 +++++-
4 files changed, 13 insertions(+), 4 deletions(-)
---
13 years, 1 month
Changes to 'refs/tags/spacewalk-java-1.4.18-1'
by Miroslav Suchý
Tag 'spacewalk-java-1.4.18-1' created by Miroslav Suchý <msuchy(a)redhat.com> at 2011-03-16 08:02 +0000
Tagging package [spacewalk-java] version [1.4.18-1] in directory [java/].
Changes since spacewalk-backend-1.4.20-1:
Miroslav Suchý (3):
Automatic commit of package [spacewalk-web] release [1.4.10-1].
Automatic commit of package [spacewalk-remote-utils] release [1.4.4-1].
Automatic commit of package [spacewalk-java] release [1.4.18-1].
---
client/tools/spacewalk-remote-utils/spacewalk-remote-utils.spec | 7 ++++++-
java/spacewalk-java.spec | 5 ++++-
rel-eng/packages/spacewalk-java | 2 +-
rel-eng/packages/spacewalk-remote-utils | 2 +-
rel-eng/packages/spacewalk-web | 2 +-
web/spacewalk-web.spec | 6 +++++-
6 files changed, 18 insertions(+), 6 deletions(-)
---
13 years, 1 month
Changes to 'refs/tags/spacewalk-backend-1.4.21-1'
by Šimon Lukašík
Tag 'spacewalk-backend-1.4.21-1' created by Simon Lukasik <slukasik(a)redhat.com> at 2011-03-15 17:13 +0000
Tagging package [spacewalk-backend] version [1.4.21-1] in directory [backend/].
Changes since spacewalk-backend-1.4.20-1:
Simon Lukasik (2):
687885 - do not treat expired token as a fault
Automatic commit of package [spacewalk-backend] release [1.4.21-1].
---
backend/satellite_tools/xmlWireSource.py | 7 ++++++-
backend/spacewalk-backend.spec | 5 ++++-
rel-eng/packages/spacewalk-backend | 2 +-
3 files changed, 11 insertions(+), 3 deletions(-)
---
13 years, 1 month
backend/spacewalk-backend.spec rel-eng/packages
by Šimon Lukašík
backend/spacewalk-backend.spec | 5 ++++-
rel-eng/packages/spacewalk-backend | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit f557e8134b51fee0b3ff5d6068e4f4ce680e5232
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Tue Mar 15 18:13:47 2011 +0100
Automatic commit of package [spacewalk-backend] release [1.4.21-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index 89d2c26..bc43327 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.4.20
+Version: 1.4.21
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -684,6 +684,9 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Tue Mar 15 2011 Simon Lukasik <slukasik(a)redhat.com> 1.4.21-1
+- 687885 - do not treat expired token as a fault (slukasik(a)redhat.com)
+
* Mon Mar 14 2011 Michael Mraka <michael.mraka(a)redhat.com> 1.4.20-1
- no more need for special insert when diff is empty
- removed unused _query_get_output_row
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index 0cad53a..5a9400c 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-1.4.20-1 backend/
+1.4.21-1 backend/
13 years, 1 month
backend/satellite_tools
by Šimon Lukašík
backend/satellite_tools/xmlWireSource.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
New commits:
commit 377f4b439ef8c866c79c8c940bba1c11b1e88bb4
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Tue Mar 15 17:36:29 2011 +0100
687885 - do not treat expired token as a fault
Adressing:
Traceback (most recent call last):
File "/usr/bin/satellite-sync", line 138, in main
return satsync.Runner().main()
File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 224, in main
ret = method()
File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 324, in _step_rpms
self._packages_report = self.syncer.download_rpms()
File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1054, in download_rpms
self._fetch_packages(channel, missing_fs_packages)
File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1764, in _fetch_packages
package_id, nvrea, sources)
File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1847, in _get_package_stream
stream = rpmServer.getPackageStream(channel, nvrea)
File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 426, in getPackageStream
return self._rpc_call("getPackage", (channel, package_name))
File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 417, in _rpc_call
raise Exception("Failed after multiple attempts")
Exception: Failed after multiple attempts
diff --git a/backend/satellite_tools/xmlWireSource.py b/backend/satellite_tools/xmlWireSource.py
index 0174630..eb4484d 100644
--- a/backend/satellite_tools/xmlWireSource.py
+++ b/backend/satellite_tools/xmlWireSource.py
@@ -390,8 +390,10 @@ class RPCGetWireSource(BaseWireSource):
def _rpc_call(self, function_name, params):
get_server_obj = self.login()
# Try a couple of times
+ fault_count = 0
+ expired_token = 0
cfg = config.initUp2dateConfig()
- for i in range(cfg['networkRetries']):
+ while fault_count - expired_token < cfg['networkRetries']:
try:
ret = apply(getattr(get_server_obj, function_name), params)
except rpclib.xmlrpclib.ProtocolError, e:
@@ -400,9 +402,12 @@ class RPCGetWireSource(BaseWireSource):
# of the request.
http_error_code = e.errcode
fault_code, fault_string = rpclib.reportError(e.headers)
+ fault_count += 1
if http_error_code == 401 and fault_code == -34:
# Login token expired
get_server_obj = self.login(force=1)
+ # allow exactly one respin for expired token
+ expired_token = 1
continue
if http_error_code == 404 and fault_code == -17:
# File not found
13 years, 1 month
Changes to 'refs/tags/spacewalk-backend-1.4.20-1'
by Michael Mraka
Tag 'spacewalk-backend-1.4.20-1' created by Michael Mraka <michael.mraka(a)redhat.com> at 2011-03-14 15:38 +0000
Tagging package [spacewalk-backend] version [1.4.20-1] in directory [backend/].
Changes since spacecmd-1.4.4-1:
Michael Mraka (9):
made /network/systems/details/history/event.pxt work on postgresql
670793 - don't fail on non-ascii config files
replaced 'connect by prior' with recursive function in python (PG)
support for direct blob insert for oracle
set blob directly in insert (PG)
set the blob directly in insert
removed unused _query_get_output_row (code removed in previous commit)
no more need for special insert when diff is empty
Automatic commit of package [spacewalk-backend] release [1.4.20-1].
---
backend/server/action_extra_data/configfiles.py | 38 ++++----------
backend/server/action_extra_data/script.py | 28 +---------
backend/server/rhnAction.py | 40 +++++++++------
backend/server/rhnSQL/__init__.py | 4 -
backend/server/rhnSQL/driver_cx_Oracle.py | 29 +++++++++-
backend/server/rhnSQL/driver_postgresql.py | 2
backend/spacewalk-backend.spec | 11 +++-
rel-eng/packages/spacewalk-backend | 2
web/modules/rhn/RHN/DB/DataSource/xml/config_queries.xml | 5 +
9 files changed, 83 insertions(+), 76 deletions(-)
---
13 years, 1 month
backend/spacewalk-backend.spec rel-eng/packages
by Michael Mraka
backend/spacewalk-backend.spec | 11 ++++++++++-
rel-eng/packages/spacewalk-backend | 2 +-
2 files changed, 11 insertions(+), 2 deletions(-)
New commits:
commit 20405e2d4388ebe998c8b08e6e2bc27a8f27b680
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Mar 14 16:38:16 2011 +0100
Automatic commit of package [spacewalk-backend] release [1.4.20-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index 15f1e26..89d2c26 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.4.19
+Version: 1.4.20
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -684,6 +684,15 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Mon Mar 14 2011 Michael Mraka <michael.mraka(a)redhat.com> 1.4.20-1
+- no more need for special insert when diff is empty
+- removed unused _query_get_output_row
+- set the blob directly in insert
+- support for direct blob insert for oracle
+- replaced 'connect by prior' with recursive function in python
+- 670793 - don't fail on non-ascii config files
+- fixed virtual KVM machines in the webui
+
* Thu Mar 10 2011 Miroslav Suchý <msuchy(a)redhat.com> 1.4.19-1
- move server.mo from /usr/share/rhn/ to /usr/share/locale and rename it to
spacewalk-backend-server
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index a93a7ab..0cad53a 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-1.4.19-1 backend/
+1.4.20-1 backend/
13 years, 1 month
8 commits - backend/server web/modules
by Michael Mraka
backend/server/action_extra_data/configfiles.py | 38 ++++----------
backend/server/action_extra_data/script.py | 28 +---------
backend/server/rhnAction.py | 40 +++++++++------
backend/server/rhnSQL/__init__.py | 4 -
backend/server/rhnSQL/driver_cx_Oracle.py | 29 +++++++++-
backend/server/rhnSQL/driver_postgresql.py | 2
web/modules/rhn/RHN/DB/DataSource/xml/config_queries.xml | 5 +
7 files changed, 72 insertions(+), 74 deletions(-)
New commits:
commit 25263f4c806c5eda910b4b5f26eb4030a92118df
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Mar 14 16:34:49 2011 +0100
no more need for special insert when diff is empty
diff --git a/backend/server/action_extra_data/configfiles.py b/backend/server/action_extra_data/configfiles.py
index 4554199..ca00f7f 100644
--- a/backend/server/action_extra_data/configfiles.py
+++ b/backend/server/action_extra_data/configfiles.py
@@ -257,11 +257,6 @@ def _lookup_action_revision_id(server_id, action_id, path):
return None
return row['id']
-_query_add_result_identical = rhnSQL.Statement("""
- insert into rhnActionConfigRevisionResult
- (action_config_revision_id, result)
- values (:action_config_revision_id, NULL)
-""")
_query_add_result_diff = rhnSQL.Statement("""
insert into rhnActionConfigRevisionResult
(action_config_revision_id, result)
@@ -271,16 +266,15 @@ def _add_result(action_config_revision_id, diff):
log_debug(4, action_config_revision_id, diff)
- if not diff:
- # Just add an empty row
- h = rhnSQL.prepare(_query_add_result_identical)
- h.execute(action_config_revision_id=action_config_revision_id)
- return
-
- if type(diff) == UnicodeType:
- diff = unicode.encode(diff,'utf-8')
-
- h = rhnSQL.prepare(_query_add_result_diff, blob_map={'result': 'result'})
+ if diff:
+ blob_map = {'result': 'result'}
+ if type(diff) == UnicodeType:
+ diff = unicode.encode(diff,'utf-8')
+ else:
+ blob_map = None
+ diff = None
+
+ h = rhnSQL.prepare(_query_add_result_diff, blob_map=blob_map)
h.execute(action_config_revision_id=action_config_revision_id,
result=diff)
commit 62b26924d03ecaafb4ab4e9935100be67d8dd930
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 11 09:07:42 2011 +0100
removed unused _query_get_output_row (code removed in previous commit)
diff --git a/backend/server/action_extra_data/script.py b/backend/server/action_extra_data/script.py
index f3f0eac..25136a9 100644
--- a/backend/server/action_extra_data/script.py
+++ b/backend/server/action_extra_data/script.py
@@ -49,15 +49,6 @@ select :server_id,
where ascript.action_id = :action_id
""")
-_query_get_output_row = rhnSQL.Statement("""
-select asr.output
- from rhnServerActionScriptResult asr,
- rhnActionScript ascript
- where ascript.action_id = :action_id
- and asr.server_id = :server_id
- and asr.action_script_id = ascript.id
-""")
-
def run(server_id, action_id, data={}):
log_debug(3)
commit 1966210148756644c244fed259e93d2b4f2d5cef
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 11 09:06:36 2011 +0100
set the blob directly in insert
diff --git a/backend/server/action_extra_data/script.py b/backend/server/action_extra_data/script.py
index 5772408..f3f0eac 100644
--- a/backend/server/action_extra_data/script.py
+++ b/backend/server/action_extra_data/script.py
@@ -41,7 +41,7 @@ insert into rhnServerActionScriptResult (
)
select :server_id,
ascript.id,
- empty_blob(),
+ :output,
TO_DATE(:process_start, 'YYYY-MM-DD HH24:MI:SS'),
TO_DATE(:process_end, 'YYYY-MM-DD HH24:MI:SS'),
:return_code
@@ -83,23 +83,12 @@ def run(server_id, action_id, data={}):
log_debug(4, "script output", output)
- h = rhnSQL.prepare(_query_initial_store)
+ h = rhnSQL.prepare(_query_initial_store, blob_map={'output': 'output'})
h.execute(server_id=server_id,
action_id=action_id,
process_start=process_start,
process_end=process_end,
- return_code=return_code
+ return_code=return_code,
+ output=output
)
- # edit the created blob
- h = rhnSQL.prepare(_query_get_output_row)
- h.execute(server_id=server_id, action_id=action_id)
-
- if not output:
- log_debug(4, "No output sent by client")
- return
-
- row = h.fetchone_dict()
- lob = row['output']
-
- lob.write(output)
commit c795aaae8e3d6d68418c066fc0c190fb60e7df08
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 11 11:39:21 2011 +0100
set blob directly in insert (PG)
fixing
Traceback (most recent call last):
...
File
"/usr/lib/python2.4/site-packages/spacewalk/server/action_extra_data/configfiles.py",
line 295, in _add_result
result.write(diff)
AttributeError: 'buffer' object has no attribute 'write'
diff --git a/backend/server/action_extra_data/configfiles.py b/backend/server/action_extra_data/configfiles.py
index e69b693..4554199 100644
--- a/backend/server/action_extra_data/configfiles.py
+++ b/backend/server/action_extra_data/configfiles.py
@@ -265,12 +265,7 @@ _query_add_result_identical = rhnSQL.Statement("""
_query_add_result_diff = rhnSQL.Statement("""
insert into rhnActionConfigRevisionResult
(action_config_revision_id, result)
- values (:action_config_revision_id, empty_blob())
-""")
-_query_update_result = rhnSQL.Statement("""
- select result from rhnActionConfigRevisionResult
- where action_config_revision_id = :action_config_revision_id
- for update
+ values (:action_config_revision_id, :result)
""")
def _add_result(action_config_revision_id, diff):
@@ -282,17 +277,13 @@ def _add_result(action_config_revision_id, diff):
h.execute(action_config_revision_id=action_config_revision_id)
return
- h = rhnSQL.prepare(_query_add_result_diff)
- h.execute(action_config_revision_id=action_config_revision_id)
-
- h = rhnSQL.prepare(_query_update_result)
- h.execute(action_config_revision_id=action_config_revision_id)
- row = h.fetchone_dict()
- result = row['result']
if type(diff) == UnicodeType:
diff = unicode.encode(diff,'utf-8')
- result.write(diff)
+ h = rhnSQL.prepare(_query_add_result_diff, blob_map={'result': 'result'})
+ h.execute(action_config_revision_id=action_config_revision_id,
+ result=diff)
+
_query_lookup_old_diffs = rhnSQL.Statement("""
select acr.id
from rhnActionConfigRevision acr
commit d58c8ddb886f27dbf117c721d6655a351e0be755
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 11 17:01:38 2011 +0100
support for direct blob insert for oracle
diff --git a/backend/server/rhnSQL/__init__.py b/backend/server/rhnSQL/__init__.py
index d607e6e..5c6736c 100644
--- a/backend/server/rhnSQL/__init__.py
+++ b/backend/server/rhnSQL/__init__.py
@@ -186,11 +186,11 @@ def database():
def cursor():
db = __test_DB()
return db.cursor()
-def prepare(sql, params=None):
+def prepare(sql, params=None, blob_map=None):
db = __test_DB()
if isinstance(sql, Statement):
sql = sql.statement
- return db.prepare(sql, params=params)
+ return db.prepare(sql, params=params, blob_map=blob_map)
def execute(sql, *args, **kwargs):
db = __test_DB()
return apply(db.execute, (sql, ) + args, kwargs)
diff --git a/backend/server/rhnSQL/driver_cx_Oracle.py b/backend/server/rhnSQL/driver_cx_Oracle.py
index 7dbdbe4..608301b 100644
--- a/backend/server/rhnSQL/driver_cx_Oracle.py
+++ b/backend/server/rhnSQL/driver_cx_Oracle.py
@@ -26,6 +26,7 @@ import cx_Oracle
import sys
import string
import os
+import re
import types
from spacewalk.server import rhnSQL
@@ -48,12 +49,13 @@ class Cursor(sql_base.Cursor):
"""
OracleError = cx_Oracle.DatabaseError
- def __init__(self, dbh, sql=None, force=None):
+ def __init__(self, dbh, sql=None, force=None, blob_map=None):
try:
sql_base.Cursor.__init__(self, dbh=dbh, sql=sql,
force=force)
self._type_mapping = ORACLE_TYPE_MAPPING
+ self.blob_map = blob_map
except sql_base.SQLSchemaError, e:
(errno, errmsg) = e.errno, e.errmsg
if 900 <= errno <= 999:
@@ -92,6 +94,13 @@ class Cursor(sql_base.Cursor):
% (self.sql, params))
if self.sql is None:
raise rhnException("Cannot execute empty cursor")
+ if self.blob_map:
+ blob_content = {}
+ for orig_blob_var in self.blob_map.keys():
+ new_blob_var = orig_blob_var + '_blob'
+ blob_content[new_blob_var] = kw[orig_blob_var]
+ kw[new_blob_var] = self.var(cx_Oracle.BLOB)
+ del kw[orig_blob_var]
modified_params = self._munge_args(kw)
try:
@@ -121,6 +130,10 @@ class Cursor(sql_base.Cursor):
raise
else:
self.reparsed = 0 # reset the reparsed counter
+
+ if self.blob_map:
+ for blob_var, content in blob_content.items():
+ kw[blob_var].getvalue().write(content)
# Munge back the values
self._unmunge_args(kw, modified_params)
return retval
@@ -261,7 +274,6 @@ class Cursor(sql_base.Cursor):
blob.write(data)
-
class Procedure(sql_base.Procedure):
OracleError = cx_Oracle.DatabaseError
@@ -437,15 +449,24 @@ class Database(sql_base.Database):
return self._cursor_class(dbh=self.dbh)
# pass-through functions for when you want to do SQL yourself
- def prepare(self, sql, force=0, params=None):
+ def prepare(self, sql, force=0, params=None, blob_map = None):
# Abuse the map calls to get rid of SQL comments and extra spaces
sql = string.join(filter(lambda a: len(a),
map(string.strip,
map(lambda a: (a + " ")[:string.find(a, '--')],
string.split(sql, "\n")))),
" ")
+ if blob_map:
+ col_list = []
+ bind_list = []
+ for bind_var, column in blob_map.items():
+ r=re.compile(":%s" % bind_var)
+ sql = re.sub(r, 'empty_blob()', sql)
+ col_list.append(column)
+ bind_list.append(":%s_blob" % bind_var)
+ sql += " returning %s into %s" %(','.join(col_list), ','.join(bind_list))
# this way we only hit the network once for each sql statement
- return self._cursor_class(dbh=self.dbh, sql=sql, force=force)
+ return self._cursor_class(dbh=self.dbh, sql=sql, force=force, blob_map=blob_map)
def procedure(self, name):
try:
diff --git a/backend/server/rhnSQL/driver_postgresql.py b/backend/server/rhnSQL/driver_postgresql.py
index 2e9f02d..c65d98b 100644
--- a/backend/server/rhnSQL/driver_postgresql.py
+++ b/backend/server/rhnSQL/driver_postgresql.py
@@ -183,7 +183,7 @@ class Database(sql_base.Database):
"Exception information: %s" % sys.exc_info()[1])
self.connect() # only allow one try
- def prepare(self, sql, force=0, params=None):
+ def prepare(self, sql, force=0, params=None, blob_map=None):
if params != None: # support for anonymour plpgsql
sql = re.sub(r'/\*pg_cs\*/\s*cursor', '', sql)
sql = re.sub(r'/\*pg (.+?)\*/', '\g<1>', sql)
commit 3fd9dc08327d15d16d4307bfe847cb0878b85ac3
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 11 10:56:45 2011 +0100
replaced 'connect by prior' with recursive function in python (PG)
diff --git a/backend/server/rhnAction.py b/backend/server/rhnAction.py
index e2a27f4..325489f 100644
--- a/backend/server/rhnAction.py
+++ b/backend/server/rhnAction.py
@@ -92,35 +92,43 @@ def update_server_action(server_id, action_id, status, result_code=None,
result_message=result_message[:1024])
+_query_lookup_action_childs = rhnSQL.Statement("""
+ select a.id
+ from rhnAction a
+ join rhnServerAction sa
+ on sa.action_id = a.id
+ where prerequisite = :action_id
+ and sa.server_id = :server_id
+""")
+
_query_lookup_action = rhnSQL.Statement("""
select sa.action_id, sa.status
- from rhnServerAction sa,
- (
- select id
- from rhnAction
- start with id = :action_id
- connect by prior id = prerequisite
- ) a
+ from rhnServerAction sa
where sa.server_id = :server_id
- and sa.action_id = a.id
+ and sa.action_id = :action_id
""")
def invalidate_action(server_id, action_id):
log_debug(4, server_id, action_id)
h = rhnSQL.prepare(_query_lookup_action)
- h.execute(server_id=server_id, action_id=action_id)
+ h_child = rhnSQL.prepare(_query_lookup_action_childs)
+ return _invalidate_action_recursive(server_id, action_id, h, h_child)
- # Data structures for the update
+def _invalidate_action_recursive(server_id, action_id, h, h_child):
+ h_child.execute(server_id=server_id, action_id=action_id)
a_ids = []
+ # invalidate childs first
while 1:
- row = h.fetchone_dict()
+ row = h_child.fetchone_dict()
if not row:
break
-
- if row['status'] == 3:
- # Already failed
- continue
- c_action_id = row['action_id']
+ child_ids = _invalidate_action_recursive(server_id, row['id'], h, h_child)
+ a_ids.append(child_ids)
+ h.execute(server_id=server_id, action_id=action_id)
+ s_row = h.fetchone_dict()
+ if s_row and s_row['status'] <> 3:
+ # not already failed
+ c_action_id = s_row['action_id']
a_ids.append(c_action_id)
update_server_action(server_id=server_id, action_id=c_action_id,
status=3, result_code=-100, result_message="Prerequisite failed")
commit d4acd9796d661ab044ead4242bae7aba02cc263b
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 10 17:04:17 2011 +0100
670793 - don't fail on non-ascii config files
diff --git a/backend/server/action_extra_data/configfiles.py b/backend/server/action_extra_data/configfiles.py
index 1f95a3e..e69b693 100644
--- a/backend/server/action_extra_data/configfiles.py
+++ b/backend/server/action_extra_data/configfiles.py
@@ -15,6 +15,7 @@
# config file-related error handling functions
#
+from types import UnicodeType
from spacewalk.common import log_debug, log_error, rhnFlags
from spacewalk.server import rhnSQL
from spacewalk.server.rhnServer import server_kickstart
@@ -288,6 +289,8 @@ def _add_result(action_config_revision_id, diff):
h.execute(action_config_revision_id=action_config_revision_id)
row = h.fetchone_dict()
result = row['result']
+ if type(diff) == UnicodeType:
+ diff = unicode.encode(diff,'utf-8')
result.write(diff)
_query_lookup_old_diffs = rhnSQL.Statement("""
commit f752cc6680932cf1245f3260347367030b49e8ca
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 10 14:45:20 2011 +0100
made /network/systems/details/history/event.pxt work on postgresql
fixing
ERROR: syntax error at or near ")" at character 573
diff --git a/web/modules/rhn/RHN/DB/DataSource/xml/config_queries.xml b/web/modules/rhn/RHN/DB/DataSource/xml/config_queries.xml
index 167d892..03044c7 100644
--- a/web/modules/rhn/RHN/DB/DataSource/xml/config_queries.xml
+++ b/web/modules/rhn/RHN/DB/DataSource/xml/config_queries.xml
@@ -130,17 +130,18 @@ SELECT CFN.path,
ACR.id AS ACTION_REVISION_ID,
CFF.name AS FAILURE_REASON,
rhn_config_channel.action_diff_revision_status(ACR.id) AS STATUS
- FROM rhnConfigFileFailure CFF,
+ FROM
rhnConfigFileName CFN,
rhnConfigFile CF,
rhnConfigRevision CR,
rhnActionConfigRevision ACR
+ LEFT JOIN rhnConfigFileFailure CFF
+ ON ACR.failure_id = CFF.id
WHERE ACR.action_id = :aid
AND ACR.server_id = :sid
AND ACR.config_revision_id = CR.id
AND CR.config_file_id = CF.id
AND CF.config_file_name_id = CFN.id
- AND ACR.failure_id = CFF.id (+)
ORDER BY UPPER(CFN.path)
</query>
</mode>
13 years, 1 month