[Spacewalk-list] Cannot create kickstart profile

Colin Coe colin.coe at gmail.com
Sun Jan 23 23:18:45 UTC 2011


On Mon, Jan 24, 2011 at 6:22 AM, tiesinga <tiesinga at astro.rug.nl> wrote:
> Hi list,
>
> I cannot create a kickstart profile
> Server is 1.3 nightly running on Centos 5.5
> Using postgresql database.
>
> Greetings
> Eite Tiesinga
>
> I get de following messages:
>
> The following exception occurred while executing this request:
> POST /rhn/kickstart/CreateProfileWizard.do
>
> Date:1/23/11 11:16:15 PM CET
> Headers:
>  host: satellite
>  user-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.6)
> Gecko/20100630 Red Hat/3.6.6-2.el6 Firefox/3.6.6
>  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: 115
>  connection: keep-alive
>  referer:https://satellite/rhn/kickstart/CreateProfileWizard.do
>  cookie: JSESSIONID=65B309F1C883D87D327C05747FA95DA3;
> pxt-session-cookie=8x1221b860f6aed16d58e729c1c3e1d7f0
>  content-type: application/x-www-form-urlencoded
>  content-length: 207
>
> Request:
> Local Name = satellite
> Server Name = satellite
> Requested Session Id came from Cookie
> Requested Session Valid = true
> Session =
> org.apache.catalina.session.StandardSessionFacade at 55da4057[session=StandardSession[65B309F1C883D87D327C05747FA95DA3]]
> Protocol = https
> Request Locale = en_US
> Request Character Encoding = UTF-8
> Attribute Names = rhnActiveLang, javax.servlet.request.ssl_session,
> org.apache.struts.action.MESSAGE,
> javax.servlet.jsp.jstl.fmt.timeZone.request, session,
> javax.servlet.request.key_size, __sitemesh__filterapplied,
> javax.servlet.request.cipher_suite, requestedUri, kickstartCreateWizardForm,
> org.apache.struts.action.mapping.instance, org.apache.struts.action.MODULE,
>
> Form Variables:
>  prevStep: second
>  rootPasswordConfirm: test
>  rootPassword: test
>  virtualizationTypeLabel: none
>  defaultDownload: true
>  nextStep: complete
>  kickstartLabel: ks-sl6-x86_64
>  kstreeId: 1
>  userDefinedDownload:
>  wizardStep: complete
>
>
> User Information:
> User admin (id 1, org_id 1)
>
> Exception:
> javax.servlet.ServletException
>        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:101)
>        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:291)
>        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
>        at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
>        at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
>        at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>        at java.lang.Thread.run(Thread.java:636)
> Caused by: java.lang.reflect.InvocationTargetException
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:616)
>        at
> com.redhat.rhn.frontend.struts.wizard.WizardStep.invoke(WizardStep.java:116)
>        at
> com.redhat.rhn.frontend.struts.wizard.RhnWizardAction.dispatch(RhnWizardAction.java:103)
>        at
> com.redhat.rhn.frontend.struts.wizard.RhnWizardAction.execute(RhnWizardAction.java:89)
>        at
> com.redhat.rhn.frontend.action.kickstart.CreateProfileWizardAction.execute(CreateProfileWizardAction.java:104)
>        at
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
>        ... 40 more
> Caused by: org.hibernate.exception.SQLGrammarException: could not execute
> query
>        at
> org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
>        at
> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
>        at org.hibernate.loader.Loader.doList(Loader.java:2223)
>        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
>        at org.hibernate.loader.Loader.list(Loader.java:2099)
>        at
> org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
>        at
> org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
>        at
> org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
>        at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
>        at
> com.redhat.rhn.common.hibernate.HibernateFactory.listObjectsByNamedQuery(HibernateFactory.java:265)
>        at
> com.redhat.rhn.common.hibernate.HibernateFactory.listObjectsByNamedQuery(HibernateFactory.java:206)
>        at
> com.redhat.rhn.domain.channel.ChannelFactory.getUserAcessibleChannels(ChannelFactory.java:327)
>        at
> com.redhat.rhn.manager.channel.ChannelManager.userAccessibleChildChannels(ChannelManager.java:763)
>        at
> com.redhat.rhn.manager.channel.ChannelManager.getToolsChannel(ChannelManager.java:1834)
>        at
> com.redhat.rhn.manager.kickstart.KickstartScheduleCommand.getToolsChannel(KickstartScheduleCommand.java:1041)
>        at
> com.redhat.rhn.manager.kickstart.KickstartSessionCreateCommand.<init>(KickstartSessionCreateCommand.java:94)
>        at
> com.redhat.rhn.manager.kickstart.KickstartSessionCreateCommand.<init>(KickstartSessionCreateCommand.java:53)
>        at
> com.redhat.rhn.manager.kickstart.KickstartWizardHelper.store(KickstartWizardHelper.java:181)
>        at
> com.redhat.rhn.domain.kickstart.builder.KickstartBuilder.create(KickstartBuilder.java:545)
>        at
> com.redhat.rhn.frontend.action.kickstart.CreateProfileWizardAction.runComplete(CreateProfileWizardAction.java:288)
>        ... 49 more
> Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near
> ")"
>        at
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1525)
>        at
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1309)
>        at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
>        at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
>        at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
>        at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:258)
>        at
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:50)
>        at
> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
>        at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
>        at org.hibernate.loader.Loader.doQuery(Loader.java:674)
>        at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
>        at org.hibernate.loader.Loader.doList(Loader.java:2220)
>        ... 66 more
>
>
>
>
>
> --
> Eite Tiesinga
>
> Kapteyn Astronomical Institute
> University of Groningen
> Computer group
> Landleven 12 (Zernike building)
> 9747 AD Groningen
> the Netherlands
> Phone: +31 (0)50-3634017
>

Hi

I ran into this also. The problem is with one of the SQL queries that
still uses the Oracle (+) join syntax.  I've a patch waiting in the
wings but I'm had so much trouble with the dev workstation procedure
of the last month or two and many competing priorities that its had to
take a number and wait its turn.

The offending file is code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml

The offending code is:
---
    <sql-query name="Channel.accessibleChildChannelIds">
        <![CDATA[SELECT {c.*}
  FROM   rhnChannel c
         LEFT OUTER JOIN rhnChannelCloned c_1_ ON c.id = c_1_.id
 WHERE   parent_channel = :cid
     AND rhn_channel.get_org_access(c.id, :org_id) = 1
 UNION
 SELECT {c.*}
 FROM    rhnChannel c,
         rhnSharedChannelView sc,
         rhnChannelCloned c_1_
 WHERE   sc.parent_channel = :cid
 AND     sc.org_trust_id = :org_id
 AND     sc.id = c.id
 AND     c.id = c_1_.id (+)
    ]]>
        <return alias="c" class="com.redhat.rhn.domain.channel.Channel" />
    </sql-query>
---
needs changing to something similar to
---
    <sql-query name="Channel.accessibleChildChannelIds">
        <![CDATA[SELECT {c.*}
  FROM   rhnChannel c
         LEFT OUTER JOIN rhnChannelCloned c_1_ ON c.id = c_1_.id
 WHERE   parent_channel = :cid
     AND rhn_channel.get_org_access(c.id, :org_id) = 1
 UNION
 SELECT {c.*}
 FROM    rhnChannel c,
         rhnSharedChannelView sc,
         rhnChannelCloned c_1_,
         LEFT OUTER JOIN rhnChannelCloned c_1_ ON c.id = c_1_.id
 WHERE   sc.parent_channel = :cid
 AND     sc.org_trust_id = :org_id
 AND     sc.id = c.id
    ]]>
        <return alias="c" class="com.redhat.rhn.domain.channel.Channel" />
    </sql-query>
---

This is untested as I don't have a working dev environment right now
but it is along those lines.

CC

-- 
RHCE#805007969328369




More information about the Spacewalk-list mailing list