Bug 468534 - ISE when delegating virt. entitlement to a registered system
Summary: ISE when delegating virt. entitlement to a registered system
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Server
Version: 530
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Brad Buckingham
QA Contact: Milan Zázrivec
URL:
Whiteboard:
Depends On:
Blocks: 456985
TreeView+ depends on / blocked
 
Reported: 2008-10-25 17:43 UTC by Milan Zázrivec
Modified: 2009-09-10 20:29 UTC (History)
5 users (show)

Fixed In Version: sat530
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-09-10 20:29:41 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
catalina.out (11.67 KB, text/plain)
2008-10-25 17:43 UTC, Milan Zázrivec
no flags Details
virt entitlement ise (199.74 KB, image/png)
2008-12-20 17:13 UTC, Pradeep Kilambi
no flags Details

Description Milan Zázrivec 2008-10-25 17:43:57 UTC
Created attachment 321518 [details]
catalina.out

Description of problem:
* Satellite-5.3.0-RHEL5-re20081024.1 / s390x
* registered rhel5 machine

When adding a Virtualization / Virtualization platform entitlement to 
a registered system, I get ISE (full dump in attachment):

[TP-Processor7] WARN  org.apache.struts.action.RequestProcessor - Unhandled
Exception thrown: class com.redhat.rhn.manager.system.IncompatibleArchException
[TP-Processor7] ERROR com.redhat.rhn.frontend.servlets.SessionFilter - Error
during transaction. Rolling back javax.servlet.ServletException: The server
architecture (i686) is incompatible with the channel architecture (IA-32)

Comment 1 Jeff Browning 2008-12-10 21:51:37 UTC
Still seeing this on the Satellite-5.3.0-RHEL5-re20081128.0-i386-embedded-oracle ISO. It's blocking any test case that depends on assigning virtualization to a system.

ISE text:

The following exception occurred while executing this request:
POST /rhn/systems/details/Edit.do

Date:12/10/08 4:36:32 PM EST
Headers:
  host: fjs-0-01.rhndev.redhat.com
  user-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.2) Gecko/2008091816 Red Hat/3.0.2-3.el5 Firefox/3.0.2
  accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  accept-language: en-us,en;q=0.5
  accept-encoding: gzip,deflate
  accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
  Keep-Alive: 300
  connection: keep-alive
  referer: https://fjs-0-01.rhndev.redhat.com/rhn/systems/details/Edit.do?sid=1000010000
  cookie: JSESSIONID=49A779CDEADE0802CC303DCF974EEA54; s_cc=true; rh_omni_tc=70160000000H4AjAAK; s_sq=redhatglobaltest%2Credhatqa%3D%2526pid%253Dhttps%25253A//rhn.webqa.redhat.com/rhn/software/channels/All.do%2526oid%253Dfunctiononclick%252528event%252529%25257B%252520%252520toggleRowVisibility%252528%252522id431%252522%252529%25253B%25257D%2526oidt%253D2%2526ot%253DA%26redhatstage%3D%2526pid%253Dhttps%25253A//rhn.stage.redhat.com/rhn/software/channels/All.do%2526oid%253Dfunctiononclick%252528event%252529%25257B%252520%252520toggleRowVisibility%252528%252522id431%252522%252529%25253B%25257D%2526oidt%253D2%2526ot%253DA; s_vi=[CS]v1|4925DB8500002C4F-A3A081A00004693[CE]; rh_sso=0|VryhiBFkftnHT9nBKHYb1xzYeqtclS4NIke; rh_user=jbrownin|Jeff|member; rh_shared_auth=8829cf798189ada21c1f5d82cd5c52ed1bdcd9b0aed0859d6db7448ca5c1b66fb5d2b0dde030f4b0f3917fb8b975485d; pxt-session-cookie=62x33ad5302963e49450d3ac3fe1ed529c6
  content-type: application/x-www-form-urlencoded
  content-length: 410
  Max-Forwards: 10

Request:
Local Name = fjs-0-01.rhndev.redhat.com
Server Name = fjs-0-01.rhndev.redhat.com
Requested Session Id came from Cookie
Requested Session Valid = true
Session = org.apache.catalina.session.StandardSessionFacade@2c9c2c9c[session=StandardSession[49A779CDEADE0802CC303DCF974EEA54]]
Protocol = https
Request Locale = en_US
Request Character Encoding = UTF-8
Attribute Names = rhnActiveLang, javax.servlet.jsp.jstl.fmt.timeZone.request, javax.servlet.request.key_size, __sitemesh__filterapplied, javax.servlet.request.ssl_session, javax.servlet.request.cipher_suite, org.apache.struts.action.MESSAGE, session, systemDetailsForm, org.apache.struts.action.mapping.instance, requestedUri, org.apache.struts.action.MODULE, 

Form Variables:
  rack: 
  monitoring_entitled: on
  building: 
  receive_notifications: on
  system_name: rlx-0-06.rhndev.redhat.com
  sid: 1000010000
  state: 
  base_entitlement: enterprise_entitled
  virtualization_host: on
  include_in_daily_summary: on
  country: 
  description: Initial Registration Parameters:
OS: redhat-release
Release: 5Server
CPU Arch: i686-redhat-linux
  submitted: true
  city: 
  address2: 
  address1: 
  room: 
  provisioning_entitled: on


User Information:
User admin (id 1, org_id 1)

Exception:
javax.servlet.ServletException: The server architecture (i686) is incompatible with the channel architecture (IA-32)
	at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:237)
	at com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:82)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:73)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142)
	at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:55)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
	at java.lang.Thread.run(Thread.java:735)
Caused by: com.redhat.rhn.manager.system.IncompatibleArchException: The server architecture (i686) is incompatible with the channel architecture (IA-32)
	at com.redhat.rhn.manager.system.SystemManager.subscribeServerToChannel(SystemManager.java:1059)
	at com.redhat.rhn.manager.system.SystemManager.subscribeServerToChannel(SystemManager.java:1013)
	at com.redhat.rhn.manager.channel.ChannelManager.subscribeToChildChannelWithPackageName(ChannelManager.java:1294)
	at com.redhat.rhn.manager.system.SystemManager.setupSystemForVirtualization(SystemManager.java:1463)
	at com.redhat.rhn.manager.system.SystemManager.entitleServer(SystemManager.java:1404)
	at com.redhat.rhn.manager.system.SystemManager.entitleServer(SystemManager.java:1361)
	at com.redhat.rhn.frontend.action.systems.sdc.SystemDetailsEditAction.checkVirtEntitlements(SystemDetailsEditAction.java:256)
	at com.redhat.rhn.frontend.action.systems.sdc.SystemDetailsEditAction.processSubmission(SystemDetailsEditAction.java:202)
	at com.redhat.rhn.frontend.action.systems.sdc.SystemDetailsEditAction.execute(SystemDetailsEditAction.java:97)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	... 40 more

Comment 2 Preethi Thomas 2008-12-11 15:48:02 UTC
Looks like this completely blocks subscribing to tools channel and hence any operation that needs tools channel (eg: econfig management).

Note: I am able to give provisioning entitlement to the system, but not able to subscribe to tools channel.

If I try to enable config management through config management menu, I get an ISE.

Comment 3 Pradeep Kilambi 2008-12-20 17:13:44 UTC
Created attachment 327547 [details]
virt entitlement ise

fails devel validation. I see the same symptoms mentioned in comment#1 on the
validation build.. assigning virtualization entitlement to registered system causes an ISE.

moving back to assigned.

Comment 4 Jesus M. Rodriguez 2008-12-22 16:38:57 UTC
While investigating, what I was seeing is that when we call ChannelArch.isCompatible(ServerArch) that was returning FALSE. Even though the
ChannelArch was "IA-32" and the ServerArch was "i686". The database queries
looked fine as i686 was a compatible arch for IA-32.

What I don't understand is why it would return FALSE. The only thing I can
guess is that the equals() method is getting busted by hibernate. But this
code hasn't changed in quite a while so something else has changed in this
area from Satellite 5.2.

Comment 6 Brad Buckingham 2008-12-23 16:20:26 UTC
Based on comment #4 above, it looks like the solution implemented for https://bugzilla.redhat.com/show_bug.cgi?id=477530 should also address this BZ.  Refer to comment https://bugzilla.redhat.com/show_bug.cgi?id=477530#4 for details.

I am no longer seeing this issue after applying the above fix.

Comment 7 Milan Zázrivec 2009-01-26 01:17:02 UTC
Verified with spacewalk-java-0.5.4-1 & java-1.6.0-ibm-1.6.0.1-1jpp.3

Comment 8 Michael Mráka 2009-08-13 12:48:08 UTC
Verified in stage -> RELEASE_PENDING.

* added a Virtualization / Virtualization platform entitlement
* no ISE

Comment 9 Brandon Perkins 2009-09-10 20:29:41 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2009-1434.html


Note You need to log in before you can comment on or make changes to this bug.