Changes to 'refs/tags/spacewalk-backend-1.1.19-1'
by Michael Mraka
Tag 'spacewalk-backend-1.1.19-1' created by Michael Mraka <michael.mraka(a)redhat.com> at 2010-06-03 12:53 +0000
Tagging package [spacewalk-backend] version [1.1.19-1] in directory [backend/].
Changes since spacewalk-backend-1.1.18-1:
Jan Pazdziora (4):
Remove 23 exceptions that are not used in our code base.
Removing WarningDialog, OkDialog, and QuestionDialog that are not used in our code.
The rhn-client-tools ChangeLog has't been updated since 2002, removing.
Remove three more exceptions that are not used in our code base.
Michael Mraka (16):
python 2.4 (RHEL5) doesn't like None in string.translate()
there is no /SAT-XML-DUMP and this file is not used anywhere
removed rhn_server_satexport.conf from spec
fixed handler name to which this config file belongs
added comments to distinguish exported and imported xml dump versions
dumper should use export xml dump version
removed SatelliteDumperEx; it's equivalent of SatelliteDumper
removed dump_blacklist_obsoletes(), dump_arches(), dump_server_group_type_server_arches() and _cache_channel_packages_short() from XML_DumperEx because they are identical to those in XML_Dumper which it's inherited from
removed unused import
removed methods and queries from _ChannelsDumper which are exact copies of exportLib._ChannelDumper's ones
removed ChannelsDumper.__init__() which only call __init__() from its parrent
_ErratumSynopsisDumper not used anywhere
removed query not unsed anywhere, because all subclasses set iterator in their __init__()
once synposis_column has been removed from ErrataDumper, ErrataSynopsisDumper is equal to ErrataDumper
since ErrataSynopsisDumper removal, ErrataDumper and ErrataDumperEx are equal
Automatic commit of package [spacewalk-backend] release [1.1.19-1].
Milan Zazrivec (1):
598890 - always return product version as string
gguerrer (2):
l10n: Updates to Spanish (Castilian) (es) translation
l10n: Updates to Spanish (Castilian) (es) translation
---
backend/rhn-conf/rhn_server_iss.conf | 5
backend/rhn-conf/rhn_server_satexport.conf | 7
backend/rhn-conf/rhn_server_satexport_internal.conf | 2
backend/satellite_tools/constants.py | 2
backend/satellite_tools/disk_dumper/dumper.py | 204
backend/satellite_tools/exporter/exportLib.py | 46
backend/server/rhnLib.py | 7
backend/spacewalk-backend.spec | 5
client/rhel/rhn-client-tools/doc/ChangeLog | 4516 ----------
client/rhel/rhn-client-tools/po/Makefile | 2
client/rhel/rhn-client-tools/po/es.po | 1509 ---
client/rhel/rhn-client-tools/rhn-client-tools.spec | 1
client/rhel/rhn-client-tools/src/up2date_client/messageWindow.py | 23
client/rhel/rhn-client-tools/src/up2date_client/up2dateErrors.py | 269
client/rhel/rhn-client-tools/src/up2date_client/up2dateUtils.py | 2
client/rhel/yum-rhn-plugin/po/es.po | 33
rel-eng/packages/spacewalk-backend | 2
17 files changed, 152 insertions(+), 6483 deletions(-)
---
13 years, 12 months
backend/spacewalk-backend.spec rel-eng/packages
by Michael Mraka
backend/spacewalk-backend.spec | 4 +++-
rel-eng/packages/spacewalk-backend | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
New commits:
commit 89adb533a9117464004a6225cc6d5d1d40d300c6
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Jun 3 14:53:01 2010 +0200
Automatic commit of package [spacewalk-backend] release [1.1.19-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index 1684e9a..103f39f 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -8,7 +8,7 @@ Name: spacewalk-backend
Summary: Common programs needed to be installed on the Spacewalk servers/proxies
Group: Applications/Internet
License: GPLv2
-Version: 1.1.18
+Version: 1.1.19
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -631,6 +631,8 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Thu Jun 03 2010 Michael Mraka <michael.mraka(a)redhat.com> 1.1.19-1
+- removed duplicated code from export routines
* Mon May 31 2010 Michael Mraka <michael.mraka(a)redhat.com> 1.1.18-1
- fixed package build error
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index a2faabf..3d31023 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-1.1.18-1 backend/
+1.1.19-1 backend/
13 years, 12 months
14 commits - backend/rhn-conf backend/satellite_tools backend/spacewalk-backend.spec
by Michael Mraka
backend/rhn-conf/rhn_server_iss.conf | 5
backend/rhn-conf/rhn_server_satexport.conf | 7
backend/rhn-conf/rhn_server_satexport_internal.conf | 2
backend/satellite_tools/constants.py | 2
backend/satellite_tools/disk_dumper/dumper.py | 204 --------------------
backend/satellite_tools/exporter/exportLib.py | 46 ----
backend/spacewalk-backend.spec | 1
7 files changed, 14 insertions(+), 253 deletions(-)
New commits:
commit 909ae679269dbf98c261ac1b31b683600e91faf6
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Jun 1 15:50:13 2010 +0200
since ErrataSynopsisDumper removal, ErrataDumper and ErrataDumperEx are equal
diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index b98b00b..c82865b 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -751,7 +751,7 @@ class XML_DumperEx(XML_Dumper):
writer = self._get_xml_writer()
dumper = SatelliteDumper(writer,
- ErrataDumperEx(writer, errata_hash.values()))
+ ErrataDumper(writer, errata_hash.values()))
dumper.dump()
writer.flush()
log_debug(4, "OK")
@@ -1305,40 +1305,6 @@ class ErrataDumper(CachedDumper, exportLib.ErrataDumper):
log_debug(6, data)
return exportLib.ErrataDumper.dump_subelement(self, data)
-class ErrataDumperEx(CachedDumper, exportLib.ErrataDumper):
- def __init__(self, writer, errata):
- h = rhnSQL.prepare("""
- select
- e.id,
- e.org_id,
- e.advisory_name,
- e.advisory,
- e.advisory_type,
- e.advisory_rel,
- e.product,
- e.description,
- e.synopsis,
- e.topic,
- e.solution,
- TO_CHAR(e.issue_date, 'YYYYMMDDHH24MISS') issue_date,
- TO_CHAR(e.update_date, 'YYYYMMDDHH24MISS') update_date,
- TO_CHAR(e.last_modified, 'YYYYMMDDHH24MISS') last_modified,
- e.refers_to,
- e.notes
- from rhnErrata e
- where e.id = :errata_id
- """)
- CachedDumper.__init__(self, writer, statement=h, params=errata)
-
- def _get_key(self, params):
- errata_id = str(params['errata_id'])
- hash_val = rhnLib.hash_object_id(errata_id, 1)
- return "xml-errata/%s/rhn-erratum-%s.xml" % (hash_val, errata_id)
-
- def _dump_subelement(self, data):
- log_debug(6, data)
- return exportLib.ErrataDumper.dump_subelement(self, data)
-
class KickstartableTreesDumper(CachedDumper, exportLib.KickstartableTreesDumper):
_query_lookup_ks_tree = rhnSQL.Statement("""
select kt.id,
commit 473815c490e42e4e5e76eb47aa9f3a90b14bae0e
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Jun 1 15:46:30 2010 +0200
once synposis_column has been removed from ErrataDumper, ErrataSynopsisDumper is equal to ErrataDumper
diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index 0c385e8..b98b00b 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -1305,7 +1305,7 @@ class ErrataDumper(CachedDumper, exportLib.ErrataDumper):
log_debug(6, data)
return exportLib.ErrataDumper.dump_subelement(self, data)
-class ErrataDumperEx(CachedDumper, exportLib.ErrataSynopsisDumper):
+class ErrataDumperEx(CachedDumper, exportLib.ErrataDumper):
def __init__(self, writer, errata):
h = rhnSQL.prepare("""
select
@@ -1337,7 +1337,7 @@ class ErrataDumperEx(CachedDumper, exportLib.ErrataSynopsisDumper):
def _dump_subelement(self, data):
log_debug(6, data)
- return exportLib.ErrataSynopsisDumper.dump_subelement(self, data)
+ return exportLib.ErrataDumper.dump_subelement(self, data)
class KickstartableTreesDumper(CachedDumper, exportLib.KickstartableTreesDumper):
_query_lookup_ks_tree = rhnSQL.Statement("""
diff --git a/backend/satellite_tools/exporter/exportLib.py b/backend/satellite_tools/exporter/exportLib.py
index e9f8e69..55a2872 100644
--- a/backend/satellite_tools/exporter/exportLib.py
+++ b/backend/satellite_tools/exporter/exportLib.py
@@ -1017,17 +1017,6 @@ class _ErratumDumper(BaseRowDumper):
return ArrayIterator(arr)
-class ErrataSynopsisDumper(ErrataDumper):
- # include severity into synopsis before
- # exporting to satellite.
- # Also ignore the first 18 characters in
- # the label(errata.sev.label.) from
- # rhnErrataSeverity table
- synposis_column = """
- (select SUBSTR(label,18) || ':'
- from rhnErrataSeverity
- where id = e.severity_id) || e.synopsis synposis,"""
-
class _ErratumKeywordDumper(BaseDumper):
tag_name = 'rhn-erratum-keywords'
commit 5d28295e8e4be69ba9187d66cc805544f91e97ef
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Jun 1 15:42:22 2010 +0200
removed query not unsed anywhere, because all subclasses set iterator in their __init__()
moreover there has been a syntax error (e.synposis)
diff --git a/backend/satellite_tools/exporter/exportLib.py b/backend/satellite_tools/exporter/exportLib.py
index 5a6ca8a..e9f8e69 100644
--- a/backend/satellite_tools/exporter/exportLib.py
+++ b/backend/satellite_tools/exporter/exportLib.py
@@ -906,36 +906,10 @@ class _PackageFilesDumper(BaseDumper):
class ErrataDumper(BaseDumper):
tag_name = 'rhn-errata'
- synposis_column = "e.synposis,"
-
def set_iterator(self):
if self._iterator:
return self._iterator
-
- _query_errata_info = """
- select
- e.id,
- e.org_id,
- e.advisory_name,
- e.advisory,
- e.advisory_type,
- e.advisory_rel,
- e.product,
- e.description,
- %s
- e.topic,
- e.solution,
- TO_CHAR(e.issue_date, 'YYYYMMDDHH24MISS') issue_date,
- TO_CHAR(e.update_date, 'YYYYMMDDHH24MISS') update_date,
- TO_CHAR(e.last_modified, 'YYYYMMDDHH24MISS') last_modified,
- e.refers_to,
- e.notes
- from rhnErrata e
- where rownum < 3
- """
- h = rhnSQL.prepare(_query_errata_info % self.synposis_column)
- h.execute()
- return h
+ raise NotImplementedError, "To be overridden in a child class"
def dump_subelement(self, data):
d = _ErratumDumper(self._writer, data)
commit 8beaf5a5178e1c56d1fa42537f6a83674cb69325
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Jun 1 14:33:45 2010 +0200
_ErratumSynopsisDumper not used anywhere
diff --git a/backend/satellite_tools/exporter/exportLib.py b/backend/satellite_tools/exporter/exportLib.py
index 6b69a3a..5a6ca8a 100644
--- a/backend/satellite_tools/exporter/exportLib.py
+++ b/backend/satellite_tools/exporter/exportLib.py
@@ -1054,13 +1054,6 @@ class ErrataSynopsisDumper(ErrataDumper):
from rhnErrataSeverity
where id = e.severity_id) || e.synopsis synposis,"""
-class _ErratumSynopsisDumper(_ErratumDumper):
- # SATSYNC: Ignore the Oval files stuff(typeid=4)
- # while exporting errata File info to satellite
- type_id_column = """and ef.type != (select id
- from rhnErrataFileType
- where label = 'OVAL')"""
-
class _ErratumKeywordDumper(BaseDumper):
tag_name = 'rhn-erratum-keywords'
commit f306db35a6f6a7b2d209ea57a19ed7d290c0c1cf
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Jun 1 12:08:51 2010 +0200
removed ChannelsDumper.__init__() which only call __init__() from its parrent
diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index c721c4a..0c385e8 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -974,8 +974,6 @@ class ChannelsDumper(exportLib.ChannelsDumper):
and c.parent_channel = pc.id (+)
and c.checksum_type_id = ct.id (+)
""")
- def __init__(self, writer, channels):
- exportLib.ChannelsDumper.__init__(self, writer, channels)
def dump_subelement(self, data):
log_debug(6, data)
commit c1b998d6b0685573a4d7f3c2433e18ed66fcceda
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Jun 1 11:56:28 2010 +0200
removed methods and queries from _ChannelsDumper which are exact copies of exportLib._ChannelDumper's ones
diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index 41f392c..c721c4a 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -994,39 +994,6 @@ class ChannelsDumper(exportLib.ChannelsDumper):
class _ChannelsDumper(exportLib._ChannelDumper):
tag_name = 'rhn-channel'
- def set_attributes(self):
- channel_id = self._row['id']
-
- packages = map(lambda x: "rhn-package-%s" % x, self._get_package_ids())
- # XXX channel-errata is deprecated and should go away in dump version
- # 3 or higher - we now dump that information in its own subelement
- # rhn-channel-errata
- errata = map(lambda x: "rhn-erratum-%s" % x, self._get_errata_ids())
- ks_trees = self._get_kickstartable_trees()
-
- return {
- 'channel-id' : 'rhn-channel-%s' % channel_id,
- 'org_id' : self._row['org_id'],
- 'label' : self._row['label'],
- 'channel-arch' : self._row['channel_arch'],
- 'packages' : string.join(packages),
- 'channel-errata' : string.join(errata),
- 'kickstartable-trees' : string.join(ks_trees),
- }
-
- _query_channel_families = rhnSQL.Statement("""
- select cf.id, cf.label
- from rhnChannelFamily cf, rhnChannelFamilyMembers cfm
- where cfm.channel_family_id = cf.id
- and cfm.channel_id = :channel_id
- """)
- _query_dist_channel_map = rhnSQL.Statement("""
- select dcm.os, dcm.release, ca.label channel_arch
- from rhnDistChannelMap dcm, rhnChannelArch ca
- where dcm.channel_id = :channel_id
- and dcm.channel_arch_id = ca.id
- """)
-
def set_iterator(self):
channel_id = self._row['id']
arr = []
@@ -1103,32 +1070,6 @@ class _ChannelsDumper(exportLib._ChannelDumper):
h.execute(channel_id=channel_id)
return map(lambda x: x['package_id'], h.fetchall_dict() or [])
- _query_get_source_package_ids = rhnSQL.Statement("""
- select distinct ps.id, sr.name source_rpm,
- TO_CHAR(ps.last_modified, 'YYYYMMDDHH24MISS') last_modified
- from rhnChannelPackage cp, rhnPackage p, rhnPackageSource ps,
- rhnSourceRPM sr
- where cp.channel_id = :channel_id
- and cp.package_id = p.id
- and p.source_rpm_id = ps.source_rpm_id
- and ((p.org_id is null and ps.org_id is null) or
- p.org_id = ps.org_id)
- and ps.source_rpm_id = sr.id
- """)
- def _get_cursor_source_packages(self):
- channel_id = self._row['id']
- h = rhnSQL.prepare(self._query_get_source_package_ids)
- h.execute(channel_id=channel_id)
- return h
-
- _query__get_errata_ids = rhnSQL.Statement("""
- select ce.errata_id, e.advisory_name,
- TO_CHAR(e.last_modified, 'YYYYMMDDHH24MISS') last_modified
- from rhnChannelErrata ce, rhnErrata e
- where ce.channel_id = :channel_id
- and ce.errata_id = e.id
- """)
-
_query__get_errata_ids_by_limits = rhnSQL.Statement("""
select ce.errata_id, e.advisory_name,
TO_CHAR(e.last_modified, 'YYYYMMDDHH24MISS') last_modified
@@ -1152,13 +1093,6 @@ class _ChannelsDumper(exportLib._ChannelDumper):
h.execute(channel_id=channel_id)
return map(lambda x: x['errata_id'], h.fetchall_dict() or [])
- _query_get_kickstartable_trees = rhnSQL.Statement("""
- select kt.label
- from rhnKickstartableTree kt
- where kt.channel_id = :channel_id
- and kt.org_id is null
- """)
-
_query_get_kickstartable_trees_by_limits = rhnSQL.Statement("""
select kt.label
from rhnKickstartableTree kt
commit e0d23ec6d08a059df18ed63c5d799c87a4c9a461
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat May 29 00:26:17 2010 +0200
removed unused import
diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index 72afad3..41f392c 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -15,7 +15,6 @@
#
import time
-import math
import gzip
import string
import tempfile
commit 2b578920101c3e57f8d3b541ee4916c576241721
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat May 29 00:21:46 2010 +0200
removed dump_blacklist_obsoletes(), dump_arches(), dump_server_group_type_server_arches() and _cache_channel_packages_short() from XML_DumperEx because they are identical to those in XML_Dumper which it's inherited from
diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index a067239..72afad3 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -609,55 +609,6 @@ class XML_DumperEx(XML_Dumper):
log_debug(3, "Closed")
# Dumper functions here
- def dump_blacklist_obsoletes(self):
- log_debug(2)
- writer = self._get_xml_writer()
- dumper = SatelliteDumper(writer,
- exportLib.BlacklistObsoletesDumper(writer))
- dumper.dump()
- writer.flush()
- log_debug(4, "OK")
- self.close()
- return 0
-
- def dump_arches(self, rpm_arch_type_only=0):
- log_debug(2)
- writer = self._get_xml_writer()
- dumper = SatelliteDumper(writer,
- exportLib.ChannelArchesDumper(writer,
- rpm_arch_type_only=rpm_arch_type_only),
- exportLib.PackageArchesDumper(writer,
- rpm_arch_type_only=rpm_arch_type_only),
- exportLib.ServerArchesDumper(writer,
- rpm_arch_type_only=rpm_arch_type_only),
- exportLib.CPUArchesDumper(writer),
- exportLib.ServerPackageArchCompatDumper(writer,
- rpm_arch_type_only=rpm_arch_type_only),
- exportLib.ServerChannelArchCompatDumper(writer,
- rpm_arch_type_only=rpm_arch_type_only),
- exportLib.ChannelPackageArchCompatDumper(writer,
- rpm_arch_type_only=rpm_arch_type_only),
- )
- dumper.dump()
- writer.flush()
- log_debug(4, "OK")
- self.close()
- return 0
-
- def dump_server_group_type_server_arches(self, rpm_arch_type_only=0,
- virt_filter=0):
- log_debug(2)
- writer = self._get_xml_writer()
- dumper = SatelliteDumper(writer,
- exportLib.ServerGroupTypeServerArchCompatDumper(writer,
- rpm_arch_type_only=rpm_arch_type_only, virt_filter=virt_filter),
- )
- dumper.dump()
- writer.flush()
- log_debug(4, "OK")
- self.close()
- return 0
-
def dump_channel_families(self, virt_filter=0):
log_debug(2)
@@ -736,36 +687,6 @@ class XML_DumperEx(XML_Dumper):
# We're done
return 0
- def _cache_channel_packages_short(self, channel_id, key, last_modified):
- """ Caches the short package entries for channel_id """
- # Create a temporary file
- temp_stream = tempfile.TemporaryFile()
- # Always compress the result
- compress_level = 5
- stream = gzip.GzipFile(None, "wb", compress_level, temp_stream)
- writer = xmlWriter.XMLWriter(stream=stream)
-
- # Fetch packages
- h = rhnSQL.prepare(self._query_get_channel_packages)
- h.execute(channel_id=channel_id)
- package_ids = h.fetchall_dict() or []
- # Sort packages
- package_ids.sort(lambda a, b: cmp(a['package_id'], b['package_id']))
-
- dumper = SatelliteDumper(writer,
- ShortPackagesDumper(writer, package_ids))
- dumper.dump()
- writer.flush()
- # We're done with the stream object
- stream.close()
- del stream
- temp_stream.seek(0, 0)
- # Set the value in the cache. We don't recompress the result since
- # it's already compressed
- rhnCache.set(key, temp_stream.read(), modified=last_modified,
- compressed=0, raw=1)
- return self._normalize_compressed_stream(temp_stream)
-
def _packages(self, packages, prefix, dump_class, sources=0):
if sources:
h = self.get_source_packages_statement()
commit 1a9000ae28b1677de5eaaf0a3bd372a4eae41d23
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat May 29 00:09:14 2010 +0200
removed SatelliteDumperEx; it's equivalent of SatelliteDumper
diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index 4799997..a067239 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -612,7 +612,7 @@ class XML_DumperEx(XML_Dumper):
def dump_blacklist_obsoletes(self):
log_debug(2)
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer,
+ dumper = SatelliteDumper(writer,
exportLib.BlacklistObsoletesDumper(writer))
dumper.dump()
writer.flush()
@@ -623,7 +623,7 @@ class XML_DumperEx(XML_Dumper):
def dump_arches(self, rpm_arch_type_only=0):
log_debug(2)
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer,
+ dumper = SatelliteDumper(writer,
exportLib.ChannelArchesDumper(writer,
rpm_arch_type_only=rpm_arch_type_only),
exportLib.PackageArchesDumper(writer,
@@ -648,7 +648,7 @@ class XML_DumperEx(XML_Dumper):
virt_filter=0):
log_debug(2)
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer,
+ dumper = SatelliteDumper(writer,
exportLib.ServerGroupTypeServerArchCompatDumper(writer,
rpm_arch_type_only=rpm_arch_type_only, virt_filter=virt_filter),
)
@@ -665,7 +665,7 @@ class XML_DumperEx(XML_Dumper):
h.execute()
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer,
+ dumper = SatelliteDumper(writer,
exportLib.ChannelFamiliesDumper(writer,
data_iterator=h, null_max_members=0, virt_filter=virt_filter),)
dumper.dump()
@@ -679,7 +679,7 @@ class XML_DumperEx(XML_Dumper):
channels = self._validate_channels(channel_labels=channel_labels)
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer, ChannelsDumperEx(writer,
+ dumper = SatelliteDumper(writer, ChannelsDumperEx(writer,
channels=channels.values()))
dumper.dump()
writer.flush()
@@ -752,7 +752,7 @@ class XML_DumperEx(XML_Dumper):
# Sort packages
package_ids.sort(lambda a, b: cmp(a['package_id'], b['package_id']))
- dumper = SatelliteDumperEx(writer,
+ dumper = SatelliteDumper(writer,
ShortPackagesDumper(writer, package_ids))
dumper.dump()
writer.flush()
@@ -794,7 +794,7 @@ class XML_DumperEx(XML_Dumper):
packages_hash[package_id] = row
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer,
+ dumper = SatelliteDumper(writer,
dump_class(writer, packages_hash.values()))
dumper.dump()
writer.flush()
@@ -830,7 +830,7 @@ class XML_DumperEx(XML_Dumper):
errata_hash[errata_id] = row
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer,
+ dumper = SatelliteDumper(writer,
ErrataDumperEx(writer, errata_hash.values()))
dumper.dump()
writer.flush()
@@ -844,7 +844,7 @@ class XML_DumperEx(XML_Dumper):
kickstart_labels=kickstart_labels)
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer,
+ dumper = SatelliteDumper(writer,
KickstartableTreesDumper(writer, kickstarts=kickstarts))
dumper.dump()
writer.flush()
@@ -855,7 +855,7 @@ class XML_DumperEx(XML_Dumper):
def dump_product_names(self):
log_debug(4)
writer = self._get_xml_writer()
- dumper = SatelliteDumperEx(writer, exportLib.ProductNamesDumper(writer))
+ dumper = SatelliteDumper(writer, exportLib.ProductNamesDumper(writer))
dumper.dump()
writer.flush()
self.close()
@@ -869,14 +869,6 @@ class SatelliteDumper(exportLib.SatelliteDumper):
attributes['generation'] = CFG.SAT_CERT_GENERATION
return attributes
-class SatelliteDumperEx(SatelliteDumper):
- def set_attributes(self):
- """ Overriding with our own version """
- attributes = exportLib.SatelliteDumper.set_attributes(self)
- attributes['version'] = constants.PROTOCOL_VERSION
- attributes['generation'] = CFG.SAT_CERT_GENERATION
- return attributes
-
class QueryIterator:
""" A query iterator successively applies the list of params as execute() to the
statement that was passed in, and presents the union of the result sets as a
commit dbb8baadc9c3c0f27f86f57f8646fe91af0060da
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat May 29 00:06:39 2010 +0200
dumper should use export xml dump version
diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index 67f49dd..4799997 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -865,7 +865,7 @@ class SatelliteDumper(exportLib.SatelliteDumper):
def set_attributes(self):
""" Overriding with our own version """
attributes = exportLib.SatelliteDumper.set_attributes(self)
- attributes['version'] = CFG.XML_DUMP_VERSION
+ attributes['version'] = constants.PROTOCOL_VERSION
attributes['generation'] = CFG.SAT_CERT_GENERATION
return attributes
commit 7f1741ce692dadfea6829b5087ac16d922dbea7d
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat May 29 00:05:53 2010 +0200
added comments to distinguish exported and imported xml dump versions
diff --git a/backend/rhn-conf/rhn_server_iss.conf b/backend/rhn-conf/rhn_server_iss.conf
index c3ff4ce..cdc226a 100644
--- a/backend/rhn-conf/rhn_server_iss.conf
+++ b/backend/rhn-conf/rhn_server_iss.conf
@@ -1,10 +1,11 @@
# ** DO NOT EDIT **
-# RHN config for requests traveling through the /SAT-XML-DUMP receiver
+# RHN config for requests traveling through the /SAT receiver
# ISS - Inter Spacewalk Sync
# variables which affects live synchronization between two Spacewalk or
# between Satellite and hosted.
-xml_dump_version = 3.5
+# newest XML dump version we can import
+xml_dump_version = 3.6
use_database_cache = 0
diff --git a/backend/satellite_tools/constants.py b/backend/satellite_tools/constants.py
index baebe1a..1dd2eb8 100644
--- a/backend/satellite_tools/constants.py
+++ b/backend/satellite_tools/constants.py
@@ -16,7 +16,9 @@
Constant values (protocol versions, etc) for satellite sync/exporter.
"""
+# XML dump version we export
PROTOCOL_VERSION = 3.6
+
ALLOWED_SYNC_PROTOCOL_VERSIONS = ['3.6', '3.5', '3.4', '3.3', '3.2', '3.1', '3.0']
# Support for checksums other then md5
commit 4965fe20bc0b537511e56aaeb21aca75aa2fb7da
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri May 28 23:52:05 2010 +0200
fixed handler name to which this config file belongs
diff --git a/backend/rhn-conf/rhn_server_satexport_internal.conf b/backend/rhn-conf/rhn_server_satexport_internal.conf
index 3979f9d..9805602 100644
--- a/backend/rhn-conf/rhn_server_satexport_internal.conf
+++ b/backend/rhn-conf/rhn_server_satexport_internal.conf
@@ -1,5 +1,5 @@
# ** DO NOT EDIT **
-# RHN config for requests traveling through the /SAT-XML-DUMP receiver
+# RHN config for requests traveling through the /SAT-DUMP-INTERNAL receiver
#
log_file = /var/log/rhn/rhn_sat_export_internal.log
commit 8f54461ff8b74576351d4b989a2bdf100d27eb20
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri May 28 23:41:28 2010 +0200
removed rhn_server_satexport.conf from spec
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index a02aba6..1684e9a 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -494,7 +494,6 @@ rm -f %{rhnconf}/rhnSecret.py*
# config files
%attr(640,root,apache) %config %{httpdconf}/rhn/spacewalk-backend-sat-export-internal.conf
%config %{_sysconfdir}/logrotate.d/rhn_sat_export_internal
-%attr(640,root,apache) %{rhnconf}/default/rhn_server_satexport.conf
%attr(640,root,apache) %{rhnconf}/default/rhn_server_satexport_internal.conf
commit fded56b062035277bc3adbb2a5cbec57c74a02af
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri May 28 23:35:21 2010 +0200
there is no /SAT-XML-DUMP and this file is not used anywhere
diff --git a/backend/rhn-conf/rhn_server_satexport.conf b/backend/rhn-conf/rhn_server_satexport.conf
deleted file mode 100644
index 9d67d71..0000000
--- a/backend/rhn-conf/rhn_server_satexport.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# ** DO NOT EDIT **
-# RHN config for requests traveling through the /SAT-XML-DUMP receiver
-#
-
-use_database_cache = 0
-
-sat_cert_generation = 2
13 years, 12 months
client/rhel
by Milan Zazrivec
client/rhel/rhn-client-tools/src/up2date_client/up2dateUtils.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit f955f71174c0655d899684396e8c72a1711df2c9
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Jun 3 11:55:04 2010 +0200
598890 - always return product version as string
This is to avoid registration (tui) errors:
Traceback (most recent call last):
File "/usr/sbin/rhn_register", line 75, in <module>
app.run()
File "/usr/share/rhn/up2date_client/rhncli.py", line 74, in run
sys.exit(self.main() or 0)
File "/usr/sbin/rhn_register", line 57, in main
ui.main()
File "/usr/share/rhn/up2date_client/tui.py", line 1203, in main
tui.run()
File "/usr/share/rhn/up2date_client/tui.py", line 1151, in run
win = self.windows[index](self.screen, self)
File "/usr/share/rhn/up2date_client/tui.py", line 603, in __init__
hardware_text += _("Version: ") + up2dateUtils.getVersion() + " "
<type 'exceptions.TypeError'>: cannot concatenate 'str' and 'int'
objects
diff --git a/client/rhel/rhn-client-tools/src/up2date_client/up2dateUtils.py b/client/rhel/rhn-client-tools/src/up2date_client/up2dateUtils.py
index f2eded1..117c9d0 100644
--- a/client/rhel/rhn-client-tools/src/up2date_client/up2dateUtils.py
+++ b/client/rhel/rhn-client-tools/src/up2date_client/up2dateUtils.py
@@ -41,7 +41,7 @@ def getVersion():
Returns the version of redhat-release rpm
'''
os_release, version, release = _getOSVersionAndRelease()
- return version
+ return str(version)
def getOSRelease():
'''
13 years, 12 months
client/rhel
by Transifex System User
client/rhel/rhn-client-tools/po/es.po | 1509 ++--------------------------------
1 file changed, 114 insertions(+), 1395 deletions(-)
New commits:
commit 90bc0e9bc981db16a4b30fc4d74115d356847ca2
Author: gguerrer <gguerrer(a)fedoraproject.org>
Date: Thu Jun 3 07:01:41 2010 +0000
l10n: Updates to Spanish (Castilian) (es) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/client/rhel/rhn-client-tools/po/es.po b/client/rhel/rhn-client-tools/po/es.po
index 0115309..b64bc9d 100644
--- a/client/rhel/rhn-client-tools/po/es.po
+++ b/client/rhel/rhn-client-tools/po/es.po
@@ -1,26 +1,26 @@
-# translation of es.po to Spanish
-# translation of es.po to Portuguese
+# translation of spacewalk.rhn-client-tools.es.po to Spanish
# Translation of up2date to Spanish (Español)
-# Copyright (C) 2003,2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003,2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
# Nuria Soriano <nsoriano(a)redhat.es> 2001
+#
# Luis Mayoral <mayoral(a)linuxadicto.org>, 2003.
# Rodolfo M. Raya <rmraya(a)maxprograms.com>, 2004,2005.
# Yelitza Louze <ylouze(a)redhat.com>, 2004.
# David Barzilay <barzilay(a)redhat.com>, 2004.
# Manuel Ospina <mospina(a)redhat.com>, 2005, 2006, 2007.
-#
+# Gladys Guerrero <gguerrer(a)redhat.com>, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: es\n"
+"Project-Id-Version: spacewalk.rhn-client-tools.es\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-07 13:34+0200\n"
-"PO-Revision-Date: 2007-02-01 11:27+1000\n"
-"Last-Translator: Manuel Ospina <mospina(a)redhat.com>\n"
-"Language-Team: Spanish <en(a)li.org>\n"
+"PO-Revision-Date: 2010-06-03 16:45+1000\n"
+"Last-Translator: Gladys Guerrero <gguerrer(a)redhat.com>\n"
+"Language-Team: Spanish <es(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9.1\n"
+"X-Generator: KBabel 1.11.4\n"
#: ../src/up2date_client/capabilities.py:88
#, python-format
@@ -48,12 +48,11 @@ msgstr "Finalizando la configuración de actualizaciones de software"
#: ../src/up2date_client/gui.py:301
msgid "_Exit"
-msgstr ""
+msgstr "Salida"
#: ../src/up2date_client/gui.py:302
-#, fuzzy
msgid "Software updates setup unsuccessful"
-msgstr "Configuración de las actualizaciones de software fallido"
+msgstr "Configuración de actualizaciones de software fallida"
#: ../src/up2date_client/gui.py:312
msgid "You must run rhn_register as root."
@@ -78,8 +77,7 @@ msgstr "Error leyendo la información de la red:"
#: ../src/up2date_client/hardware.py:693
msgid "Error reading install method information:"
-msgstr ""
-"Error durante la lectura de la información sobre el método de instalación:"
+msgstr "Error durante la lectura de la información sobre el método de instalación:"
#: ../src/up2date_client/hardware.py:701
msgid "Error reading network interface information:"
@@ -103,16 +101,15 @@ msgstr "Diálogo sí/no:"
#: ../src/up2date_client/messageWindow.py:123
msgid "Question dialog:"
-msgstr "Diálogo de preguntas:"
+msgstr "Cuadro de diálogo de preguntas:"
#: ../src/up2date_client/rhnChannel.py:97
msgid "Unable to Locate SystemId"
-msgstr ""
+msgstr "No se pudo Locate Systemld"
#: ../src/up2date_client/rhnChannel.py:114
msgid "This system may not be updated until it is associated with a channel."
-msgstr ""
-"Este sistema no podrá ser actualizado hasta que esté asociado a un canal."
+msgstr "Este sistema no podrá ser actualizado hasta que esté asociado a un canal."
#: ../src/up2date_client/rhncli.py:47
msgid "Show additional output"
@@ -124,8 +121,7 @@ msgstr "Especifique el proxy http a usar"
#: ../src/up2date_client/rhncli.py:51
msgid "Specify a username to use with an authenticated http proxy"
-msgstr ""
-"Especifique un nombre de usuario para usar con un proxy http autenticado"
+msgstr "Especifique un nombre de usuario para usar con un proxy http autenticado"
#: ../src/up2date_client/rhncli.py:53
msgid "Specify a password to use with an authenticated http proxy"
@@ -145,14 +141,13 @@ msgid "An unexpected OS error occurred: %s\n"
msgstr "Ha ocurrido un error del SO no esperado: %s\n"
#: ../src/up2date_client/rhncli.py:83
-#, fuzzy
msgid "A connection was attempted with a malformed URI.\n"
-msgstr "Se intentó una conexión con un URI mal formado.\n"
+msgstr "Se intentó una conexión con una URI mal formada.\n"
#: ../src/up2date_client/rhncli.py:85
-#, fuzzy, python-format
+#, python-format
msgid "A connection was attempted with a malformed URI: %s.\n"
-msgstr "Se intentó una conexión con un URI mal formado: %s.\n"
+msgstr "Se intentó una conexión con una URI mal formada: %s.\n"
#: ../src/up2date_client/rhncli.py:87
#, python-format
@@ -192,7 +187,7 @@ msgid "Unable to open gui. Try `up2date --nox`"
msgstr "No se puede usar modo gráfico. Pruebe con `up2date --nox`"
#: ../src/up2date_client/rhncli.py:184
-#, fuzzy, python-format
+#, python-format
msgid ""
"%%prog (Red Hat Network Client Tools) %s\n"
"Copyright (C) 1999--2010 Red Hat, Inc.\n"
@@ -200,7 +195,7 @@ msgid ""
msgstr ""
"%%prog (Red Hat Network Client Tools) %s\n"
"Copyright (C) 1999-2006 Red Hat, Inc.\n"
-"Licenciado bajo los términos del GPL."
+"Licenciado bajo los términos del GPLv2."
#: ../src/up2date_client/rhncli.py:204
msgid "An error has occurred:"
@@ -211,9 +206,8 @@ msgid "See /var/log/up2date for more information"
msgstr "Vea /var/log/up2date para obtener mayor información"
#: ../src/up2date_client/rhnreg_constants.py:13
-#, fuzzy
msgid "Copyright © 2006--2010 Red Hat, Inc. All rights reserved."
-msgstr "Copyright © 2006 Red Hat, Inc. Todos los derechos reservados."
+msgstr "Copyright © 2006--2010 Red Hat, Inc. Todos los derechos reservados."
#. Connect Window
#: ../src/up2date_client/rhnreg_constants.py:16
@@ -344,22 +338,20 @@ msgid "Software update setup unsuccessful"
msgstr "Configuración de las actualizaciones de software fallido"
#: ../src/up2date_client/rhnreg_constants.py:60
-#, fuzzy
msgid ""
"Are you sure you don't want to connect your system to Red Hat Network? "
"You'll miss out on the benefits of a Red Hat Enterprise Linux subscription:\n"
msgstr ""
-"¿Está seguro de no querer conectar su sistema con Red Hat Network? Perderá "
-"los beneficios de una suscripción de Red Hat Enterprise Linux:"
+"¿Está seguro de no querer conectar su sistema a Red Hat Network? Perderá "
+"los beneficios de una suscripción de Red Hat Enterprise Lin\nux:\n"
#: ../src/up2date_client/rhnreg_constants.py:62
-#, fuzzy
msgid ""
"You will not be able to take advantage of these subscription privileges "
"without connecting your system to Red Hat Network.\n"
msgstr ""
-"Usted <b>no</b> podrá aprovechar las ventajas de los privilegios de esta "
-"suscripción si no conecta su sistema a Red Hat Network."
+"No podrá aprovechar las ventajas de estos privilegios de "
+"suscripción si no conecta su sistema a Red Hat Network.\n"
#: ../src/up2date_client/rhnreg_constants.py:65
msgid "I'll register later."
@@ -421,13 +413,12 @@ msgstr ""
"\n"
#: ../src/up2date_client/rhnreg_constants.py:82
-#, fuzzy
msgid ""
"Tip: Forgot your login or password? Visit: https://rhn.redhat.com/rhn/sales/"
"LoginInfo.do"
msgstr ""
-"<small>Consejo: ¿ Se olvidó de su nombre de cuenta o contraseña ?\n"
-"Búsquela en https://www.redhat.com/wapps/sso/rhn/lostPassword.html</small>"
+"Consejo: ¿Olvidó su nombre de cuenta o contraseña? Vaya a "
+"https://rhn.redhat.com/rhn/sales/LoginInfo.do"
#: ../src/up2date_client/rhnreg_constants.py:84
msgid "*Email Address:"
@@ -776,7 +767,7 @@ msgstr ""
"nuevamente con un servidor más nuevo."
#: ../src/up2date_client/rhnreg_constants.py:229
-#, fuzzy, python-format
+#, python-format
msgid ""
"<b><span size=\"16000\">Incompatible Certificate File</span></b>\n"
"\n"
@@ -790,8 +781,8 @@ msgstr ""
"<b><span size=\"16000\">Archivo de certificado incompatible</span></b>\n"
"\n"
"El certificado que proporcionó, <b>%s</b>, no es compatible con el servidor "
-"Red Hat Network en <b>%s</b>. Puede revisar que haya proporcionado un "
-"archivo de certificado válido. ¿Está seguro de haber proporcionado un "
+"Red Hat Network en <b>%s</b>. Revise si el "
+"archivo de certificado proporcionado es válido. ¿Está seguro de haber proporcionado un "
"certificado correcto y que el archivo del certificado no esté dañado?\n"
"\n"
"Por favor intente nuevamente con un archivo de certificado diferente."
@@ -803,11 +794,13 @@ msgid ""
" The certificate is expired. Please ensure you have the correct certificate "
"and your system time is correct."
msgstr ""
+"<b><span size=\"12000\">Archivo de certificado incompatible</span></b>\n"
+"\n"
+" El certificado expiró. Por favor verifique si tiene el certificado correcto y su tiempo de sistema es correcto."
#: ../src/up2date_client/rhnreg_constants.py:241
msgid "Please verify the value of sslCACert in /etc/sysconfig/rhn/up2date"
-msgstr ""
-"Por favor verifique el valor de sslCACert en /etc/sysconfig/rhn/up2date"
+msgstr "Por favor verifique el valor de sslCACert en /etc/sysconfig/rhn/up2date"
#: ../src/up2date_client/rhnreg_constants.py:244
msgid ""
@@ -836,12 +829,15 @@ msgid ""
" Tip: Minor releases with a '*' are currently supported by Red Hat.\n"
"\n"
msgstr ""
+"\n"
+" Consejo: Los lanzamientos menores con un '*' están soportados actualmente por Red Hat.\n"
+"\n"
#: ../src/up2date_client/rhnreg_constants.py:260
msgid ""
"Warning:You will not be able to limit this system to minor release that is "
"older than the recent minor release if you select this option.\n"
-msgstr ""
+msgstr "Advertencia: Si selecciona esta opción, no podrá limitar este sistema a un lanzamiento menor anterior al lanzamiento menor reciente.\n"
#: ../src/up2date_client/rhnreg_constants.py:265
#, python-format
@@ -852,6 +848,11 @@ msgid ""
"(you will be able to move to a newer release.)\n"
"Are you sure you Would like to Continue?"
msgstr ""
+"Su sistema no estará suscrito a %s \n"
+"canal de software base. No podrá\n"
+"desplazar este sistema a uno anterior\n"
+"(no podrá desplazarse a un lanzamiento más reciente.)\n"
+"¿Está seguro de continuar?"
#. Navigation
#: ../src/up2date_client/rhnreg_constants.py:274
@@ -901,22 +902,18 @@ msgid "Notice"
msgstr "Notificación"
#: ../src/up2date_client/rhnregGui.py:261
-#, fuzzy
msgid "There was an error while applying your choice."
-msgstr "Se produjo un error mientras se completaba el perfil."
+msgstr "Se produjo un error mientras hacía su elección."
#: ../src/up2date_client/rhnregGui.py:287
msgid "You specified an invalid protocol. Only https and http are allowed."
msgstr "Especificó un protocolo no válido. Solo https y http son permitidos."
#: ../src/up2date_client/rhnregGui.py:300
-#, fuzzy
msgid ""
"You will not be able to successfully register this system without contacting "
"a Red Hat Network server."
-msgstr ""
-"Usted <b>no</b> podrá aprovechar las ventajas de los privilegios de esta "
-"suscripción si no conecta su sistema a Red Hat Network."
+msgstr "No podrá registrar este sistema exitósamente si no contacta al servidor de Red Hat Network."
#: ../src/up2date_client/rhnregGui.py:325
#, python-format
@@ -957,48 +954,43 @@ msgstr "Se produjo un error al conectarse con Red Hat Network."
#: ../src/up2date_client/rhnregGui.py:351
msgid "The server may be in outage mode. You may have to try connecting later."
msgstr ""
-"El servidor podría estar temporalmente fuera de servicio. Puede intentarlo "
-"posteriormente."
+"El servidor está temporalmente fuera de servicio. Puede intentarlo "
+"más tarde."
#: ../src/up2date_client/rhnregGui.py:353
msgid "You may be running a client that is incompatible with the server."
-msgstr ""
-"Usted podría estar ejecutando un cliente que es incompatible con el servidor."
+msgstr "Podría estar ejecutando un cliente incompatible con el servidor."
#: ../src/up2date_client/rhnregGui.py:396
-#, fuzzy, python-format
+#, python-format
msgid ""
"Please enter your account information for the <b>%s</b> Red Hat Network "
"Satellite:"
msgstr ""
-"Por favor introduzca su información de login para el %s Red Hat Network "
-"Satellite:\n"
-"\n"
+"Por favor ingrese su información de cuenta para <b>%s</b> Red Hat Network "
+"Satellite:"
#: ../src/up2date_client/rhnregGui.py:445
msgid "You must enter a login."
-msgstr "Debe introducir un login."
+msgstr "Debe introducir un nombre de ingreso."
#: ../src/up2date_client/rhnregGui.py:451
msgid "You must enter a password."
msgstr "Debe introducir una contraseña."
#: ../src/up2date_client/rhnregGui.py:465
-#, fuzzy
msgid "There was an error while logging in."
-msgstr "Se presentó un problema durante el registro."
+msgstr "Se presentó un error durante el registro."
#: ../src/up2date_client/rhnregGui.py:489
msgid ""
"There was an error communicating with the registration server. The message "
"was:\n"
-msgstr ""
-"Se produjo un error conectando al servidor de registros. El mensaje era:\n"
+msgstr "Se produjo un error conectando al servidor de registros. El mensaje era:\n"
#: ../src/up2date_client/rhnregGui.py:631
-#, fuzzy
msgid "There was an error while assembling information for the profile."
-msgstr "Se produjo un error mientras se completaba el perfil."
+msgstr "Se produjo un error mientras se reunía información para el perfil."
#: ../src/up2date_client/rhnregGui.py:652
msgid "Error running hardware profile"
@@ -1013,9 +1005,8 @@ msgid "You must choose a name for this profile."
msgstr "Debe escoger un nombre para este perfil."
#: ../src/up2date_client/rhnregGui.py:714
-#, fuzzy
msgid "There was an error while creating the profile."
-msgstr "Se produjo un error mientras se completaba el perfil."
+msgstr "Se produjo un error durante la creación del perfil."
#: ../src/up2date_client/rhnregGui.py:725
msgid "Sending your profile information to Red Hat Network. Please wait."
@@ -1093,9 +1084,8 @@ msgid "Problem registering personal information"
msgstr "Problemas registrando la información personal"
#: ../src/up2date_client/rhnregGui.py:940
-#, fuzzy
msgid "There was an error while installing the certificate."
-msgstr "Se produjo un error mientras se completaba el perfil."
+msgstr "Se produjo un error mientras se instalaba el perfil."
#: ../src/up2date_client/rhnregGui.py:966
msgid "You must select a certificate."
@@ -1123,9 +1113,8 @@ msgid "unknown"
msgstr "desconocido"
#: ../src/up2date_client/rhnregGui.py:1138
-#, fuzzy
msgid "There was an error getting the list of hardware."
-msgstr "Se produjo un error mientras se completaba el perfil."
+msgstr "Se produjo un error durante la obtención de la lista de hardware."
#: ../src/up2date_client/rhnregGui.py:1150 ../src/up2date_client/tui.py:631
#, python-format
@@ -1138,9 +1127,8 @@ msgid "%s MB"
msgstr "%s MB"
#: ../src/up2date_client/rhnregGui.py:1198
-#, fuzzy
msgid "There was an error building the list of packages."
-msgstr "Se produjo un error fatal instalando el paquete:\n"
+msgstr "Se produjo un error fatal durante la creación de la lista de paquetes."
#: ../src/up2date_client/rhnregGui.py:1213
msgid "Package"
@@ -1189,13 +1177,12 @@ msgid "Warning: unable to enable rhnsd with chkconfig"
msgstr "Advertencia: no es posible habilitar rhnsd con chkconfig"
#: ../src/up2date_client/rhnreg.py:65
-#, fuzzy
msgid "Warning: unable to run rhn_check"
-msgstr "Advertencia: no es posible habilitar rhnsd con chkconfig"
+msgstr "Advertencia: no es posible ejecutar rhn_check"
#: ../src/up2date_client/rpcServer.py:47
msgid "Error: Server Unavailable. Please try later."
-msgstr ""
+msgstr "Error: El servidor no está disponible. Por favor intente más tarde."
#: ../src/up2date_client/rpcServer.py:171
msgid "ERROR: can not find RHNS CA file"
@@ -1218,56 +1205,50 @@ msgid "System software updates already set up"
msgstr "Las actualizaciones de software del sistema ya han sido configuradas"
#: ../src/up2date_client/tui.py:115
-#, fuzzy
msgid "Red Hat Network Location:"
msgstr "Ubicación de Red Hat Network:"
#: ../src/up2date_client/tui.py:117
-#, fuzzy
msgid "System ID:"
-msgstr ""
-"\n"
-"ID del sistema:"
+msgstr "ID del sistema:"
#: ../src/up2date_client/tui.py:371
msgid "The server indicated an error:\n"
msgstr "El servidor indicó un error:\n"
#: ../src/up2date_client/tui.py:375
-#, fuzzy
msgid "There was an error communicating with the registration server:\n"
-msgstr ""
-"Se produjo un error conectando al servidor de registros. El mensaje era:\n"
+msgstr "Se produjo un error al comunicarse con el servidor de registros:\n"
#: ../src/up2date_client/tui.py:434
msgid "Select Operating System Release"
-msgstr ""
+msgstr "Seleccione el lanzamiento de sistema operativo"
#: ../src/up2date_client/tui.py:438
msgid "Operating System version:"
-msgstr ""
+msgstr "Versión de sistema operativo:"
#: ../src/up2date_client/tui.py:440
msgid "Limited Updates Only"
-msgstr ""
+msgstr "Actualizaciones limitadas únicamente"
#: ../src/up2date_client/tui.py:452
msgid " Minor Release: "
-msgstr ""
+msgstr "Lanzamiento menor:"
#: ../src/up2date_client/tui.py:467
msgid "All available updates"
-msgstr ""
+msgstr "Todas las actualizaciones disponibles"
#: ../src/up2date_client/tui.py:520
msgid "Confirm operating system release selection"
-msgstr ""
+msgstr "Confirmar selección de lanzamiento de sistema operativo"
#: ../src/up2date_client/tui.py:528
msgid ""
"Your system will be subscribed to the base software channel to receive all "
"available updates."
-msgstr ""
+msgstr "Su sistema estará suscrito al canal de software base para recibir todas las actualizaciones disponibles."
#: ../src/up2date_client/tui.py:572
msgid "Register a System Profile - Hardware"
@@ -1342,8 +1323,7 @@ msgstr ""
#: ../src/up2date_client/tui.py:694
msgid "Include RPM packages installed on this system in my System Profile"
-msgstr ""
-"Incluir paquetes RPM instalados en este sistema en mi Perfil de Sistema."
+msgstr "Incluir paquetes RPM instalados en este sistema en mi Perfil de Sistema."
#: ../src/up2date_client/tui.py:698
msgid "You may deselect individual packages by unchecking them below."
@@ -1386,8 +1366,7 @@ msgid "You specified an invalid protocol."
msgstr "Especificó un protocolo no válido."
#: ../src/up2date_client/tui.py:1106
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
+msgid " <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
msgstr ""
" <Tab>/<Alt-Tab> entre elementos | <Espacio> selecciona | <F12> pantalla "
"siguiente"
@@ -1458,16 +1437,14 @@ msgstr "Error de retardo del servidor. El mensaje fue:\n"
#: ../src/up2date_client/up2dateErrors.py:204
#, python-format
msgid "Could not remove package \"%s\". It was on the RemoveSkipList"
-msgstr ""
-"No se puede eliminar el paquete \"%s\". Está en la lista de borrados a omitir"
+msgstr "No se puede eliminar el paquete \"%s\". Está en la lista de borrados a omitir"
#: ../src/up2date_client/up2dateErrors.py:227
msgid "GPG is not installed properly."
msgstr "No se ha instalado GPG de forma adecuada."
#: ../src/up2date_client/up2dateErrors.py:237
-msgid ""
-"GPG keyring does not include the Red Hat, Inc. public package-signing key"
+msgid "GPG keyring does not include the Red Hat, Inc. public package-signing key"
msgstr ""
"El llavero GPG no incluye la clave pública para firma de paquetres de Red "
"Hat, Inc."
@@ -1529,10 +1506,24 @@ msgid ""
"retry to avoid\n"
" requiring a Management entitlement."
msgstr ""
+"\n"
+" Su organización no tiene suficientes derechos administrativos para registrar este\n"
+" sistema a Red Hat Network. Por favor informe al administrador de su organización sobre "
+"este error. \n"
+" Debe registrar este sistema después de que su organización libere los derechos "
+"existentes \n"
+" o derechos de compra adicionales. Los derechos adicionales pueden ser adquiridos por el administrador de su organización\n"
+" ingresando a Red Hat Network y visitando\n"
+" la página de 'Administración de suscripción' en 'Su sección RHN' de RHN.\n"
+" \n"
+" Una causa común de este código de error se debe a haber configurado equivocadamente una\n"
+" llave de activación establecida como universal predeterminada. Si la llave de activación está establecida\n"
+" en la cuenta como universal predeterminada, puede desactivarla y volver a intentar para evitar\n"
+" que se le solicite un derecho administrativo."
#: ../src/firstboot/rhn_choose_server_gui.py:40 ../data/rh_register.glade.h:43
msgid "Choose Server"
-msgstr "Escoja un servidor"
+msgstr "Elija un servidor"
#: ../src/firstboot/rhn_choose_server_gui.py:42
msgid "Choose a Red Hat Network server"
@@ -1565,8 +1556,7 @@ msgid "There was a communication error with the server: %s"
msgstr "Se produjo un error en la comunicación con el servidor: %s"
#: ../src/firstboot/rhn_login_gui.py:106
-msgid ""
-"Would you like to try changing the network configuration and trying again?"
+msgid "Would you like to try changing the network configuration and trying again?"
msgstr "¿Quiere probar cambiar la configuración de la red y reintentar?"
#: ../src/firstboot/rhn_provide_certificate_gui.py:40
@@ -1638,14 +1628,15 @@ msgid "Specify an activation key"
msgstr "Especifique una llave de activación"
#: ../src/bin/rhnreg_ks.py:58
-msgid ""
-"Subscribe this system to the EUS channel tied to the system's redhat-release"
-msgstr ""
+msgid "Subscribe this system to the EUS channel tied to the system's redhat-release"
+msgstr "Suscriba este sistema al canal EUS ligado a la versión de redhat del sistema"
#: ../src/bin/rhnreg_ks.py:60
-#, fuzzy
msgid "[Deprecated] Read contact info from stdin"
-msgstr "Leer la información de contacto desde stdin "
+msgstr ""
+""
+"[Descontinuado] Lea la información de contacto desde stdin"
+"Leer la información de contacto desde stdin "
#: ../src/bin/rhnreg_ks.py:62
msgid "Do not probe or upload any hardware info"
@@ -1669,8 +1660,7 @@ msgstr "Registre el sistema incluso si ya ha sido registrado"
#: ../src/bin/rhnreg_ks.py:80
msgid "A username and password are required to register a system."
-msgstr ""
-"Se necesita un nombre de usuario y una contraseña para registrar un sistema."
+msgstr "Se necesita un nombre de usuario y una contraseña para registrar un sistema."
#: ../src/bin/rhnreg_ks.py:85
msgid "This system is already registered. Use --force to override"
@@ -1681,19 +1671,18 @@ msgid ""
"Usage of --use-eus-channel option with --activationkey is not supported. "
"Please use username and password instead."
msgstr ""
+"No está soportado el uso de la opción --use-eus-channel con --activationkey. "
+"Por favor use nombre de usuario y contraseña en su lugar."
#: ../src/bin/rhnreg_ks.py:122
-#, fuzzy
msgid "The server you are registering against does not support EUS."
-msgstr ""
-"El servidor al cual está intentando registrarse no soporta esta versión del "
-"cliente."
+msgstr "El servidor al cual está intentando registrarse no soporta EUS."
#: ../src/bin/rhnreg_ks.py:152
msgid ""
"Warning: --contactinfo option has been deprecated. Please login to the "
"server web user Interface and update your contactinfo. "
-msgstr ""
+msgstr "Advertencia: la opción --contactinfo ha sido depreciada. Por favor ingrese a la interfaz de usuario de servidor de web y actualice su información de contacto."
#: ../src/bin/rhnreg_ks.py:192
msgid ""
@@ -1725,22 +1714,23 @@ msgstr "Registrándose para actualizaciones de software"
#: ../data/gui.glade.h:7
msgid "Select operating system release"
-msgstr ""
+msgstr "Seleccione la versión de sistema operativo"
#: ../data/progress.glade.h:1
msgid "Progress Dialog"
-msgstr "Ventana de progreso"
+msgstr "Cuadro de diálogo de progreso"
#: ../data/rh_register.glade.h:1
-#, fuzzy
msgid ""
"\n"
"Are you sure you would like to continue?"
-msgstr "¿Está seguro de querer continuar?"
+msgstr ""
+"\n"
+"¿Está seguro de querer continuar?"
#: ../data/rh_register.glade.h:3
msgid " "
-msgstr ""
+msgstr " "
#: ../data/rh_register.glade.h:4
msgid "<b>Compliance:</b>"
@@ -1787,6 +1777,8 @@ msgid ""
"<b>Tip:</b> Minor releases with a '*' are currently fully supported by Red "
"Hat."
msgstr ""
+"<b>Consejo:</b> Las versiones menores con un '*' son actualmente soportadas totalmente por Red "
+"Hat."
#: ../data/rh_register.glade.h:14
msgid ""
@@ -1891,10 +1883,8 @@ msgstr ""
"(incluyendo su login y contraseña) sean seguros."
#: ../data/rh_register.glade.h:34
-msgid ""
-"Activate a previously purchased subscription you have not yet activated."
-msgstr ""
-"Activar una suscripción comprada previamente y que no haya sido activada."
+msgid "Activate a previously purchased subscription you have not yet activated."
+msgstr "Activar una suscripción comprada previamente y que no haya sido activada."
#: ../data/rh_register.glade.h:35
msgid "Advanced Network Configuration"
@@ -2143,8 +2133,7 @@ msgstr "¿Para qué registrarse?"
msgid ""
"Would you like to register your system at this time? <b>(Strongly "
"recommended.)</b>"
-msgstr ""
-"¿Le gustaría registrar su sistema ahora? <b>(Altamente recomendado).</b>"
+msgstr "¿Le gustaría registrar su sistema ahora? <b>(Altamente recomendado).</b>"
#: ../data/rh_register.glade.h:93
msgid ""
@@ -2200,8 +2189,7 @@ msgstr ""
#: ../data/rh_register.glade.h:100
msgid "Your system is not setup for software updates."
-msgstr ""
-"Su sistema no ha sido configurado para recibir actualizaciones de software."
+msgstr "Su sistema no ha sido configurado para recibir actualizaciones de software."
#: ../data/rh_register.glade.h:101
msgid ""
@@ -2353,1272 +2341,3 @@ msgstr ""
msgid "Register to Spacewalk/Satellite/Red Hat Network."
msgstr "Registrarse con Red Hat Network"
-#~ msgid "_Exit software update setup"
-#~ msgstr "Salir d_el configurador del actualizador de software"
-
-#~ msgid "software updates setup unsuccessful"
-#~ msgstr "falló la configuración de las actualizaciones de software"
-
-#~ msgid ""
-#~ "If you do not have a Red Hat Login, this assistant will allow you to "
-#~ "create one."
-#~ msgstr ""
-#~ "Si no tiene un login de Red Hat, este asistente le ayudará a crear uno."
-
-#~ msgid "Step 1: Review the Red Hat Privacy Statement"
-#~ msgstr "Paso 1: Revisar la política de privacidad de Red Hat"
-
-#~ msgid "Review the Red Hat Network Terms And Conditions"
-#~ msgstr "Revisar los términos y condiciones de Red Hat Network"
-
-#~ msgid ""
-#~ "Are you sure you don't want to connect your system to Red Hat Network? "
-#~ "You'll miss out on the benefits of a Red Hat Enterprise Linux "
-#~ "subscription:\n"
-#~ "\n"
-#~ "Security & Updates:\n"
-#~ "Receive the latest software updates, including security updates, keeping "
-#~ "this Red Hat Enterprise Linux system updated and secure.\n"
-#~ "\n"
-#~ "Downloads & Upgrades:\n"
-#~ "Download installation images for Red Hat Enterprise Linux releases, "
-#~ "including new releases.\n"
-#~ "\n"
-#~ "Support:\n"
-#~ "Access to the technical support experts at Red Hat or Red Hat's partners "
-#~ "for help with any issues you might encounter with this system.\n"
-#~ "\n"
-#~ "Compliance:\n"
-#~ "Stay in compliance with your subscription agreement and manage "
-#~ "subscriptions for systems connected to your account at http://rhn.redhat."
-#~ "com/.\n"
-#~ "\n"
-#~ "You will not be able to take advantage of these subscription privileges "
-#~ "without connecting your system to Red Hat Network.\n"
-#~ "\n"
-#~ "Tip: Red Hat values your privacy: http://www.redhat.com/legal/"
-#~ "privacy_statement.html"
-#~ msgstr ""
-#~ "¿Esta seguro de no querer conectar su sistema a Red Hat Network? Perderá "
-#~ "los beneficios de la suscripción de Red Hat Enterprise Linux:\n"
-#~ "\n"
-#~ "Seguridad y actualizaciones:\n"
-#~ "Reciba las últimas actualizaciones de software, incluyendo "
-#~ "actualizaciones de seguridad, para mantener su sistema Red Hat Enterprise "
-#~ "Linux actualizado y seguro.\n"
-#~ "\n"
-#~ "Descargas y actualizaciones:\n"
-#~ "Descargue las imágenes de instalación de los lanzamientos de Red Hat "
-#~ "Enterprise Linux, incluyendo las nuevas versiones.\n"
-#~ "\n"
-#~ "Asistencia:\n"
-#~ "Acceda a la asistencia técnica por parte de los expertos en Red Hat o "
-#~ "alguno de sus socios para obtener ayuda con cualquier problema que pueda "
-#~ "encontrar con el sistema.\n"
-#~ "\n"
-#~ "Conformidad:\n"
-#~ "Permanezca en conformidad con los acuerdos de suscripción y administre "
-#~ "las suscripciones para los sistemas que se conectan a su cuenta en http://"
-#~ "rhn.redhat.com.\n"
-#~ "Usted no podrá aprovechar estos privilegios de suscripción si no conecta "
-#~ "su sistema con Red Hat Network.\n"
-#~ "\n"
-#~ "Sugerencia: Red Hat valora su privacidad: http://www.redhat.com/legal/"
-#~ "privacy_statement.html"
-
-#~ msgid "No thanks. I'll connect later."
-#~ msgstr "No gracias. Me conectaré después."
-
-#~ msgid "Create a New Login ..."
-#~ msgstr "Crear un nuevo login..."
-
-#~ msgid ""
-#~ "The two passwords you entered don't match. Please re-type your passwords."
-#~ msgstr ""
-#~ "Las dos contraseñas que introdujo no coinciden. Por favor escriba su "
-#~ "contraseña nuevamente."
-
-#~ msgid "Create a new Red Hat login"
-#~ msgstr "Crear un nuevo Red Hat Login"
-
-#~ msgid ""
-#~ "Fill in the form below to create a new Red Hat login for use with Red Hat "
-#~ "Network (http://rhn.redhat.com/). Required information is marked with a "
-#~ "'*':"
-#~ msgstr ""
-#~ "Complete el formulario dado a continuación para crear un nuevo login de "
-#~ "Red Hat para usar en Red Hat Network (http://rhn.redhat.com/). La "
-#~ "información obligatoria está marcada con un '*':"
-
-#~ msgid "*Desired Login:"
-#~ msgstr "*Login deseado:"
-
-#~ msgid "Examples: user(a)domain.com"
-#~ msgstr "Ejemplos: usuario(a)dominio.com"
-
-#~ msgid "*Desired Password:"
-#~ msgstr "* Contraseña deseada:"
-
-#~ msgid "*Confirm Password:"
-#~ msgstr "* Confirmar contraseña:"
-
-#~ msgid "Tip: Leave blank if not with a company."
-#~ msgstr ""
-#~ "Sugerencia: Por favor deje en blanco si no está asociado con ninguna "
-#~ "compañía."
-
-#~ msgid ""
-#~ "Tip: Red Hat values your privacy. View our privacy policy at: http://"
-#~ msgstr ""
-#~ "Sugerencia: Red Hat valora su privacidad: Vea nuestra política de "
-#~ "privacidad en: http://"
-
-#~ msgid "Please enter your first name."
-#~ msgstr "Por favor introduzca su nombre."
-
-#~ msgid "Please enter your last name."
-#~ msgstr "Por favor introduzca su apellido."
-
-#~ msgid "Please enter your email address."
-#~ msgstr "Por favor introduzca su dirección de correo electrónico."
-
-#~ msgid "Please enter a valid email address."
-#~ msgstr "Por favor introduzca una dirección de correo electrónico válida."
-
-#~ msgid "Please enter your country."
-#~ msgstr "Por favor introduzca su país."
-
-#~ msgid "Please enter a longer login."
-#~ msgstr "Por favor, ingrese un login más largo."
-
-#~ msgid "Please enter a longer password."
-#~ msgstr "Por favor introduzca una contraseña más larga."
-
-#~ msgid "Please enter a shorter password."
-#~ msgstr "Por favor introduzca una contraseña más corta."
-
-#~ msgid ""
-#~ "It appears this system has attempted to register to the Red Hat Network.\n"
-#~ "The system may already be set up for software updates.\n"
-#~ "\n"
-#~ "Are you sure you would like to continue?"
-#~ msgstr ""
-#~ "Parece que este sistema ha intentado registrarse a Red Hat Network.\n"
-#~ "El sistema puede ya haber sido configurado para recibir actualizaciones "
-#~ "de software.\n"
-#~ "\n"
-#~ "¿Está seguro que desea continuar?"
-
-#~ msgid "Select Organization"
-#~ msgstr "Seleccione la organización"
-
-#~ msgid ""
-#~ "Your login, %s, is associated with multiple organizations. You will need "
-#~ "to select an organization to connect this system to."
-#~ msgstr ""
-#~ "Su cuenta, %s, está asociada con diferentes organizaciones. Usted "
-#~ "necesitará seleccionar una organización para registrar su sistema."
-
-#~ msgid "Organization:"
-#~ msgstr "Organización:"
-
-#~ msgid "You must select an organization."
-#~ msgstr "Debe seleccionar una organización."
-
-#~ msgid "Access a subscription"
-#~ msgstr "Acceda a su suscripción"
-
-#~ msgid ""
-#~ "You have no active subscriptions available in your account. You will "
-#~ "need to do one of the following to create an active subscription in your "
-#~ "account before this system can connect to Red Hat Network:"
-#~ msgstr ""
-#~ "No tiene suscripciones activas disponible en su cuenta. Necesitará hacer "
-#~ "uno de los siguientes para crear una suscripción activa en su cuenta "
-#~ "antes que este sistema se pueda conectar a la Red de Red Hat:"
-
-#~ msgid "Activate a new subscription with an installation number:"
-#~ msgstr "Active una nueva suscripción con un número de instalación:"
-
-#~ msgid ""
-#~ "You have already activated this installation number during this "
-#~ "registration."
-#~ msgstr ""
-#~ "Usted ya ha activado este número de instalación durante este proceso de "
-#~ "registro."
-
-#~ msgid "Installation Number:"
-#~ msgstr "Número de instalación:"
-
-#, fuzzy
-#~ msgid "Example: XXXX-XXXX-XXXX-XXXX"
-#~ msgstr "Ejemplo: XXXX-XXXX-XXXX-XXXX-XXXX"
-
-#~ msgid ""
-#~ "Congratulations, you have successfully completed software updates set up "
-#~ "for this system.\n"
-#~ "\n"
-#~ "Your system is now ready to receive the software updates that will keep "
-#~ "it secure and supported.\n"
-#~ "\n"
-#~ "You'll know when software updates are available when a package icon "
-#~ "appears in the notification area of you desktop (usually in the upper-"
-#~ "right corner.) Clicking on this icon, when available, will guide you "
-#~ "through applying any updates that are available."
-#~ msgstr ""
-#~ "Felicitaciones, ha completado la configuración para recibir "
-#~ "actualizaciones de software para este sistema.\n"
-#~ "\n"
-#~ "Sus sistema está listo para recibir actualizaciones de software que lo "
-#~ "mantendrán seguro y soportado.\n"
-#~ "\n"
-#~ "Usted sabrá que hay actualizaciones de software cuando aparezca un icono "
-#~ "de paquete en el área de notificación de su escritorio (generalmente en "
-#~ "la esquina superior derecha). Si hace clic sobre el icono, cuando éste "
-#~ "está disponible, lo guiará a través de la aplicación de actualizaciones."
-
-#~ msgid "Subscriptions Activated:"
-#~ msgstr "Suscripciones activadas:"
-
-#~ msgid ""
-#~ "A subscription-activating installation number was found on disk, but we "
-#~ "were not able to activate it (An unknown error occurred.) We used "
-#~ "existing active subscription slots available in the rhn account instead. "
-#~ "You may wish to contact Red Hat customer service regarding this issue: "
-#~ "http://www.redhat.com/apps/support/"
-#~ msgstr ""
-#~ "Un número de instalación de suscripción-activación se encontró en el "
-#~ "disco, pero no fue posible activarlo (ocurrió un error desconocido). "
-#~ "Usamos espacios de suscripciones activas disponibles en su cuenta de rhn. "
-#~ "Si desea contactar el servicio al cliente de Red Hat acerca de este "
-#~ "problema, vaya a http://www.redhat.com/apps/support/"
-
-#~ msgid "A installation number was found on disk, but we "
-#~ msgstr "Un número de instalación se encontró en el disco, pero nosotros"
-
-#~ msgid ""
-#~ "The installation number you have provided (%s) is invalid.\n"
-#~ "\n"
-#~ "Please check the number and try again or try another option listed on the "
-#~ "'Access a Subscription' screen."
-#~ msgstr ""
-#~ "El número de instalación provisto (%s) es inválido.\n"
-#~ "\n"
-#~ "Por favor, verifique el número e intente nuevamente, o intente otra "
-#~ "opción listada en la pantalla 'Acceder a una Suscripción'."
-
-#~ msgid ""
-#~ "The installation number you provided is valid but was already activated "
-#~ "and the subscriptions have already been used by systems in your "
-#~ "organization or is not usable for this system.\n"
-#~ "\n"
-#~ "Please try a different number or try another option listed on the 'Access "
-#~ "a Subscription' screen."
-#~ msgstr ""
-#~ "El número de instalación proporcionado es válido pero ya ha sido activado "
-#~ "y las suscripciones ya han sido utilizadas por otros sistemas en su "
-#~ "organización o no puede ser utilizado por este sistema.\n"
-#~ "\n"
-#~ " Por favor intente un número diferente o intente otra de las opciones "
-#~ "listadas en la pantalla 'Acceso a la Suscripción'"
-
-#~ msgid ""
-#~ "The installation number you provided does not have subscriptions "
-#~ "associated with it.\n"
-#~ "\n"
-#~ "Please try a different number or try another option listed in the 'Access "
-#~ "a Subscription' screen."
-#~ msgstr ""
-#~ "El número de instalación proporcionado no tiene suscripciones asociadas a "
-#~ "él.\n"
-#~ "\n"
-#~ "Por favor intente un número diferente o intente otra de las opciones "
-#~ "listadas en la pantalla 'Acceso a la Suscripción'"
-
-#~ msgid ""
-#~ "There was a problem logging in:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "Se presentó un problema durante el registro:\n"
-#~ "%s"
-
-#~ msgid "There was problem logging in."
-#~ msgstr "Se presentó un problema durante el registro."
-
-#, fuzzy
-#~ msgid "There was an error while getting the list of organizations."
-#~ msgstr "Se produjo un error mientras se completaba el perfil."
-
-#, fuzzy
-#~ msgid "You must enter an installation number."
-#~ msgstr "Debe introducir un número de instalación."
-
-#, fuzzy
-#~ msgid "There was an error activating your number."
-#~ msgstr "Se produjo un error al conectarse con Red Hat Network."
-
-#~ msgid "This installation number has already been activated."
-#~ msgstr "Este número de instalación ya ha sido activado."
-
-#, fuzzy
-#~ msgid "There was an error retrieving the privacy statement."
-#~ msgstr "Se produjo un error mientras se completaba el perfil."
-
-#~ msgid "Unable to access the server. Please check your network settings."
-#~ msgstr ""
-#~ "Incapaz de acceder al servidor. Por favor revise la configuración de su "
-#~ "red."
-
-#~ msgid ""
-#~ "The server you are attempting to register against does not support this "
-#~ "version of the client."
-#~ msgstr ""
-#~ "El servidor al cual está intentando registrarse no soporta esta versión "
-#~ "del cliente."
-
-#~ msgid "You must enter an Installation Number that "
-#~ msgstr "Debe introducir un número de instalación que"
-
-#~ msgid "Problem registering login name:\n"
-#~ msgstr "Problemas al registrar el nombre de usuario:\n"
-
-#~ msgid "Problem registering login name."
-#~ msgstr "Problemas al registrar el nombre de usuario."
-
-#~ msgid ", quantity:"
-#~ msgstr ", cantidad:"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "Red Hat Network Location: "
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "Ubicación de Red Hat Network:"
-
-#~ msgid ""
-#~ "\n"
-#~ "RHN Login: "
-#~ msgstr ""
-#~ "\n"
-#~ "RHN Login: "
-
-#~ msgid "Access Subscription"
-#~ msgstr "Acceda a su suscripción"
-
-#~ msgid "Choose Organization"
-#~ msgstr "Escoja una organización"
-
-#~ msgid "Choose an organization to use with this username"
-#~ msgstr "Escoja una organización para utilizar con este nombre de usuario"
-
-#~ msgid "Specify an email address"
-#~ msgstr "Especifique una dirección de correo electrónico."
-
-#, fuzzy
-#~ msgid "Specify a installation number to use"
-#~ msgstr "Especifique un número de subscripción a utilizar"
-
-#~ msgid "Important Registration Info"
-#~ msgstr "Información de registro importante"
-
-#~ msgid "Registration information"
-#~ msgstr "Información de registro"
-
-#~ msgid "Select organization"
-#~ msgstr "Seleccione la organización"
-
-#~ msgid "<small><b>Tip:</b> Red Hat values your privacy.</small>"
-#~ msgstr "<small><b>Sugerencia:</b> Red Hat valora su privacidad.</small>"
-
-#~ msgid "Privacy Statement"
-#~ msgstr "Política de privacidad"
-
-#~ msgid "Red Hat Privacy Statement"
-#~ msgstr "Política de privacidad de Red Hat"
-
-#, fuzzy
-#~ msgid ""
-#~ "Your account is associated with multiple <b>organizations</b>. You will "
-#~ "need to select an organization to register this system to."
-#~ msgstr ""
-#~ "Su cuenta está asociada con diferentes <b>organizaciones</b>. Usted "
-#~ "necesitará seleccionar una organización para registrar su sistema."
-
-#~ msgid "_Organization:"
-#~ msgstr "_Organización:"
-
-#~ msgid ""
-#~ "were not able to activate it (An unknown error occurred.) We used "
-#~ "existing "
-#~ msgstr "pero no pudimos activarlo (ocurrió un error desconocido). Usamos "
-
-#~ msgid ""
-#~ "active subscription slots available in the rhn account instead. You may "
-#~ "wish "
-#~ msgstr ""
-#~ "campos de suscripciones activas disponibles en la cuenta de rhn. Si desea"
-
-#~ msgid "to contact Red Hat customer service regarding this issue: "
-#~ msgstr ""
-#~ "contactar el equipo de servicio al usuario de Red Hat sobre este problema:"
-
-#~ msgid "http://www.redhat.com/apps/support/"
-#~ msgstr "http://www.redhat.com/apps/support/"
-
-#~ msgid "activates subscriptions in your account."
-#~ msgstr "active las suscripciones en su cuenta."
-
-#~ msgid "Only https and http are allowed."
-#~ msgstr "Solo https y http son permitidos."
-
-#~ msgid "Error reading hardware information:"
-#~ msgstr "Error al leer la información sobre el hardware:"
-
-#~ msgid "Error reading DMI information:"
-#~ msgstr "Error durante la lectura de la información DMI:"
-
-#~ msgid "That user account and password is not valid\n"
-#~ msgstr "Esa cuenta de usuario y contraseña no son válidas\n"
-
-#~ msgid "You must enter a user name."
-#~ msgstr "Debe introducir un nombre de usuario."
-
-#~ msgid "You must enter and verify a password."
-#~ msgstr "Debe introducir y verificar una contraseña."
-
-#~ msgid ""
-#~ "Problem registering login:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "Problema al registrar el login:\n"
-#~ "%s"
-
-#~ msgid "Problem registering login."
-#~ msgstr "Problemas al registrar el login."
-
-#~ msgid "United States"
-#~ msgstr "Estados Unidos de América"
-
-#~ msgid "Canada"
-#~ msgstr "Canadá"
-
-#~ msgid "Login Information:"
-#~ msgstr "Información de registro:"
-
-#~ msgid "Account Information:"
-#~ msgstr "Información de la cuenta:"
-
-#~ msgid "*First Name:"
-#~ msgstr "*Nombre:"
-
-#~ msgid "*Last Name:"
-#~ msgstr "*Apellido:"
-
-#~ msgid "*Company Name:"
-#~ msgstr "*Nombre de la compañía:"
-
-#~ msgid "Street Address:"
-#~ msgstr "* Dirección:"
-
-#~ msgid "City:"
-#~ msgstr "Ciudad:"
-
-#~ msgid "State/Province:"
-#~ msgstr "Estado / Provincia:"
-
-#~ msgid "Zip/Post Code:"
-#~ msgstr "Código postal"
-
-#~ msgid "*Country:"
-#~ msgstr "*País:"
-
-#~ msgid " Address 2:"
-#~ msgstr " Dirección 2:"
-
-#~ msgid " Address:"
-#~ msgstr " Dirección:"
-
-#~ msgid " C_ity:"
-#~ msgstr " _Ciudad:"
-
-#~ msgid " Co_mpany Name:"
-#~ msgstr " Nombre de la co_mpañía:"
-
-#~ msgid " _State/Province:"
-#~ msgstr " E_stado/Provincia:"
-
-#~ msgid " _Zip/Postal code:"
-#~ msgstr " Código postal:"
-
-#~ msgid "* C_onfirm password: "
-#~ msgstr "* _Confirme la contraseña:"
-
-#~ msgid "* Co_untry:"
-#~ msgstr "* País:"
-
-#~ msgid "* Desired _Login:"
-#~ msgstr "* _Login deseado:"
-
-#~ msgid "* Desired _Password:"
-#~ msgstr "* C_ontraseña deseada:"
-
-#~ msgid "* Last _Name:"
-#~ msgstr "* Apellido:"
-
-#~ msgid "* _Email Address: "
-#~ msgstr "* Correo _electrónico: "
-
-#~ msgid "* _First Name:"
-#~ msgstr "* Nombre:"
-
-#~ msgid "<b>Account Information:</b>"
-#~ msgstr "<b>Información de la cuenta:</b>"
-
-#~ msgid "<b>Login Information:</b>"
-#~ msgstr "<b>Información de Ingreso:</b>"
-
-#~ msgid "<small><b>Examples:</b> user(a)domain.com</small>"
-#~ msgstr "<small><b>Ejemplos:</b> usuario(a)dominio.com</small>"
-
-#~ msgid "<small><b>Tip:</b> Leave blank if not with a company.</small>"
-#~ msgstr ""
-#~ "<small><b>Sugerencia:</b> Deje en blanco si no es parte de una compañía.</"
-#~ "small>"
-
-#~ msgid "Afghanistan"
-#~ msgstr "Afganistán"
-
-#~ msgid "Albania"
-#~ msgstr "Albania"
-
-#~ msgid "Algeria"
-#~ msgstr "Algeria"
-
-#~ msgid "American Samoa"
-#~ msgstr "Samoa Americana"
-
-#~ msgid "Andorra"
-#~ msgstr "Andorra"
-
-#~ msgid "Angola"
-#~ msgstr "Angola"
-
-#~ msgid "Anguilla"
-#~ msgstr "Anguila"
-
-#~ msgid "Antarctica"
-#~ msgstr "Antártida"
-
-#~ msgid "Antigua and Barbuda"
-#~ msgstr "Antigua y Barbuda"
-
-#~ msgid "Argentina"
-#~ msgstr "Argentina"
-
-#~ msgid "Armenia"
-#~ msgstr "Armenia"
-
-#~ msgid "Aruba"
-#~ msgstr "Aruba"
-
-#~ msgid "Australia"
-#~ msgstr "Australia"
-
-#~ msgid "Austria"
-#~ msgstr "Austria"
-
-#~ msgid "Azerbaijan"
-#~ msgstr "Azerbaiyán"
-
-#~ msgid "Bahamas"
-#~ msgstr "Bahamas"
-
-#~ msgid "Bahrain"
-#~ msgstr "Bahrain"
-
-#~ msgid "Bangladesh"
-#~ msgstr "Bangladesh"
-
-#~ msgid "Barbados"
-#~ msgstr "Barbados"
-
-#~ msgid "Belarus"
-#~ msgstr "Bielorrusia"
-
-#~ msgid "Belgium"
-#~ msgstr "Bélgica"
-
-#~ msgid "Belize"
-#~ msgstr "Belice"
-
-#~ msgid "Benin"
-#~ msgstr "Benín"
-
-#~ msgid "Bermuda"
-#~ msgstr "Bermuda"
-
-#~ msgid "Bhutan"
-#~ msgstr "Bután"
-
-#~ msgid "Bolivia"
-#~ msgstr "Bolivia"
-
-#~ msgid "Bosnia and Herzegovina"
-#~ msgstr "Bosnia y Hercegovina"
-
-#~ msgid "Botswana"
-#~ msgstr "Botsuana"
-
-#~ msgid "Bouvet Island"
-#~ msgstr "Isla Bouvet"
-
-#~ msgid "Brazil"
-#~ msgstr "Brasil"
-
-#~ msgid "British Indian Ocean Territory"
-#~ msgstr "Territorio Británico del Oceano Índico"
-
-#~ msgid "Brunei Darussalam"
-#~ msgstr "Brunéi"
-
-#~ msgid "Bulgaria"
-#~ msgstr "Bulgaria"
-
-#~ msgid "Burkina Faso"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "Burundi"
-#~ msgstr "Burundi"
-
-#~ msgid "C_reate new login"
-#~ msgstr "_Crear nuevo login"
-
-#~ msgid "Cambodia"
-#~ msgstr "Camboya"
-
-#~ msgid "Cameroon"
-#~ msgstr "Camerún"
-
-#~ msgid "Cape Verde"
-#~ msgstr "Cabo Verde"
-
-#~ msgid "Cayman Islands"
-#~ msgstr "Islas Caimán"
-
-#~ msgid "Central African Republic"
-#~ msgstr "República Centroafricana"
-
-#~ msgid "Chad"
-#~ msgstr "Chad"
-
-#~ msgid "Chile"
-#~ msgstr "Chile"
-
-#~ msgid "China"
-#~ msgstr "China"
-
-#~ msgid "Christmas Island"
-#~ msgstr "Isla Christmas"
-
-#~ msgid "Cocos (Keeling) Islands"
-#~ msgstr "Islas Cocos"
-
-#~ msgid "Colombia"
-#~ msgstr "Colombia"
-
-#~ msgid "Comoros"
-#~ msgstr "Comoras"
-
-#~ msgid "Congo"
-#~ msgstr "Congo"
-
-#~ msgid "Cook Islands"
-#~ msgstr "Islas Cook"
-
-#~ msgid "Costa Rica"
-#~ msgstr "Costa Rica"
-
-#~ msgid "Cote d'Ivoire"
-#~ msgstr "Costa de Marfil"
-
-#~ msgid "Create a _New Login"
-#~ msgstr "Crear un _nuevo login"
-
-#~ msgid "Create a new Red Hat Network login"
-#~ msgstr "Crear un nuevo login de Red Hat Network "
-
-#~ msgid "Croatia"
-#~ msgstr "Croacia"
-
-#~ msgid "Cuba"
-#~ msgstr "Cuba"
-
-#~ msgid "Cyprus"
-#~ msgstr "Chipre"
-
-#~ msgid "Czech Republic"
-#~ msgstr "República Checa"
-
-#~ msgid "Denmark"
-#~ msgstr "Dinamarca"
-
-#~ msgid "Djibouti"
-#~ msgstr "Djibouti"
-
-#~ msgid "Dominica"
-#~ msgstr "Dominica"
-
-#~ msgid "Dominican Republic"
-#~ msgstr "República Dominicana"
-
-#~ msgid "East Timor"
-#~ msgstr "Timor Oriental"
-
-#~ msgid "Ecuador"
-#~ msgstr "Ecuador"
-
-#~ msgid "Egypt"
-#~ msgstr "Egipto"
-
-#~ msgid "El Salvador"
-#~ msgstr "El Salvador"
-
-#~ msgid "Equatorial Guinea"
-#~ msgstr "Guinea Ecuatorial"
-
-#~ msgid "Eritrea"
-#~ msgstr "Eritrea"
-
-#~ msgid "Estonia"
-#~ msgstr "Estonia"
-
-#~ msgid "Ethiopia"
-#~ msgstr "Etiopía"
-
-#~ msgid "Falkland Islands (Malvinas)"
-#~ msgstr "Islas Malvinas"
-
-#~ msgid "Faroe Islands"
-#~ msgstr "Islas Feroe"
-
-#~ msgid "Fiji"
-#~ msgstr "Fiji"
-
-#~ msgid ""
-#~ "Fill in the form below to create a new Red Hat login. Required "
-#~ "information is marked with a '*':"
-#~ msgstr ""
-#~ "Complete el formulario dado a continuación para crear un nuevo login de "
-#~ "Red Hat. La información obligatoria está marcada con un '*':"
-
-#~ msgid "Finland"
-#~ msgstr "Finlandia"
-
-#~ msgid "France"
-#~ msgstr "Francia"
-
-#~ msgid "France, Metropolitan"
-#~ msgstr "Francia, área Metropolitana"
-
-#~ msgid "French Guiana"
-#~ msgstr "Guyana Francesa"
-
-#~ msgid "French Polynesia"
-#~ msgstr "Polinesia Francesa"
-
-#~ msgid "French Southern Territories"
-#~ msgstr "Territorios Australes Franceses"
-
-#~ msgid "Gabon"
-#~ msgstr "Gabón"
-
-#~ msgid "Gambia"
-#~ msgstr "Gambia"
-
-#~ msgid "Georgia"
-#~ msgstr "Georgia"
-
-#~ msgid "Germany"
-#~ msgstr "Alemania"
-
-#~ msgid "Ghana"
-#~ msgstr "Ghana"
-
-#~ msgid "Gibraltar"
-#~ msgstr "Gibraltar"
-
-#~ msgid "Greece"
-#~ msgstr "Grecia"
-
-#~ msgid "Greenland"
-#~ msgstr "Groenlandia"
-
-#~ msgid "Grenada"
-#~ msgstr "Granada"
-
-#~ msgid "Guadeloupe"
-#~ msgstr "Guadalupe"
-
-#~ msgid "Guam"
-#~ msgstr "Guam"
-
-#~ msgid "Guatemala"
-#~ msgstr "Guatemala"
-
-#~ msgid "Guinea"
-#~ msgstr "Guinea"
-
-#~ msgid "Guinea-Bissau"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "Guyana"
-#~ msgstr "Guyana"
-
-#~ msgid "Haiti"
-#~ msgstr "Haiti"
-
-#~ msgid "Heard Island and McDonald Islands"
-#~ msgstr "Islas Heard y McDonald"
-
-#~ msgid "Honduras"
-#~ msgstr "Honduras"
-
-#~ msgid "Hong Kong"
-#~ msgstr "Hong Kong"
-
-#~ msgid "Hungary"
-#~ msgstr "Hungría"
-
-#~ msgid "Iceland"
-#~ msgstr "Islandia"
-
-#~ msgid "India"
-#~ msgstr "India"
-
-#~ msgid "Indonesia"
-#~ msgstr "Indonesia"
-
-#~ msgid "Iran (Islamic Republic of)"
-#~ msgstr "Irán"
-
-#~ msgid "Iraq"
-#~ msgstr "Iraq"
-
-#~ msgid "Ireland"
-#~ msgstr "Irlanda"
-
-#~ msgid "Israel"
-#~ msgstr "Israel"
-
-#~ msgid "Italy"
-#~ msgstr "Italia"
-
-#~ msgid "Jamaica"
-#~ msgstr "Jamaica"
-
-#~ msgid "Japan"
-#~ msgstr "Japón"
-
-#~ msgid "Jordan"
-#~ msgstr "Jordania"
-
-#~ msgid "Kazakhstan"
-#~ msgstr "Kazajistán"
-
-#~ msgid "Kenya"
-#~ msgstr "Kenia"
-
-#~ msgid "Kiribati"
-#~ msgstr "Kiribati"
-
-#~ msgid "Korea, Democratic People's Republic of"
-#~ msgstr "Corea del Norte"
-
-#~ msgid "Korea, Republic of"
-#~ msgstr "Corea del Sur"
-
-#~ msgid "Kuwait"
-#~ msgstr "Kuwait"
-
-#~ msgid "Kyrgyzstan"
-#~ msgstr "Kirguizistán"
-
-#~ msgid "Lao People's Democratic Republic"
-#~ msgstr "Laos"
-
-#~ msgid "Latin America"
-#~ msgstr "América Latina"
-
-#~ msgid "Latvia"
-#~ msgstr "Latvia"
-
-#~ msgid "Lebanon"
-#~ msgstr "Líbano"
-
-#~ msgid "Lesotho"
-#~ msgstr "Lesoto"
-
-#~ msgid "Liberia"
-#~ msgstr "Liberia"
-
-#~ msgid "Libyan Arab Jamahiriya"
-#~ msgstr "Libia"
-
-#~ msgid "Liechtenstein"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "Lithuania"
-#~ msgstr "Lituania"
-
-#~ msgid "Luxembourg"
-#~ msgstr "Luxemburgo"
-
-#~ msgid "Macau"
-#~ msgstr "Macao"
-
-#~ msgid "Macedonia"
-#~ msgstr "Macedonia"
-
-#~ msgid "Madagascar"
-#~ msgstr "Madagascar"
-
-#~ msgid "Malawi"
-#~ msgstr "Malaui"
-
-#~ msgid "Malaysia"
-#~ msgstr "Malasia"
-
-#~ msgid "Maldives"
-#~ msgstr "Maldivas"
-
-#~ msgid "Mali"
-#~ msgstr "Malí"
-
-#~ msgid "Malta"
-#~ msgstr "Malta"
-
-#~ msgid "Marshall Islands"
-#~ msgstr "Islas Marshall"
-
-#~ msgid "Martinique"
-#~ msgstr "Martinica"
-
-#~ msgid "Mauritania"
-#~ msgstr "Mauritania"
-
-#~ msgid "Mauritius"
-#~ msgstr "Mauricio"
-
-#~ msgid "Mayotte"
-#~ msgstr "Mayotte"
-
-#~ msgid "Mexico"
-#~ msgstr "México"
-
-#~ msgid "Micronesia (Federated States of)"
-#~ msgstr "Micronesia"
-
-#~ msgid "Moldova"
-#~ msgstr "Moldavia"
-
-#~ msgid "Monaco"
-#~ msgstr "Mónaco"
-
-#~ msgid "Mongolia"
-#~ msgstr "Mongolia"
-
-#~ msgid "Montserrat"
-#~ msgstr "Montserrat"
-
-#~ msgid "Morocco"
-#~ msgstr "Marruecos"
-
-#~ msgid "Mozambique"
-#~ msgstr "Mozambique"
-
-#~ msgid "Myanmar"
-#~ msgstr "Birmania"
-
-#~ msgid "Namibia"
-#~ msgstr "Namibia"
-
-#~ msgid "Nauru"
-#~ msgstr "Nauru"
-
-#~ msgid "Nepal"
-#~ msgstr "Nepal"
-
-#~ msgid "Netherlands"
-#~ msgstr "Holanda"
-
-#~ msgid "Netherlands Antilles"
-#~ msgstr "Antillas Neerlandesas"
-
-#~ msgid "New Caledonia"
-#~ msgstr "Nueva Caledonia"
-
-#~ msgid "New Zealand"
-#~ msgstr "Nueva Zelanda"
-
-#~ msgid "Nicaragua"
-#~ msgstr "Nicaragua"
-
-#~ msgid "Niger"
-#~ msgstr "Níger"
-
-#~ msgid "Nigeria"
-#~ msgstr "Nigeria"
-
-#~ msgid "Niue"
-#~ msgstr "Niue"
-
-#~ msgid "Norfolk Island"
-#~ msgstr "Isla Norfolk"
-
-#~ msgid "Northern Mariana Islands"
-#~ msgstr "Islas Marianas del Norte"
-
-#~ msgid "Norway"
-#~ msgstr "Noruega"
-
-#~ msgid "Oman"
-#~ msgstr "Omán"
-
-#~ msgid "Pakistan"
-#~ msgstr "Pakistán"
-
-#~ msgid "Palau"
-#~ msgstr "Palau"
-
-#~ msgid "Panama"
-#~ msgstr "Panamá"
-
-#~ msgid "Papua New Guinea"
-#~ msgstr "Papúa - Nueva Guinea"
-
-#~ msgid "Paraguay"
-#~ msgstr "Paraguay"
-
-#~ msgid "Peru"
-#~ msgstr "Perú"
-
-#~ msgid "Philippines"
-#~ msgstr "Filipinas"
-
-#~ msgid "Pitcairn"
-#~ msgstr "Islas Pitcairn"
-
-#~ msgid "Poland"
-#~ msgstr "Polonia"
-
-#~ msgid "Portugal"
-#~ msgstr "Portugal"
-
-#~ msgid "Puerto Rico"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "Qatar"
-#~ msgstr "Qatar"
-
-#~ msgid ""
-#~ "Red Hat Logins and Passwords must be at least 5 alphanumeric characters"
-#~ msgstr ""
-#~ "Los logins y contraseñas de Red Hat deben tener al menos 5 caracteres "
-#~ "alfanuméricos"
-
-#~ msgid "Reunion"
-#~ msgstr "Reunión"
-
-#~ msgid "Romania"
-#~ msgstr "Rumania"
-
-#~ msgid "Russian Federation"
-#~ msgstr "Rusia"
-
-#~ msgid "Rwanda"
-#~ msgstr "Ruanda"
-
-#~ msgid "Saint Helena"
-#~ msgstr "Santa Helena"
-
-#~ msgid "Saint Kitts and Nevis"
-#~ msgstr "San Cristobal y Nieves"
-
-#~ msgid "Saint Lucia"
-#~ msgstr "Santa Lucía"
-
-#~ msgid "Saint Pierre and Miquelon "
-#~ msgstr "San Pedro y Miquelón "
-
-#~ msgid "Saint Vincent and the Grenadines"
-#~ msgstr "San Vicente y las Granadinas"
-
-#~ msgid "Samoa"
-#~ msgstr "Samoa"
-
-#~ msgid "San Marino"
-#~ msgstr "San Marino"
-
-#~ msgid "Sao Tome and Principe"
-#~ msgstr "Santo Tomé y Príncipe"
-
-#~ msgid "Saudi Arabia"
-#~ msgstr "Arabia Saudí"
-
-#~ msgid "Senegal"
-#~ msgstr "Senegal"
-
-#~ msgid "Seychelles"
-#~ msgstr "Seychelles"
-
-#~ msgid "Sierra Leone"
-#~ msgstr "Sierra Leona"
-
-#~ msgid "Singapore"
-#~ msgstr "Singapur"
-
-#~ msgid "Slovakia"
-#~ msgstr "Eslovaquia"
-
-#~ msgid "Slovenia"
-#~ msgstr "Eslovenia"
-
-#~ msgid "Solomon Islands"
-#~ msgstr "Islas Salomón"
-
-#~ msgid "Somalia"
-#~ msgstr "Somalia"
-
-#~ msgid "South Africa"
-#~ msgstr "Sudáfrica"
-
-#~ msgid "South Georgia and the South Sandwich Island"
-#~ msgstr "Islas Georgia del Sur y Sandwich del Sur"
-
-#~ msgid "Spain"
-#~ msgstr "España"
-
-#~ msgid "Sri Lanka"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "Sudan"
-#~ msgstr "Sudán"
-
-#~ msgid "Suriname"
-#~ msgstr "Surinam"
-
-#~ msgid "Svalbard and Jan Mayen Islands"
-#~ msgstr "Islas Svalvard y Jan Mayen"
-
-#~ msgid "Swaziland"
-#~ msgstr "Suazilandia"
-
-#~ msgid "Sweden"
-#~ msgstr "Suecia"
-
-#~ msgid "Switzerland"
-#~ msgstr "Suiza"
-
-#~ msgid "Syrian Arab Republic"
-#~ msgstr "Siria"
-
-#~ msgid "Taiwan"
-#~ msgstr "Taiwán"
-
-#~ msgid "Tajikistan"
-#~ msgstr "Tayikistán"
-
-#~ msgid "Tanzania, United Republic of"
-#~ msgstr "Tanzania"
-
-#~ msgid "Thailand"
-#~ msgstr "Tailandia"
-
-#~ msgid "Togo"
-#~ msgstr "Togo"
-
-#~ msgid "Tokelau"
-#~ msgstr "Tokelau"
-
-#~ msgid "Tonga"
-#~ msgstr "Tonga"
-
-#~ msgid "Trinidad and Tobago"
-#~ msgstr "Trinidad y Tobago"
-
-#~ msgid "Tunisia"
-#~ msgstr "Túnez"
-
-#~ msgid "Turkey"
-#~ msgstr "Turquía"
-
-#~ msgid "Turkmenistan"
-#~ msgstr "Turkmenistán"
-
-#~ msgid "Turks and Caicos Islands"
-#~ msgstr "Islas Turcas y Caicos"
-
-#~ msgid "Tuvalu"
-#~ msgstr "Tuvalu"
-
-#~ msgid "Uganda"
-#~ msgstr "Uganda"
-
-#~ msgid "Ukraine"
-#~ msgstr "Ucrania"
-
-#~ msgid "United Arab Emirates"
-#~ msgstr "Emiratos Árabes Unidos"
-
-#~ msgid "United Kingdom"
-#~ msgstr "Reino Unido"
-
-#~ msgid "United States Minor Outlying Islands"
-#~ msgstr "Islas menores alejadas de los Estados Unidos"
-
-#~ msgid "Uruguay"
-#~ msgstr "Uruguay"
-
-#~ msgid "Uzbekistan"
-#~ msgstr "Uzbekistán"
-
-#~ msgid "Vanuatu"
-#~ msgstr "Vanuatu"
-
-#~ msgid "Vatican City State (Holy See)"
-#~ msgstr "El Vaticano"
-
-#~ msgid "Venezuela"
-#~ msgstr "Venezuela"
-
-#~ msgid "Viet Nam"
-#~ msgstr "Vietnam"
-
-#~ msgid "Virgin Islands (British)"
-#~ msgstr "Islas Vírgenes Británicas"
-
-#~ msgid "Virgin Islands (U.S.)"
-#~ msgstr "Islas Vírgenes Americanas"
-
-#~ msgid "Wallis and Futuna Islands"
-#~ msgstr "Islas Wallis y Futuna"
-
-#~ msgid "Western Sahara"
-#~ msgstr "Sahara Occidental"
-
-#~ msgid "Yemen"
-#~ msgstr "Yemen"
-
-#~ msgid "Yugoslavia"
-#~ msgstr "Yugoslavia"
-
-#~ msgid "Zaire"
-#~ msgstr "Zaire"
-
-#~ msgid "Zambia"
-#~ msgstr "Zambia"
-
-#~ msgid "Zimbabwe"
-#~ msgstr "Zimbabue"
13 years, 12 months
Branch 'yum-repo-sync' - java/code
by Shannon Hughes
java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java | 31 ++++++++--
java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp | 9 --
2 files changed, 28 insertions(+), 12 deletions(-)
New commits:
commit 170c7b355fd28fabbfbf93e11e0a6b6924d1417e
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Wed Jun 2 19:22:05 2010 -0400
db mapping logic for channel repos
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
index 1424a65..fd1864a 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
@@ -33,6 +33,7 @@ import com.redhat.rhn.domain.channel.ContentSource;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.StrutsDelegate;
import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
@@ -52,26 +53,46 @@ public class RepositoriesAction extends RhnAction implements Listable {
Channel chan = ChannelFactory.lookupByIdAndUser(cid, user);
request.setAttribute("channel_name", chan.getName());
- Map params = new HashMap();
- params.put(RequestContext.CID, context.getRequiredParamAsString(RequestContext.CID));
+ Map params = new HashMap();
+ params.put(RequestContext.CID, chan.getId().toString());
- ListSessionSetHelper helper = new ListSessionSetHelper(this, request, params);
+ ListSessionSetHelper helper = new ListSessionSetHelper(this, request,params);
if (!context.isSubmitted()) {
List<ContentSource> result = getResult(context);
+ System.out.println("result set is " + result.size());
Set<String> preSelect = new HashSet<String>();
for (int i = 0; i < result.size(); i++) {
ContentSource src = result.get(i);
if(src.getChannels().contains(chan)) {
+ System.out.println("adding repo to preselect, " + src.getLabel() );
preSelect.add(src.getId().toString());
}
}
helper.preSelect(preSelect);
}
-
+
+ helper.ignoreEmptySelection();
helper.execute();
+
if(helper.isDispatched()) {
- return mapping.findForward("success");
+ Set<ContentSource> foo = chan.getSources();
+ foo.clear();
+ Set <String> set = helper.getSet();
+ System.out.println("SET is " + set.size());
+ for (String id : set) {
+ Long sgid = Long.valueOf(id);
+ ContentSource tmp = ChannelFactory.lookupContentSource(sgid);
+ foo.add(tmp);
+ }
+
+ ChannelFactory.save(chan);
+
+
+
+ StrutsDelegate strutsDelegate = getStrutsDelegate();
+ return strutsDelegate.forwardParams
+ (mapping.findForward("success"), params);
}
return mapping.findForward("default");
diff --git a/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp b/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp
index fdbc919..96180fc 100644
--- a/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp
+++ b/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp
@@ -16,9 +16,7 @@
<h2><img src="/img/rhn-icon-packages.gif"> <bean:message key="repos.jsp.channel.repos"/></h2>
-
-
-<rl:listset name="packageSet" legend="system-group">
+<rl:listset name="packageSet">
<input type="hidden" name="cid" value="${cid}" />
@@ -43,17 +41,14 @@
<a href="/rhn/channels/manage/repos/RepoEdit.do?id=${current.id}">${current.label}</a>
</rl:column>
-
-
</rl:list>
<div align="right">
<hr />
- <input type="submit" name="confirm"
+ <input type="submit" name="dispatch"
value="<bean:message key="repos.jsp.update.channel"/>" />
</div>
<rhn:submitted/>
-
</rl:listset>
</body>
13 years, 12 months
Branch 'flex-guest' - java/code
by Justin Sherrill
java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml | 5
java/code/src/com/redhat/rhn/common/db/datasource/xml/Procedure_queries.xml | 36 ++
java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.hbm.xml | 22 +
java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.java | 3
java/code/src/com/redhat/rhn/domain/channel/ChannelFamilyFactory.java | 12
java/code/src/com/redhat/rhn/domain/channel/PrivateChannelFamily.hbm.xml | 17 +
java/code/src/com/redhat/rhn/domain/org/OrgImpl.java | 26 -
java/code/src/com/redhat/rhn/domain/server/ServerFactory.java | 37 ++
java/code/src/com/redhat/rhn/domain/server/ServerGroup.hbm.xml | 16
java/code/src/com/redhat/rhn/domain/server/ServerGroupFactory.java | 13
java/code/src/com/redhat/rhn/domain/server/ServerGroupType.java | 10
java/code/src/com/redhat/rhn/domain/server/test/HostBuilder.java | 13
java/code/src/com/redhat/rhn/domain/server/test/ServerFactoryTest.java | 43 +-
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java | 18 +
java/code/src/com/redhat/rhn/manager/channel/ChannelProcedure.java | 12
java/code/src/com/redhat/rhn/manager/entitlement/EntitlementProcedure.java | 120 +++++++
java/code/src/com/redhat/rhn/manager/entitlement/test/EntitlementProcedureTest.java | 169 ++++++++++
java/code/src/com/redhat/rhn/testing/UserTestUtils.java | 14
18 files changed, 547 insertions(+), 39 deletions(-)
New commits:
commit e98f75f74750f61d0a3cd91f2b52c23123f4df7d
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Wed Jun 2 18:20:27 2010 -0400
porting repollGuestVirtEntitlements to java
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
index c482685..7dc328b 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
@@ -339,6 +339,11 @@ ORDER BY UPPER(C.name)
</callable-mode>
+<callable-mode name="update_family_counts">
+ <query params="fid, org_id">
+ {:result = call rhn_channel.update_family_counts(:fid, :org_id)}
+ </query>
+</callable-mode>
<mode name="channel_entitlements" class="com.redhat.rhn.frontend.dto.ChannelOverview">
<query params="org_id">
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Procedure_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Procedure_queries.xml
index d4444ab..881efcc 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Procedure_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Procedure_queries.xml
@@ -118,6 +118,42 @@
</write-mode>
+<write-mode name="update_group_current_members">
+ <query params="oid">
+ update rhnServerGroup set current_members = :current_members
+ where id = :sgid
+ </query>
+</write-mode>
+
+
+<mode name="compute_physical_server_group_count">
+ <query params="sgid">
+ select count(sep.server_id) as count
+ from rhnServerEntitlementPhysical sep
+ where sep.server_group_id = :sgid
+ </query>
+</mode>
+
+
+<callable-mode name="remove_server_entitlement">
+ <query params="sid, group_type">
+ {call rhn_entitlements.remove_server_entitlement(:sid, :group_type)}
+ </query>
+</callable-mode>
+
+<!-- <mode name="remove_server_entitlement">
+ <query params="sid, group_type">
+ call rhn_entitlements.remove_server_entitlement(:sid, :group_type)
+ </query>
+</mode> -->
+
+
+<callable-mode name="unsubscribe_server_from_family">
+ <query params="sid, fam_id">
+ {call rhn_channel.unsubscribe_server_from_family(:sid, :fam_id)}
+ </query>
+</callable-mode>
+
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.hbm.xml b/java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.hbm.xml
index 8982b45..647825a 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.hbm.xml
@@ -62,4 +62,26 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
CHANNEL_FAMILY_ID = :id
]]>
</sql-query>
+
+
+ <sql-query name="ChannelFamily.listGuestChannelFamilies">
+ <![CDATA[
+ select distinct {pcf.*}
+ from
+ rhnChannelFamilyServers cfs,
+ rhnVirtualInstance vi,
+ rhnPrivateChannelFamily pcf
+ where
+ vi.host_system_id = :host_id
+ and vi.virtual_system_id = cfs.server_id
+ and pcf.channel_family_id = cfs.channel_family_id
+ and pcf.org_id = cfs.customer_id
+ ]]>
+ <return alias="pcf" class="com.redhat.rhn.domain.channel.PrivateChannelFamily" />
+ </sql-query>
+
+
+
+
+
</hibernate-mapping>
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.java b/java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.java
index d564af9..5f76c04 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFamily.java
@@ -144,8 +144,7 @@ public class ChannelFamily extends BaseDomainHelper {
}
ChannelFamily castOther = (ChannelFamily) other;
- return new EqualsBuilder().append(getId(), castOther.getId())
- .append(getLabel(), castOther.getLabel())
+ return new EqualsBuilder().append(getLabel(), castOther.getLabel())
.append(getName(), castOther.getName())
.append(getOrg(), castOther.getOrg())
.append(getProductUrl(), castOther.getProductUrl())
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFamilyFactory.java b/java/code/src/com/redhat/rhn/domain/channel/ChannelFamilyFactory.java
index 3eac0ca..b13fbec 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFamilyFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFamilyFactory.java
@@ -230,4 +230,16 @@ public class ChannelFamilyFactory extends HibernateFactory {
"ChannelFamily.findLicensePath", params);
}
+ /**
+ * Get a list of channel families that guests of a host are using
+ * @param hostId the host id
+ * @return the list of private channel families
+ */
+ public static List<PrivateChannelFamily> listGuestChannelFamiles(Long hostId) {
+ Map params = new HashMap();
+ params.put("host_id", hostId);
+ return singleton.listObjectsByNamedQuery(
+ "ChannelFamily.listGuestChannelFamilies", params);
+ }
+
}
diff --git a/java/code/src/com/redhat/rhn/domain/channel/PrivateChannelFamily.hbm.xml b/java/code/src/com/redhat/rhn/domain/channel/PrivateChannelFamily.hbm.xml
index 62a6f7b..7860d3b 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/PrivateChannelFamily.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/channel/PrivateChannelFamily.hbm.xml
@@ -25,4 +25,21 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
<![CDATA[from com.redhat.rhn.domain.channel.PrivateChannelFamily as cfam where cfam.org.id = :orgId]]>
</query>
+
+ <sql-query name="PrivateChannelFamily.listGuestsChannelFamiles">
+ <![CDATA[
+ select distinct {pcf.*}
+ from
+ rhnChannelFamilyServers cfs,
+ rhnVirtualInstance vi,
+ rhnPrivateChannelFamily pcf
+ where
+ vi.host_system_id = :sid
+ and vi.virtual_system_id = cfs.server_id
+ and cfs.channel_family_id = pcf.channel_family_id
+ and pcf.org_id = cfs.customer_id
+ ]]>
+ <return alias="pcf" class="com.redhat.rhn.domain.channel.PrivateChannelFamily"/>
+ </sql-query>
+
</hibernate-mapping>
diff --git a/java/code/src/com/redhat/rhn/domain/org/OrgImpl.java b/java/code/src/com/redhat/rhn/domain/org/OrgImpl.java
index 70d5700..1cf393e 100644
--- a/java/code/src/com/redhat/rhn/domain/org/OrgImpl.java
+++ b/java/code/src/com/redhat/rhn/domain/org/OrgImpl.java
@@ -39,6 +39,8 @@ import com.redhat.rhn.domain.user.UserFactory;
import com.redhat.rhn.manager.channel.ChannelManager;
import com.redhat.rhn.manager.entitlement.EntitlementManager;
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.log4j.Logger;
import org.hibernate.Session;
@@ -649,22 +651,13 @@ public class OrgImpl extends BaseDomainHelper implements Org {
if (this == obj) {
return true;
}
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
+ if (!(obj instanceof OrgImpl)) {
return false;
}
final OrgImpl other = (OrgImpl) obj;
- if (getId() == null) {
- if (other.getId() != null) {
- return false;
- }
- }
- else if (!getId().equals(other.getId())) {
- return false;
- }
- return true;
+ EqualsBuilder build = new EqualsBuilder();
+ build.append(this.getName(), other.getName());
+ return build.isEquals();
}
/**
@@ -672,9 +665,8 @@ public class OrgImpl extends BaseDomainHelper implements Org {
*/
@Override
public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
- return result;
+ HashCodeBuilder build = new HashCodeBuilder();
+ build.append(this.getName());
+ return build.toHashCode();
}
}
diff --git a/java/code/src/com/redhat/rhn/domain/server/ServerFactory.java b/java/code/src/com/redhat/rhn/domain/server/ServerFactory.java
index a5ba37c..95059b2 100644
--- a/java/code/src/com/redhat/rhn/domain/server/ServerFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/server/ServerFactory.java
@@ -21,6 +21,7 @@ import com.redhat.rhn.common.db.datasource.ModeFactory;
import com.redhat.rhn.common.db.datasource.SelectMode;
import com.redhat.rhn.common.hibernate.HibernateFactory;
import com.redhat.rhn.common.validator.ValidatorError;
+import com.redhat.rhn.domain.channel.ChannelFamily;
import com.redhat.rhn.domain.org.CustomDataKey;
import com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.rhnpackage.PackageEvrFactory;
@@ -794,4 +795,40 @@ public class ServerFactory extends HibernateFactory {
new HashMap(), systemIds, "sids");
}
+ /**
+ * List quantity number of guests that are using the provided channel family
+ * in order to remove them
+ * @param fam the channel family
+ * @param quantity the quantity of them you want
+ * @param hostId the host's id
+ * @return The list of server ids (guests)
+ */
+ public static List<Long> listGuestIdsForRemoval(ChannelFamily fam,
+ Long quantity, Long hostId) {
+ Map params = new HashMap();
+ params.put("host_id", hostId);
+ params.put("quantity_in", quantity);
+ params.put("family_id_in", fam.getId());
+ return singleton.listObjectsByNamedQuery(
+ "VirtualInstance.guestsForRemovalByFamily", params);
+ }
+
+ /**
+ * List quantity number of guests that are using the provided server group
+ * in order to remove them
+ * @param group the server Group
+ * @param quantity the quantity of them you want
+ * @param hostId the host's id
+ * @return The list of server ids (guests)
+ */
+ public static List<Long> listGuestIdsForRemoval(EntitlementServerGroup group,
+ Long quantity, Long hostId) {
+ Map params = new HashMap();
+ params.put("host_id", hostId);
+ params.put("quantity_in", quantity);
+ params.put("group_type", group.getGroupType().getId());
+ return singleton.listObjectsByNamedQuery(
+ "VirtualInstance.guestsForRemovalByFamily", params);
+ }
+
}
diff --git a/java/code/src/com/redhat/rhn/domain/server/ServerGroup.hbm.xml b/java/code/src/com/redhat/rhn/domain/server/ServerGroup.hbm.xml
index 046ca4c..35add7b 100644
--- a/java/code/src/com/redhat/rhn/domain/server/ServerGroup.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/server/ServerGroup.hbm.xml
@@ -125,6 +125,22 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
<return alias="sg" class="com.redhat.rhn.domain.server.ServerGroup"/>
</sql-query>
+
+ <sql-query name="ServerGroup.lookupGuestGroups">
+ <![CDATA[ select distinct {sg.*}
+ from
+ rhnServerGroupType sgt,
+ rhnServerGroup sg,
+ rhnServerGroupMembers sgm,
+ rhnVirtualInstance vi
+ where
+ vi.host_system_id = :sid
+ and vi.virtual_system_id = sgm.server_id
+ and sgm.server_group_id = sg.id
+ and sg.group_type = sgt.id ]]>
+ <return alias="sg" class="com.redhat.rhn.domain.server.EntitlementServerGroup"/>
+ </sql-query>
+
<sql-query name="ServerGroup.lookupServerIds">
<![CDATA[ select s.id
from rhnServer s
diff --git a/java/code/src/com/redhat/rhn/domain/server/ServerGroupFactory.java b/java/code/src/com/redhat/rhn/domain/server/ServerGroupFactory.java
index 0a4b371..149801b 100644
--- a/java/code/src/com/redhat/rhn/domain/server/ServerGroupFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/server/ServerGroupFactory.java
@@ -252,6 +252,19 @@ public class ServerGroupFactory extends HibernateFactory {
}
/**
+ * List the Entitlement server groups that a host's guests are using
+ * @param hostId the host id
+ * @return the list of entitlement server groups
+ */
+ public static List<EntitlementServerGroup> listGuestsServerGroups(Long hostId) {
+ Map params = new HashMap();
+ params.put("sid", hostId);
+ return SINGLETON.listObjectsByNamedQuery(
+ "ServerGroup.lookupGuestGroups", params);
+ }
+
+
+ /**
* Returns the list of Entitlement ServerGroups associated to a server.
* @param s the server to find the server groups of
* @return list of EntitlementServerGroup objects that are associated to
diff --git a/java/code/src/com/redhat/rhn/domain/server/ServerGroupType.java b/java/code/src/com/redhat/rhn/domain/server/ServerGroupType.java
index ede23eb..7a458f9 100644
--- a/java/code/src/com/redhat/rhn/domain/server/ServerGroupType.java
+++ b/java/code/src/com/redhat/rhn/domain/server/ServerGroupType.java
@@ -15,6 +15,8 @@
package com.redhat.rhn.domain.server;
import com.redhat.rhn.domain.AbstractLabelNameHelper;
+import com.redhat.rhn.domain.entitlement.Entitlement;
+import com.redhat.rhn.manager.entitlement.EntitlementManager;
import java.util.HashSet;
import java.util.Set;
@@ -74,4 +76,12 @@ public class ServerGroupType extends AbstractLabelNameHelper {
public void setFeatures(Set<Feature> featuresIn) {
features = featuresIn;
}
+
+ /**
+ * Get the associated Entitlement
+ * @return the Entitlement
+ */
+ public Entitlement getAssociatedEntitlement() {
+ return EntitlementManager.getByName(this.getLabel());
+ }
}
diff --git a/java/code/src/com/redhat/rhn/domain/server/test/HostBuilder.java b/java/code/src/com/redhat/rhn/domain/server/test/HostBuilder.java
index 299067f..faf56ce 100644
--- a/java/code/src/com/redhat/rhn/domain/server/test/HostBuilder.java
+++ b/java/code/src/com/redhat/rhn/domain/server/test/HostBuilder.java
@@ -20,10 +20,13 @@ import com.redhat.rhn.domain.server.ServerConstants;
import com.redhat.rhn.domain.server.ServerGroupType;
import com.redhat.rhn.domain.server.VirtualInstance;
import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.manager.entitlement.EntitlementManager;
+import com.redhat.rhn.manager.system.SystemManager;
import com.redhat.rhn.testing.TestUtils;
import org.hibernate.Session;
+import java.util.Date;
import java.util.Iterator;
@@ -80,6 +83,9 @@ public class HostBuilder {
private HostBuilder createHost(ServerGroupType type) throws Exception {
host = ServerFactoryTest.createTestServer(owner, true, type);
+ if (host.getBaseEntitlement() == null) {
+ SystemManager.entitleServer(host, EntitlementManager.MANAGEMENT);
+ }
return this;
}
@@ -162,11 +168,16 @@ public class HostBuilder {
virtualInstance.setUuid(TestUtils.randomString());
if (register) {
- guest = ServerFactoryTest.createTestServer(owner);
+ guest = ServerFactoryTest.createUnentitledTestServer(owner, true,
+ ServerFactoryTest.TYPE_SERVER_NORMAL , new Date());
virtualInstance.setGuestSystem(guest);
}
host.addGuest(virtualInstance);
+ TestUtils.saveAndFlush(host);
+ TestUtils.saveAndFlush(guest);
+ //ServerFactory.save(guest);
+
}
}
diff --git a/java/code/src/com/redhat/rhn/domain/server/test/ServerFactoryTest.java b/java/code/src/com/redhat/rhn/domain/server/test/ServerFactoryTest.java
index 68f3016..ffd5ef4 100644
--- a/java/code/src/com/redhat/rhn/domain/server/test/ServerFactoryTest.java
+++ b/java/code/src/com/redhat/rhn/domain/server/test/ServerFactoryTest.java
@@ -535,17 +535,31 @@ public class ServerFactoryTest extends RhnBaseTestCase {
new Date());
}
- public static Server createTestServer(User owner, boolean ensureOwnerAccess,
- ServerGroupType type, Date dateCreated) throws Exception {
- return createTestServer(owner, ensureOwnerAccess, type, TYPE_SERVER_NORMAL,
- dateCreated);
- }
public static Server createTestServer(User owner, boolean ensureOwnerAccess,
ServerGroupType type, int stype) throws Exception {
return createTestServer(owner, ensureOwnerAccess, type, stype, new Date());
}
+
+ private static Server createTestServer(User owner, boolean ensureOwnerAccess,
+ ServerGroupType type, int stype, Date dateCreated)
+ throws Exception {
+
+ Server newS = createUnentitledTestServer(owner, ensureOwnerAccess, stype,
+ dateCreated);
+
+ if (!type.getAssociatedEntitlement().isBase()) {
+ SystemManager.entitleServer(newS, EntitlementManager.MANAGEMENT);
+ }
+
+
+ EntitlementServerGroup sg = ServerGroupTestUtils.createEntitled(owner.getOrg(),
+ type);
+ SystemManager.entitleServer(newS, sg.getGroupType().getAssociatedEntitlement());
+ return (Server) TestUtils.saveAndReload(newS);
+ }
+
/**
* Create a test Server and commit it to the DB.
* @param owner the owner of this Server
@@ -553,18 +567,14 @@ public class ServerFactoryTest extends RhnBaseTestCase {
* access to the new server.
* @return Server that was created
*/
- private static Server createTestServer(User owner, boolean ensureOwnerAccess,
- ServerGroupType type, int stype, Date dateCreated)
+ public static Server createUnentitledTestServer(User owner, boolean ensureOwnerAccess,
+ int stype, Date dateCreated)
throws Exception {
- //Create a server and a server group
- EntitlementServerGroup sg = ServerGroupTestUtils.createEntitled(owner.getOrg(),
- type);
- if (sg.getMaxMembers() != null) {
- sg.setMaxMembers(new Long(sg.getMaxMembers().longValue() + 10L));
- }
+
Server newS = createServer(stype);
+
// We have to commit this change manually since
// ServerGroups aren't actually mapped from within
// the Server class.
@@ -587,9 +597,11 @@ public class ServerFactoryTest extends RhnBaseTestCase {
newS.addNetworkInterface(netint);
+
ServerFactory.save(newS);
- ServerFactory.addServerToGroup(newS, sg);
+ TestUtils.saveAndReload(newS);
+
/* Since we added a server to the Org we need
* to update the User's permissions as associated with
@@ -705,7 +717,7 @@ public class ServerFactoryTest extends RhnBaseTestCase {
throws Exception {
return createTestServer(owner, ensureOwnerAccess,
- ServerConstants.getServerGroupTypeUpdateEntitled());
+ ServerConstants.getServerGroupTypeEnterpriseEntitled());
}
private static Server createServer(int type) {
@@ -988,4 +1000,3 @@ public class ServerFactoryTest extends RhnBaseTestCase {
}
}
-
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
index f53e716..ffd8f1d 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -38,6 +38,7 @@ import com.redhat.rhn.domain.channel.ClonedChannel;
import com.redhat.rhn.domain.channel.ContentSource;
import com.redhat.rhn.domain.channel.DistChannelMap;
import com.redhat.rhn.domain.channel.InvalidChannelRoleException;
+import com.redhat.rhn.domain.channel.PrivateChannelFamily;
import com.redhat.rhn.domain.channel.ProductName;
import com.redhat.rhn.domain.channel.ReleaseChannelMap;
import com.redhat.rhn.domain.common.CommonConstants;
@@ -2906,5 +2907,22 @@ public class ChannelManager extends BaseManager {
return toRet;
}
+ /**
+ * Recompute channel family counts
+ * Just calls the stored proc
+ *
+ * @param family the channel family
+ */
+ public static void updateChannelFamilyCounts(PrivateChannelFamily family) {
+
+ Map params = new HashMap();
+ params.put("fid", family.getChannelFamily().getId());
+ params.put("org_id", family.getOrg().getId());
+
+ CallableMode mode = ModeFactory.getCallableMode(
+ "Channel_queries", "update_family_counts");
+ mode.execute(params, new HashMap());
+ }
+
}
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelProcedure.java b/java/code/src/com/redhat/rhn/manager/channel/ChannelProcedure.java
index 7b4aed4..9b1348f 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelProcedure.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelProcedure.java
@@ -192,7 +192,15 @@ public class ChannelProcedure {
channelFamilyIn.setCurrentMembers(orgIn, currentMembers);
}
- private long computeCurrentMemberCounts(ChannelFamily channelFamilyIn,
+ /**
+ * COmpute current member counts. That is the current number of
+ * systems using a channel family (basically a real time computation
+ * of rhnPrivateChannelFamily.current_members
+ * @param channelFamilyIn the channel family
+ * @param orgIn the Org
+ * @return the Number used
+ */
+ public Long computeCurrentMemberCounts(ChannelFamily channelFamilyIn,
Org orgIn) {
SelectMode m = ModeFactory.getMode("Channel_queries",
"compute_channel_family_curent_members");
@@ -203,4 +211,6 @@ public class ChannelProcedure {
return (Long) dr.get(0).get("count");
}
+
+
}
diff --git a/java/code/src/com/redhat/rhn/manager/entitlement/EntitlementProcedure.java b/java/code/src/com/redhat/rhn/manager/entitlement/EntitlementProcedure.java
index 8f23e7e..3252ddb 100644
--- a/java/code/src/com/redhat/rhn/manager/entitlement/EntitlementProcedure.java
+++ b/java/code/src/com/redhat/rhn/manager/entitlement/EntitlementProcedure.java
@@ -14,16 +14,26 @@
*/
package com.redhat.rhn.manager.entitlement;
+import com.redhat.rhn.common.db.datasource.CallableMode;
+import com.redhat.rhn.common.db.datasource.DataResult;
+import com.redhat.rhn.common.db.datasource.ModeFactory;
+import com.redhat.rhn.common.db.datasource.SelectMode;
+import com.redhat.rhn.common.db.datasource.WriteMode;
import com.redhat.rhn.domain.channel.ChannelFactory;
import com.redhat.rhn.domain.channel.ChannelFamilyFactory;
import com.redhat.rhn.domain.channel.PrivateChannelFamily;
import com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.org.OrgFactory;
import com.redhat.rhn.domain.server.EntitlementServerGroup;
+import com.redhat.rhn.domain.server.ServerFactory;
import com.redhat.rhn.domain.server.ServerGroupFactory;
import com.redhat.rhn.frontend.xmlrpc.SatelliteOrgException;
+import com.redhat.rhn.manager.channel.ChannelManager;
+import com.redhat.rhn.manager.channel.ChannelProcedure;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
*
@@ -94,4 +104,114 @@ public class EntitlementProcedure {
}
+ /**
+ * -- *******************************************************************
+ * PROCEDURE: repoll_virt_guest_entitlements
+ *
+ * Whenever we add/remove a virtualization_host* entitlement from
+ * a host, we can call this procedure to update what type of slots
+ * the guests are consuming.
+ *
+ * If you're removing the entitlement, it's
+ * possible the guests will become unentitled if you don't have enough
+ * physical slots to cover them.
+ -- All channel families associated with the guests of server_id_in
+ *
+ * If you're adding the entitlement, you end up freeing up physical
+ * slots for other systems.
+ * @param sid the server Id
+ */
+ public void repollGuestVirtEntitlements(Long sid) {
+
+ List<PrivateChannelFamily> chanFamilies =
+ ChannelFamilyFactory.listGuestChannelFamiles(sid);
+ List<EntitlementServerGroup> sysEntitlements =
+ ServerGroupFactory.listGuestsServerGroups(sid);
+
+ for (PrivateChannelFamily family : chanFamilies) {
+ Long physicalMembers =
+ ChannelProcedure.getInstance().computeCurrentMemberCounts(
+ family.getChannelFamily(), family.getOrg());
+
+ if (physicalMembers > family.getMaxMembers()) {
+ List<Long> idsToRemove = ServerFactory.listGuestIdsForRemoval(
+ family.getChannelFamily(), physicalMembers.longValue() -
+ family.getMaxMembers().longValue(), sid);
+ for (Long toRemove : idsToRemove) {
+ unsubscribeServerFromFamily(toRemove,
+ family.getChannelFamily().getId());
+ }
+
+ /*
+ * update current_members for the family. This will set the value
+ * to reflect adding/removing the entitlement.
+ */
+ ChannelManager.updateChannelFamilyCounts(family);
+
+ }
+ }
+
+ for (EntitlementServerGroup group : sysEntitlements) {
+ ServerGroupFactory.lockEntitledServerGroup(group);
+ Long physicalCount = getCurrentServerGroupCount(group);
+ if (physicalCount > group.getMaxMembers()) {
+ List<Long> idsToRemove = ServerFactory.listGuestIdsForRemoval(group,
+ physicalCount.longValue() - group.getMaxMembers().longValue(),
+ sid);
+ for (Long guestId : idsToRemove) {
+ removeServerEntitlement(guestId, group.getGroupType().getLabel());
+ physicalCount--;
+ }
+ updateServerGroupCurrentMembers(physicalCount, group);
+ }
+
+ }
+
+
+ }
+
+ private void unsubscribeServerFromFamily(Long sid, Long familyId) {
+ CallableMode m = ModeFactory.getCallableMode("Procedure_queries",
+ "unsubscribe_server_from_family");
+ Map params = new HashMap();
+ params.put("sid", sid);
+ params.put("fam_id", familyId);
+ m.execute(params, new HashMap());
+
+ }
+
+
+ private void removeServerEntitlement(Long sid, String groupType) {
+ CallableMode m = ModeFactory.getCallableMode("Procedure_queries",
+ "remove_server_entitlement");
+ Map params = new HashMap();
+ params.put("sid", sid);
+ params.put("group_type", groupType);
+ m.execute(params, new HashMap());
+ }
+
+
+ private void updateServerGroupCurrentMembers(
+ Long currentMembers, EntitlementServerGroup group) {
+ WriteMode m = ModeFactory.getWriteMode("Procedure_queries",
+ "update_group_current_members");
+ Map params = new HashMap();
+ params.put("sgid", group.getId());
+ params.put("current_members", currentMembers);
+ m.executeUpdate(params);
+ }
+
+ /**
+ * Calculates the actual current_members value
+ * (the number of systems using that entitlement)
+ */
+ private Long getCurrentServerGroupCount(EntitlementServerGroup group) {
+ SelectMode m = ModeFactory.getMode("Procedure_queries",
+ "compute_physical_server_group_count");
+ Map params = new HashMap();
+ params.put("sgid", group.getId());
+ DataResult<Map<String, Object>> dr = m.execute(params);
+ return (Long) dr.get(0).get("count");
+ }
+
}
diff --git a/java/code/src/com/redhat/rhn/manager/entitlement/test/EntitlementProcedureTest.java b/java/code/src/com/redhat/rhn/manager/entitlement/test/EntitlementProcedureTest.java
new file mode 100644
index 0000000..9def21f
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/manager/entitlement/test/EntitlementProcedureTest.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2009--2010 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.
+ */
+package com.redhat.rhn.manager.entitlement.test;
+
+import com.redhat.rhn.common.db.datasource.CallableMode;
+import com.redhat.rhn.common.db.datasource.ModeFactory;
+import com.redhat.rhn.domain.channel.Channel;
+import com.redhat.rhn.domain.channel.ChannelFactory;
+import com.redhat.rhn.domain.channel.ChannelFamily;
+import com.redhat.rhn.domain.channel.ChannelFamilyFactory;
+import com.redhat.rhn.domain.org.Org;
+import com.redhat.rhn.domain.org.OrgFactory;
+import com.redhat.rhn.domain.org.test.OrgFactoryTest;
+import com.redhat.rhn.domain.role.RoleFactory;
+import com.redhat.rhn.domain.server.EntitlementServerGroup;
+import com.redhat.rhn.domain.server.Server;
+import com.redhat.rhn.domain.server.ServerFactory;
+import com.redhat.rhn.domain.server.VirtualInstance;
+import com.redhat.rhn.domain.server.test.HostBuilder;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.domain.user.UserFactory;
+import com.redhat.rhn.manager.entitlement.EntitlementManager;
+import com.redhat.rhn.manager.entitlement.EntitlementProcedure;
+import com.redhat.rhn.manager.org.UpdateOrgSoftwareEntitlementsCommand;
+import com.redhat.rhn.manager.org.UpdateOrgSystemEntitlementsCommand;
+import com.redhat.rhn.manager.system.ServerGroupManager;
+import com.redhat.rhn.manager.system.SystemManager;
+import com.redhat.rhn.testing.RhnBaseTestCase;
+import com.redhat.rhn.testing.UserTestUtils;
+
+import org.apache.commons.lang.RandomStringUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+public class EntitlementProcedureTest extends RhnBaseTestCase {
+
+
+ public void testRepollGuestVirtEntitlements() throws Exception {
+ OrgFactoryTest test = new OrgFactoryTest();
+ Org org = UserTestUtils.createNewOrgFull(RandomStringUtils.randomAlphabetic(10));
+ User user = UserTestUtils.createUser(RandomStringUtils.randomAlphabetic(10),
+ org.getId());
+ user.addRole(RoleFactory.ORG_ADMIN);
+ UserFactory.save(user);
+ Long ents = 3L;
+ Long guestsToCreate = 6L;
+
+ //Give it some system entitlements
+ UpdateOrgSystemEntitlementsCommand cmd1 = new UpdateOrgSystemEntitlementsCommand(
+ EntitlementManager.MANAGEMENT, org, ents);
+ cmd1.store();
+
+ UpdateOrgSoftwareEntitlementsCommand cmd2
+ = new UpdateOrgSoftwareEntitlementsCommand("rhel-server", org, ents);
+ cmd2.store();
+ OrgFactory.getSession().clear();
+
+
+ HostBuilder builder = new HostBuilder(org.getActiveOrgAdmins().get(0));
+ builder.createVirtHost().withGuests(guestsToCreate.intValue());
+ Server host = builder.build();
+
+
+ ServerFactory.save(host);
+ Channel rhelServer = ChannelFactory.lookupByLabel("rhel-i386-server-5");
+ SystemManager.subscribeServerToChannel(user, host, rhelServer);
+ //SystemManager.entitleServer(host, EntitlementManager.MANAGEMENT);
+ ServerFactory.save(host);
+ for (VirtualInstance inst : host.getGuests()) {
+ SystemManager.subscribeServerToChannel(user,
+ inst.getGuestSystem(), rhelServer);
+ SystemManager.entitleServer(inst.getGuestSystem(),
+ EntitlementManager.MANAGEMENT);
+ ServerFactory.save(inst.getGuestSystem());
+ }
+
+ OrgFactory.getSession().clear();
+
+ //Verify everything is as it should be
+ EntitlementServerGroup mgmnt =
+ ServerGroupManager.getInstance().lookupEntitled(
+ EntitlementManager.MANAGEMENT, user);
+ assertEquals(new Long(1L), mgmnt.getCurrentMembers());
+ ChannelFamily family = ChannelFamilyFactory.lookupByLabel("rhel-server", org);
+ assertEquals(new Long(1L), family.getCurrentMembers(org));
+
+
+ OrgFactory.getSession().clear();
+
+ EntitlementProcedure.getInstance().repollGuestVirtEntitlements(host.getId());
+
+
+ //verify that after repolling with no changes, eerything is teh same
+ mgmnt = ServerGroupManager.getInstance().lookupEntitled(
+ EntitlementManager.MANAGEMENT, user);
+ assertEquals(new Long(1L), mgmnt.getCurrentMembers());
+ family = ChannelFamilyFactory.lookupByLabel("rhel-server", org);
+ assertEquals(new Long(1L), family.getCurrentMembers(org));
+
+
+ //Now clear the virtualization entitlements without going through stored proc
+ // (To test repoll)
+ removeServerEntitlement(host.getId(),
+ ServerGroupManager.getInstance().lookupEntitled(
+ EntitlementManager.VIRTUALIZATION, user).getGroupType().getLabel());
+
+ EntitlementProcedure.getInstance().repollGuestVirtEntitlements(host.getId());
+
+ OrgFactory.getSession().clear();
+
+ mgmnt = ServerGroupManager.getInstance().lookupEntitled(
+ EntitlementManager.MANAGEMENT, user);
+ assertEquals(ents, mgmnt.getCurrentMembers());
+ family = ChannelFamilyFactory.lookupByLabel("rhel-server", org);
+ assertEquals(ents, family.getCurrentMembers(org));
+
+ host = ServerFactory.lookupById(host.getId());
+ int groupUnent = 0;
+ int familyUnent = 0;
+ for (VirtualInstance virt : host.getGuests()) {
+ if (virt.getGuestSystem().getBaseEntitlement() == null) {
+ groupUnent++;
+ }
+ if (virt.getGuestSystem().getBaseChannel() == null) {
+ familyUnent++;
+ }
+
+ }
+
+
+ //The number of unentitled guests should be the number of guests
+ // - the number of open slots (leaving one out for the host)
+ assertEquals(guestsToCreate.intValue() - (ents.intValue() - 1), groupUnent);
+ assertEquals(guestsToCreate.intValue() - (ents.intValue() - 1), familyUnent);
+
+
+ }
+
+
+ private static void removeServerEntitlement(Long sid, String groupType) {
+ CallableMode m = ModeFactory.getCallableMode("Procedure_queries",
+ "remove_server_entitlement");
+
+ // SelectMode m = ModeFactory.getMode("Procedure_queries",
+ // "remove_server_entitlement");
+
+ Map params = new HashMap();
+ params.put("sid", sid);
+ params.put("group_type", groupType);
+
+
+ m.execute(params, new HashMap());
+ // m.execute(params);
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/testing/UserTestUtils.java b/java/code/src/com/redhat/rhn/testing/UserTestUtils.java
index 308e2d1..04f61d9 100644
--- a/java/code/src/com/redhat/rhn/testing/UserTestUtils.java
+++ b/java/code/src/com/redhat/rhn/testing/UserTestUtils.java
@@ -53,15 +53,25 @@ public class UserTestUtils extends Assert {
* @return long The Org id.
*/
public static Long createOrg(String orgName) {
+ return createNewOrgFull(orgName).getId();
+ }
+
+ /**
+ * Creates a new Org with the given orgName.
+ * The current time is appended to the given orgName.
+ * @param orgName Name of org.
+ * @return long The Org
+ */
+ public static Org createNewOrgFull(String orgName) {
Org org1 = OrgFactory.createOrg();
org1.setName(orgName + TestUtils.randomString());
org1.setCustomerType("B");
org1 = OrgFactory.save(org1);
assertTrue(org1.getId().longValue() > 0);
-
- return org1.getId();
+ return org1;
}
+
/**
* Creates a new User and Org with the given userName and orgName.
* The current time is appended to the given username and orgName.
13 years, 12 months
Branch 'yum-repo-sync' - java/code
by Shannon Hughes
java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java | 13 ++++++++--
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 9 ++++++
java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp | 10 +++----
3 files changed, 25 insertions(+), 7 deletions(-)
New commits:
commit d88273466f3d28f1cd5dc5240c7fdb5dbc771d2f
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Wed Jun 2 16:05:59 2010 -0400
preselect set channel repo logic
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
index 72c8dc2..1424a65 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
@@ -27,6 +27,7 @@ import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
+import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.channel.ChannelFactory;
import com.redhat.rhn.domain.channel.ContentSource;
import com.redhat.rhn.domain.user.User;
@@ -45,17 +46,25 @@ public class RepositoriesAction extends RhnAction implements Listable {
HttpServletResponse response) {
RequestContext context = new RequestContext(request);
+ User user = context.getLoggedInUser();
+
+ long cid = context.getRequiredParam("cid");
+ Channel chan = ChannelFactory.lookupByIdAndUser(cid, user);
+ request.setAttribute("channel_name", chan.getName());
Map params = new HashMap();
params.put(RequestContext.CID, context.getRequiredParamAsString(RequestContext.CID));
- ListSessionSetHelper helper = new ListSessionSetHelper(this, request);
+ ListSessionSetHelper helper = new ListSessionSetHelper(this, request, params);
if (!context.isSubmitted()) {
List<ContentSource> result = getResult(context);
Set<String> preSelect = new HashSet<String>();
for (int i = 0; i < result.size(); i++) {
- preSelect.add(result.get(i).getId().toString());
+ ContentSource src = result.get(i);
+ if(src.getChannels().contains(chan)) {
+ preSelect.add(src.getId().toString());
+ }
}
helper.preSelect(preSelect);
}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index ca2bf4e..d9ed732 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -9298,6 +9298,15 @@ Please note that some manual configuration of these scripts may still be require
<trans-unit id="repos.jsp.delete.info.header">
<source>Repository Information</source>
</trans-unit>
+ <trans-unit id="repos.jsp.update.channel">
+ <source>Update Repositories</source>
+ </trans-unit>
+ <trans-unit id="repos.jsp.channel.header">
+ <source>Repository</source>
+ </trans-unit>
+ <trans-unit id="repos.jsp.channel.repos">
+ <source>Channel Repositories</source>
+ </trans-unit>
<!-- TNC -->
<trans-unit id="tnc.jsp.tnc">
diff --git a/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp b/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp
index e206a1c..fdbc919 100644
--- a/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp
+++ b/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp
@@ -14,7 +14,7 @@
<%@ include file="/WEB-INF/pages/common/fragments/channel/manage/manage_channel_header.jspf" %>
<BR>
-<h2><img src="/img/rhn-icon-packages.gif"> <bean:message key="channel.jsp.package.list"/></h2>
+<h2><img src="/img/rhn-icon-packages.gif"> <bean:message key="repos.jsp.channel.repos"/></h2>
@@ -24,7 +24,7 @@
<rl:list
decorator="SelectableDecorator"
- emptykey="package.jsp.emptylist"
+ emptykey="repos.jsp.norepos"
alphabarcolumn="label"
>
@@ -35,12 +35,12 @@
<rl:column sortable="true"
bound="false"
- headerkey="download.jsp.package"
+ headerkey="repos.jsp.channel.header"
sortattr="label"
defaultsort="asc"
>
- <a href="/rhn/software/packages/Details.do?pid=${current.id}">${current.label}</a>
+ <a href="/rhn/channels/manage/repos/RepoEdit.do?id=${current.id}">${current.label}</a>
</rl:column>
@@ -49,7 +49,7 @@
<div align="right">
<hr />
<input type="submit" name="confirm"
- value="<bean:message key="channel.jsp.package.removebutton"/>" />
+ value="<bean:message key="repos.jsp.update.channel"/>" />
</div>
<rhn:submitted/>
13 years, 12 months
Branch 'yum-repo-sync' - java/code
by Shannon Hughes
java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java | 11 +
java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp | 60 ++++++++++
java/code/webapp/WEB-INF/struts-config.xml | 2
3 files changed, 69 insertions(+), 4 deletions(-)
New commits:
commit 38787659c4ba9b0b819025dad2994c9c36eec827
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Wed Jun 2 15:28:08 2010 -0400
initial jsp support for channel to repo mapping
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
index cb76c65..72c8dc2 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
@@ -14,8 +14,10 @@
*/
package com.redhat.rhn.frontend.action.channel.manage;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
@@ -42,9 +44,13 @@ public class RepositoriesAction extends RhnAction implements Listable {
HttpServletRequest request,
HttpServletResponse response) {
- ListSessionSetHelper helper = new ListSessionSetHelper(this, request);
-
RequestContext context = new RequestContext(request);
+
+ Map params = new HashMap();
+ params.put(RequestContext.CID, context.getRequiredParamAsString(RequestContext.CID));
+
+ ListSessionSetHelper helper = new ListSessionSetHelper(this, request);
+
if (!context.isSubmitted()) {
List<ContentSource> result = getResult(context);
Set<String> preSelect = new HashSet<String>();
@@ -56,7 +62,6 @@ public class RepositoriesAction extends RhnAction implements Listable {
helper.execute();
if(helper.isDispatched()) {
- //handle the dispatch action (like removing groups etc)
return mapping.findForward("success");
}
diff --git a/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp b/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp
new file mode 100644
index 0000000..e206a1c
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp
@@ -0,0 +1,60 @@
+<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
+<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
+
+<html:xhtml/>
+<html>
+<head>
+ <meta name="page-decorator" content="none" />
+</head>
+<body>
+
+<%@ include file="/WEB-INF/pages/common/fragments/channel/manage/manage_channel_header.jspf" %>
+<BR>
+
+<h2><img src="/img/rhn-icon-packages.gif"> <bean:message key="channel.jsp.package.list"/></h2>
+
+
+
+<rl:listset name="packageSet" legend="system-group">
+
+<input type="hidden" name="cid" value="${cid}" />
+
+ <rl:list
+ decorator="SelectableDecorator"
+ emptykey="package.jsp.emptylist"
+ alphabarcolumn="label"
+ >
+
+ <rl:decorator name="PageSizeDecorator"/>
+
+ <rl:selectablecolumn value="${current.id}"
+ styleclass="first-column"/>
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="download.jsp.package"
+ sortattr="label"
+ defaultsort="asc"
+ >
+
+ <a href="/rhn/software/packages/Details.do?pid=${current.id}">${current.label}</a>
+ </rl:column>
+
+
+
+ </rl:list>
+ <div align="right">
+ <hr />
+ <input type="submit" name="confirm"
+ value="<bean:message key="channel.jsp.package.removebutton"/>" />
+ </div>
+ <rhn:submitted/>
+
+
+</rl:listset>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml
index 3de4e99..63119e7 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -6484,7 +6484,7 @@
scope="request"
type="com.redhat.rhn.frontend.action.channel.manage.RepositoriesAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
- <forward name="default" path="/WEB-INF/pages/channel/manage/repositories.jsp" />
+ <forward name="default" path="/WEB-INF/pages/channel/manage/channelrepos.jsp" />
<forward name="success" path="/channels/manage/Repositories.do" redirect="true" />
</action>
13 years, 12 months
Branch 'yum-repo-sync' - java/code
by Shannon Hughes
java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java | 22 +++++++---
java/code/src/com/redhat/rhn/manager/rhnset/RhnSetDecl.java | 3 -
2 files changed, 17 insertions(+), 8 deletions(-)
New commits:
commit 090e47343ecf987cff5c30bb861cc46d6d8eba3b
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Wed Jun 2 15:08:52 2010 -0400
change from rhnset to sessionset for repo maps
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
index 36a78c9..cb76c65 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
@@ -14,7 +14,9 @@
*/
package com.redhat.rhn.frontend.action.channel.manage;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -24,12 +26,12 @@ import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.redhat.rhn.domain.channel.ChannelFactory;
+import com.redhat.rhn.domain.channel.ContentSource;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
-import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
public class RepositoriesAction extends RhnAction implements Listable {
@@ -40,8 +42,18 @@ public class RepositoriesAction extends RhnAction implements Listable {
HttpServletRequest request,
HttpServletResponse response) {
- ListRhnSetHelper helper =
- new ListRhnSetHelper(this, request,RhnSetDecl.REPOSITORY_CHANNEL_MAPS);
+ ListSessionSetHelper helper = new ListSessionSetHelper(this, request);
+
+ RequestContext context = new RequestContext(request);
+ if (!context.isSubmitted()) {
+ List<ContentSource> result = getResult(context);
+ Set<String> preSelect = new HashSet<String>();
+ for (int i = 0; i < result.size(); i++) {
+ preSelect.add(result.get(i).getId().toString());
+ }
+ helper.preSelect(preSelect);
+ }
+
helper.execute();
if(helper.isDispatched()) {
//handle the dispatch action (like removing groups etc)
@@ -51,7 +63,7 @@ public class RepositoriesAction extends RhnAction implements Listable {
return mapping.findForward("default");
}
- public List getResult(RequestContext context) {
+ public List<ContentSource> getResult(RequestContext context) {
User user = context.getLoggedInUser();
return ChannelFactory.lookupContentSources(user.getOrg());
}
diff --git a/java/code/src/com/redhat/rhn/manager/rhnset/RhnSetDecl.java b/java/code/src/com/redhat/rhn/manager/rhnset/RhnSetDecl.java
index 5dbed76..f2fd4fa 100644
--- a/java/code/src/com/redhat/rhn/manager/rhnset/RhnSetDecl.java
+++ b/java/code/src/com/redhat/rhn/manager/rhnset/RhnSetDecl.java
@@ -276,9 +276,6 @@ public class RhnSetDecl {
public static final RhnSetDecl REMOVE_SYSTEMS_LIST = make(
"remove_systems_list", SetCleanup.NOOP);
- public static final RhnSetDecl REPOSITORY_CHANNEL_MAPS = make(
- "repository_channel_maps", SetCleanup.NOOP);
-
public static final RhnSetDecl CHANNEL_SUBSCRIPTION_PERMS = make(
"channel_subscription_perms", SetCleanup.NOOP);
13 years, 12 months