[Spacewalk-list] Problems kickstarting

Milan Zazrivec mzazrivec at redhat.com
Fri Apr 13 12:19:12 UTC 2012


> On Fri, Apr 13, 2012 at 4:20 PM, Milan Zazrivec <mzazrivec at redhat.com> 
wrote:
> >> Hi all
> >> 
> >> I'm trying to kickstart a RHEL4 based node from Spacewalk v1.6
> >> (Oracle).  The kickstart is failing with a message saying it failed to
> >> retrieve netstg2.img.
> >> 
> >> Looking at the Apache logs, I see quite a few lines with status of 500
> >> for updates.img, product.img and netstg2.img.  As there was nothing
> >> interesting in /var/log/httpd/error_log, I looked in
> >> /var/log/tmcat6/catalina.out and saw:
> >> ---
> >> 2012-04-13 11:34:01,135 [TP-Processor2] WARN
> >> org.apache.struts.action.RequestProcessor - Unhandled Exception
> >> thrown: class org.hibernate.NonUniqueResultException
> >> 2012-04-13 11:34:01,141 [TP-Processor2] ERROR
> >> com.redhat.rhn.frontend.servlets.SessionFilter - Error during
> >> transaction. Rolling back
> >> javax.servlet.ServletException:
> >> org.hibernate.NonUniqueResultException: query did not return a unique
> >> result: 2
> >>         at
> >> org.apache.struts.action.RequestProcessor.processException(RequestProces
> >> so r.java:520) at
> >> org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
> >> oc essor.java:427) at
> >> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
> >> 22 8) at
> >> com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestPro
> >> ce ssor.java:99) at
> >> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
> >> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at
> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> >> ati onFilterChain.java:290) at
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> >> er Chain.java:206) at
> >> com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:91)
> >> at
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> >> ti onFilterChain.java:235) at
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> >> er Chain.java:206) at
> >> com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFi
> >> lt er.java:129) at
> >> com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.
> >> ja va:77) at
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> >> ti onFilterChain.java:235) at
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> >> er Chain.java:206) at
> >> com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(Loc
> >> al izedEnvironmentFilter.java:67) at
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> >> ti onFilterChain.java:235) at
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> >> er Chain.java:206) at
> >> com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentF
> >> il ter.java:108) at
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> >> ti onFilterChain.java:235) at
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> >> er Chain.java:206) at
> >> com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.ja
> >> va
> >> 
> >> :55) at
> >> 
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> >> ti onFilterChain.java:235) at
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> >> er Chain.java:206) at
> >> com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(Set
> >> Ch aracterEncodingFilter.java:97) at
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> >> ti onFilterChain.java:235) at
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> >> er Chain.java:206) at
> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
> >> e. java:233) at
> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
> >> e. java:191) at
> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> >> :1 27) at
> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> >> :1 02) at
> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
> >> ja va:109) at
> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2
> >> 98 ) at
> >> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> >> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> >> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) at
> >> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java
> >> :69 8) at
> >> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.
> >> ja va:891) at
> >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
> >> .j ava:690) at java.lang.Thread.run(Thread.java:679)
> >> Caused by: org.hibernate.NonUniqueResultException: query did not
> >> return a unique result: 2
> >>         at
> >> org.hibernate.impl.AbstractQueryImpl.uniqueElement(AbstractQueryImpl.jav
> >> a: 820) at
> >> org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java
> >> :8 11) at
> >> com.redhat.rhn.domain.kickstart.KickstartFactory.lookupKickstartTreeByLa
> >> be l(KickstartFactory.java:536) at
> >> com.redhat.rhn.frontend.action.common.DownloadFile.handleKickstartDownlo
> >> ad (DownloadFile.java:246) at
> >> com.redhat.rhn.frontend.action.common.DownloadFile.execute(DownloadFile.
> >> ja va:108) at
> >> org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
> >> oc essor.java:425) ... 40 more
> >> ---
> >> 
> >> Anyone got any ideas on how to resolve this?
> > 
> > sqlplus into your database, what does the following query give you?
> > 
> >  select org_id, label from rhnKickstartableTree order by org_id;
> > 
> > -MZ
> 
> Hi Milan
> 
> the output is:
> 
> SQL> select org_id, label from rhnKickstartableTree order by org_id;
> 
>     ORG_ID LABEL
> ---------- ----------------------------------------------------------------
>          1 el-4.8-x86_64
>          1 el-5.6-x86_64
>          1 el-6.1-x86_64
>          2 el-4.8-x86_64
>          2 el-5.6-x86_64
>          2 el-6.1-x86_64
> 
> 6 rows selected.

Thank you -- this explains a lot. For each label, you have two kickstartable
trees, or in another words, the kickstartable tree labels you use are not
unique.

Our schema enforces unique kickstartable tree label per organization, but
at another place, our code assumes the label will be unique across all
orgs (KicstartFactory.java).

For an immediate solution, I'd recommend you to rename ks distributions in
some of your orgs. For a rigorous solution, please file a bug report and we'll
try to fix it :-)

-MZ




More information about the Spacewalk-list mailing list