Bug 467281
| Summary: | we need a standard channel naming convention or empty channel for satellite tools | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Community] Spacewalk | Reporter: | wes hayutin <whayutin> | ||||
| Component: | Server | Assignee: | Pradeep Kilambi <pkilambi> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | wes hayutin <whayutin> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 0.3 | CC: | bperkins, clasohm, cperry, msuchy | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| URL: | na | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 609654 (view as bug list) | Environment: | |||||
| Last Closed: | 2009-09-10 12:04:57 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 456554, 609654 | ||||||
| Attachments: |
|
||||||
What if we add another attribute to a channel that indicates it's relationship instead of using the channel labels? This would make it more flexible for other use cases which are similar. I encountered this problem while doing a Spacewalk 0.5 installation. The customer created a base channel from a RHEL 5.3 copy and a child channel with the label "rhel5-server-x86_64-rhn-tools".
rhnreg_ks printed this error during Kickstart installation:
An error has occurred:
Internal Server Error
See /var/log/up2date for more information
The same error was printed by rhn_check when we ran it after the reboot. The Web UI showed a couple of pending events for the system.
In /var/log/httpd/error_log, we got this:
Exception Handler Information
Traceback (most recent call last):
File "/usr/share/rhn/server/apacheRequest.py", line 120, in call_function
response = apply(func, params)
File "/usr/share/rhn/server/handlers/xmlrpc/queue.py", line 283, in get
ret = self.__getV2(action)
File "/usr/share/rhn/server/handlers/xmlrpc/queue.py", line 89, in __getV2
result = method(self.server_id, action['id'])
File "/usr/share/rhn/server/action/kickstart_host.py", line 29, in add_tools_channel
subscribe_to_tools_channel(server_id)
File "/usr/share/rhn/server/rhnChannel.py", line 2379, in subscribe_to_tools_channel
raise NoToolsChannel("Base channel id %s does not have a RHN Tools channel as a child channel." % \
NoToolsChannel: Base channel id 130 does not have a RHN Tools channel as a child channel.
As a quick workaround, I patched /usr/share/rhn/server/rhnChannel.py from spacewalk-backend-server-0.5.34-1.el5:
--- /usr/share/rhn/server/rhnChannel.py.orig 2009-06-10 14:25:54.000000000 +0200
+++ /usr/share/rhn/server/rhnChannel.py 2009-06-10 14:28:15.000000000 +0200
@@ -2372,7 +2372,7 @@
tools_channel = None
for channel in child_channels:
if channel.has_key('label'):
- if channel['label'].find('rhn-tools') == 0:
+ if channel['label'].find('rhn-tools') != -1:
tools_channel = channel
if tools_channel is None:
This allows the "rhn-tools" keyword to be anywhere in the label, instead of forcing it to be at the start.
commit 0bcf3672c1a4fd995b8bcec6fe12ea3b91eda1f8
Author: Pradeep Kilambi <pkilambi>
Date: Fri Jul 31 13:05:49 2009 -0400
467281 - Instead of checking for the start now we check if tools is in the channel label. This is not a perfect solution but at least covers few more cases. An ideal solution would be to add some kind of a relation ship between parent and child signifying that this is a tools channel for a given parent.
Spacewalk 0.6 released |
Created attachment 320579 [details] screenshot Description of problem: If a customer is using a base channels other than official rhel channels they will run into a problem when using our "enable config management" tool. The satellite will look for a specific network tools channel associated with a base channel. If the sat admin creates a child tools channel w/ anything other than what satellite is expecting.. the function will not work. see screenshot for webui view of function