I've been doing some tracing this morning and I can't actually find anything in the YARNUI that actually needs the rule for /metrics. I've taken it out and clicked on every page and link and nothing has shown up. It may not even be needed but I do suspect some sort of bug so I'll try and get a test case setup.
Thanks ________________________________ From: Sandeep Moré <[email protected]> Sent: Tuesday, May 22, 2018 9:24:00 AM To: [email protected] Subject: Re: Knox Rule Pattern is Matching HTML Tags Beyond the Pattern Cool, do keep us posted, I know there were few fixes that went into Yarn UI that might be helpful. On Tue, May 22, 2018 at 10:19 AM, Shawn Weeks <[email protected]> wrote: > There is no reference in service.xml for metrics. I'll try and setup a > test with the current release but the group I'm working with is using the > Hortonworks distribution which is still on 0.12. > > > Thanks > > Shawn Weeks > > ________________________________ > From: Sandeep Moré <[email protected]> > Sent: Tuesday, May 22, 2018 8:51:41 AM > To: [email protected] > Subject: Re: Knox Rule Pattern is Matching HTML Tags Beyond the Pattern > > This appears to be a bug, Knox should not be rewriting this part, just to > confirm, does the rule "YARNUI/yarn/outbound/metrics" > have any references in service.xml ? > > Can you try with the latest Knox and see if it works and file a JIRA if > this is still an issue. > > On Mon, May 21, 2018 at 7:26 PM, Shawn Weeks <[email protected]> > wrote: > > > Just pasting in log now as attaching didn't work. > > > > > > 2018-05-21 18:22:01,616 DEBUG hadoop.gateway > (GatewayFilter.java:doFilter(116)) > > - Received request: GET /yarn/cluster/cluster > > 2018-05-21 18:22:01,617 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: https://mgt1.example.org:8443/ > gateway/default/yarn/cluster/ > > cluster, direction: IN via implicit rule: YARNUI/yarn/inbound/cluster to > > URL: http://mgt2.example.org:8088/cluster/cluster > > 2018-05-21 18:22:01,617 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: https://mgt1.example.org/gateway/default/yarn/cluster/ > > app/application_1526937386763_0008, direction: IN via implicit rule: > > YARNUI/yarn/inbound/cluster to URL: http://mgt2.example.org:8088/ > > cluster/app/application_1526937386763_0008 > > 2018-05-21 18:22:01,617 DEBUG hadoop.gateway (DefaultDispatch.java: > executeOutboundRequest(121)) > > - Dispatch request: GET http://mgt2.example.org:8088/ > > cluster/cluster?doAs=sweeks > > 2018-05-21 18:22:01,624 DEBUG hadoop.gateway (DefaultDispatch.java: > executeOutboundRequest(134)) > > - Dispatch response status: 200 > > 2018-05-21 18:22:01,624 DEBUG hadoop.gateway (DefaultDispatch.java: > > getInboundResponseContentType(203)) - Using explicit character set UTF-8 > > for entity of type text/html > > 2018-05-21 18:22:01,624 DEBUG hadoop.gateway (DefaultDispatch.java: > > getInboundResponseContentType(211)) - Inbound response entity content > > type: text/html; charset=utf-8 > > 2018-05-21 18:22:01,625 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/yarn.css, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/static to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/static/yarn.css > > 2018-05-21 18:22:01,625 DEBUG hadoop.gateway (HtmlUrlRewriteFilterReader. > java:filterValueString(59)) > > - Failed to parse value as URL: > > #layout { height: 100%; } > > #layout thead td { height: 3em; } > > #layout #navcell { width: 11em; padding: 0 1em; } > > #layout td.content { padding-top: 0 } > > #layout tbody { vertical-align: top; } > > #layout tfoot td { height: 4em; } > > > > 2018-05-21 18:22:01,625 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/jquery/themes-1.9.1/base/jquery-ui.css, > direction: > > OUT via implicit rule: YARNUI/yarn/outbound/static to URL: > > https://mgt1.example.org:443/gateway/default/yarn/static/ > > jquery/themes-1.9.1/base/jquery-ui.css > > 2018-05-21 18:22:01,625 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/dt-1.9.4/css/jui-dt.css, direction: OUT via > > implicit rule: YARNUI/yarn/outbound/static to URL: > > https://mgt1.example.org:443/gateway/default/yarn/static/ > > dt-1.9.4/css/jui-dt.css > > 2018-05-21 18:22:01,626 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/jquery/jquery-1.8.2.min.js, direction: OUT via > > implicit rule: YARNUI/yarn/outbound/static to URL: > > https://mgt1.example.org:443/gateway/default/yarn/static/ > > jquery/jquery-1.8.2.min.js > > 2018-05-21 18:22:01,626 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/jquery/jquery-ui-1.9.1.custom.min.js, direction: > > OUT via implicit rule: YARNUI/yarn/outbound/static to URL: > > https://mgt1.example.org:443/gateway/default/yarn/static/ > > jquery/jquery-ui-1.9.1.custom.min.js > > 2018-05-21 18:22:01,626 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/dt-1.9.4/js/jquery.dataTables.min.js, direction: > > OUT via implicit rule: YARNUI/yarn/outbound/static to URL: > > https://mgt1.example.org:443/gateway/default/yarn/static/ > > dt-1.9.4/js/jquery.dataTables.min.js > > 2018-05-21 18:22:01,626 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/yarn.dt.plugins.js, direction: OUT via implicit > > rule: YARNUI/yarn/outbound/static to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/static/yarn.dt.plugins.js > > 2018-05-21 18:22:01,626 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/dt-sorting/natural.js, direction: OUT via implicit > > rule: YARNUI/yarn/outbound/static to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/static/dt-sorting/natural.js > > 2018-05-21 18:22:01,626 DEBUG hadoop.gateway (HtmlUrlRewriteFilterReader. > java:filterValueString(59)) > > - Failed to parse value as URL: > > #jsnotice { padding: 0.2em; text-align: center; } > > .ui-progressbar { height: 1em; min-width: 5em } > > > > 2018-05-21 18:22:01,627 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /static/hadoop-st.png, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/static to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/static/hadoop-st.png > > 2018-05-21 18:22:01,627 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/cluster, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/cluster > > 2018-05-21 18:22:01,627 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/nodes, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/nodes > > 2018-05-21 18:22:01,627 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/nodelabels, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/nodelabels > > 2018-05-21 18:22:01,627 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps > > 2018-05-21 18:22:01,627 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps/NEW, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps/NEW > > 2018-05-21 18:22:01,628 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps/NEW_SAVING, direction: OUT via implicit > rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps/NEW_SAVING > > 2018-05-21 18:22:01,628 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps/SUBMITTED, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps/SUBMITTED > > 2018-05-21 18:22:01,628 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps/ACCEPTED, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps/ACCEPTED > > 2018-05-21 18:22:01,628 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps/RUNNING, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps/RUNNING > > 2018-05-21 18:22:01,628 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps/FINISHED, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps/FINISHED > > 2018-05-21 18:22:01,628 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps/FAILED, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps/FAILED > > 2018-05-21 18:22:01,628 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/apps/KILLED, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/apps/KILLED > > 2018-05-21 18:22:01,629 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(166)) > > - Rewrote URL: /cluster/scheduler, direction: OUT via explicit rule: > > YARNUI/yarn/outbound/scheduler to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/scheduler > > 2018-05-21 18:22:01,629 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /conf, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/conf to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/conf > > 2018-05-21 18:22:01,629 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /logs, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/logs to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/logs > > 2018-05-21 18:22:01,629 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /stacks, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/stacks to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/stacks > > 2018-05-21 18:22:01,629 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /jmx?qry=Hadoop:*, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/jmx to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/jmx?qry=Hadoop%3A* > > 2018-05-21 18:22:01,629 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/errors-and-warnings, direction: OUT via implicit > > rule: YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/errors-and-warnings > > 2018-05-21 18:22:01,629 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: metrics, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/metrics to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/metrics > > 2018-05-21 18:22:01,630 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/nodes, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/nodes > > 2018-05-21 18:22:01,630 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/nodes/decommissioned, direction: OUT via implicit > > rule: YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/nodes/decommissioned > > 2018-05-21 18:22:01,630 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/nodes/lost, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/nodes/lost > > 2018-05-21 18:22:01,630 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/nodes/unhealthy, direction: OUT via implicit > rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/nodes/unhealthy > > 2018-05-21 18:22:01,631 DEBUG hadoop.gateway (UrlRewriteProcessor.java: > rewrite(164)) > > - Rewrote URL: /cluster/nodes/rebooted, direction: OUT via implicit rule: > > YARNUI/yarn/outbound/cluster to URL: https://mgt1.example.org:443/ > > gateway/default/yarn/cluster/nodes/rebooted > > > > > > > > ________________________________ > > From: Shawn Weeks <[email protected]> > > Sent: Monday, May 21, 2018 6:24:45 PM > > To: [email protected] > > Subject: Re: Knox Rule Pattern is Matching HTML Tags Beyond the Pattern > > > > > > Hopefully the attachment doesn't get eaten. You can see where it matched > a > > url filter on metrics. > > > > > > Thanks > > > > Shawn Weeks > > > > ________________________________ > > From: Sandeep Moré <[email protected]> > > Sent: Monday, May 21, 2018 6:19:53 PM > > To: [email protected] > > Subject: Re: Knox Rule Pattern is Matching HTML Tags Beyond the Pattern > > > > Can you share Debug logs for this rewrite ? > > this might tell us a bit more about what pattern Knox is seeing. This > > should not be happening, especially given that this rule is not hooked up > > to html content filter. > > > > > > On Mon, May 21, 2018 at 6:48 PM, Shawn Weeks <[email protected]> > > wrote: > > > > > The organization I work for needs Knox to be able to proxy the Yarn UI > so > > > I've been piecing together the existing patches for this and making > > > additional corrections to get it all working. During that I noticed > > > something and I'm not sure how to resolve it. Considering the following > > > rule. > > > > > > > > > <rule dir="OUT" name="YARNUI/yarn/outbound/metrics" > pattern="/metrics"> > > > <rewrite template="{$frontend[url]}/yarn/metrics"/> > > > </rule> > > > > > > > > > I'd expect this to only rewrite things that started with '/metrics' > > > however it's also rewriting things like this '<div > > class="metrics"></div>' > > > into '<div class="https://knox_host:8433/gateway/default/yarn/metrics > "> > > </div>'. > > > I've taking a cursory look in Jira but I don't see this mentioned as an > > > existing bug. > > > > > > > > > Generally I've gotten everything working and am just trying to clean up > > > all the css weirdness this introduces. > > > > > > > > > Thanks > > > > > > Shawn Weeks > > > > > >
