Bug 1402422

Summary: ISE when leaving url option in advanced kickstart options empty
Product: Red Hat Satellite 5 Reporter: Radovan Drazny <rdrazny>
Component: WebUIAssignee: Grant Gainey <ggainey>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 570CC: tlestach
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-09 15:10:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Radovan Drazny 2016-12-07 14:20:49 UTC
Description of problem:
There is an internal server error when leaving url option in kickstart advanced option checked with empty text box. See the reproducer for details.

Version-Release number of selected component (if applicable):
spacewalk-java-2.3.8-157.el6sat

How reproducible:
always

Steps to Reproduce:
1. Create a kickstart profile using a synced RHEL base channel
2. Go to Kickstart Details -> Advanced Options tab for the kickstart profile
3. Clear the "url" option text field, but leave the url checkbox checked.
4. Press "Update Kickstart" button

Actual results:
ISE, with following traceback in the /var/log/tomcat6/catalina.out

2016-12-07 09:11:43,554 [TP-Processor5] WARN  com.redhat.rhn.common.hibernate.EmptyVarcharInterceptor - Object com.redhat.rhn.domain.kickstart.KickstartCommand is setting empty string arguments
2016-12-07 09:11:43,556 [TP-Processor5] WARN  com.redhat.rhn.common.hibernate.EmptyVarcharInterceptor - Object com.redhat.rhn.domain.kickstart.KickstartCommand is setting empty string arguments
2016-12-07 09:11:43,572 [TP-Processor5] WARN  org.apache.struts.util.PropertyMessageResources -   Resource org/apache/struts/action/ActionResources_en_US.properties Not Found.
2016-12-07 09:11:43,572 [TP-Processor5] WARN  org.apache.struts.util.PropertyMessageResources -   Resource org/apache/struts/action/ActionResources_en.properties Not Found.
2016-12-07 09:11:43,573 [TP-Processor5] WARN  org.apache.struts.action.RequestProcessor - Unhandled Exception thrown: class java.lang.NullPointerException
2016-12-07 09:11:43,576 [TP-Processor5] ERROR com.redhat.rhn.frontend.servlets.SessionFilter - Error during transaction. Rolling back
javax.servlet.ServletException: java.lang.NullPointerException
        at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:520)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:427)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
        at com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:105)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:127)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:100)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:57)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:299)
        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:698)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:809)
Caused by:
java.lang.NullPointerException
        at com.redhat.rhn.manager.kickstart.KickstartFormatter.adjustUrlHost(KickstartFormatter.java:511)
        at com.redhat.rhn.manager.kickstart.KickstartFormatter.getCommands(KickstartFormatter.java:384)
        at com.redhat.rhn.manager.kickstart.KickstartFormatter.getFileData(KickstartFormatter.java:258)
        at com.redhat.rhn.domain.kickstart.KickstartFactory.saveKickstartData(KickstartFactory.java:448)
        at com.redhat.rhn.domain.kickstart.KickstartFactory.saveKickstartData(KickstartFactory.java:482)
        at com.redhat.rhn.manager.kickstart.BaseKickstartCommand.store(BaseKickstartCommand.java:92)
        at com.redhat.rhn.frontend.action.kickstart.KickstartAdvancedOptionsAction.execute(KickstartAdvancedOptionsAction.java:163)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
        ... 40 more


Expected results:
No ISE, warning that "url" option can't be left empty if enabled.

Additional info:

Comment 2 Tomas Lestach 2018-04-09 15:10:42 UTC
We have re-reviewed this bug, as part of an ongoing effort to improve Satellite/Proxy feature and bug updates, review and backlog.

This is a low priority bug and has no currently open customer cases. While this bug may still valid, we do not see it being implemented prior to the EOL of the Satellite 5.x product. As such, this is being CLOSED DEFERRED. 

Closing now to help set customer expectations as early as possible. You are welcome to re-open this bug if needed.