Does that mean you can't have rules in two different services with the same 
pattern? I was expecting rules were executed based on the path of the service 
so https://knox/gateway/default/hdfs could have an identical rule as 
https://knox/gateway/default/sparkhistory since each service was monitoring 
different paths.


In this case it wasn't executing the rule from Spark UI instead of HDFS UI it 
was just ignoring rule altogether.


Thanks

Shawn Weeks

________________________________
From: Sandeep Mor? <[email protected]>
Sent: Tuesday, May 22, 2018 3:21:37 PM
To: [email protected]
Subject: Re: Other Interesting Rewrite Failures

This explains it, I was having headache trying to figure out the odd
behavior.

The problem here is that Knox combines all the rewrites rules into filters
and then it tries to do a best match based on the pattern, in case where
there is no match Knox engine will go for the next best match, This should
be fixed in the upcoming release 1.1.0 by
https://issues.apache.org/jira/browse/KNOX-1157.

I know you are on 0.12, so applying the patch might be tricky due to
package name changes, you will have to update the patch with the package
names for 0.12.0 (org.apache.hadoop.*) If you decide to go down this patch
I would be eager to know how it went.

 Best,
Sandeep

On Tue, May 22, 2018 at 4:11 PM, Shawn Weeks <[email protected]>
wrote:

> Well this is even weirder it turns out the issue is being caused by a rule
> in the Spark History UI Service.
>
>
> <rule dir="OUT" name="SPARKHISTORYUI/sparkhistory/outbound/static/jquery"
> pattern="/static/{jquery=jquery*.min.js}">
>   <rewrite template="{$frontend[url]}/sparkhistory/static/{jquery}"/>
> </rule>
>
>
> This rule appears to be bleeding over into the HDFS UI Service even though
> service.xml for Spark has all the paths mapped out explicitly. I feel like
> I'm misunderstanding something about how Knox is supposed to work.
>
>
> Thanks
>
> Shawn Weeks
>
> ________________________________
> From: Shawn Weeks <[email protected]>
> Sent: Tuesday, May 22, 2018 2:58:56 PM
> To: [email protected]
> Subject: Other Interesting Rewrite Failures
>
> Trying to identify what patch if any resolves the following oddity for
> Knox 0.12.
>
>
> Consider the following rule found in the HDFSUI Service.
>
>
> <rule dir="OUT" name="HDFSUI/content/static" pattern="/static/{**}">
>     <rewrite template="{gateway.url}/hdfs/static/{**}"/>
> </rule>
>
>
> And the following HTML Snippet
>
> <script type="text/javascript" src="/static/jquery-1.10.2.
> min.js"></script>
> <script type="text/javascript" src="/static/bootstrap-3.0.2/
> js/bootstrap.min.js"></script>
> <script type="text/javascript" src="/static/dust-full-2.0.0.
> min.js"></script>
> <script type="text/javascript" src="/static/dust-helpers-1.1.
> 1.min.js"></script>
> <script type="text/javascript" src="/static/dfs-dust.js"></script>
> <script type="text/javascript" src="/static/rest-csrf.js"></script>
>
> And finally the debug log.
> No rule matching URL: /static/jquery-1.10.2.min.js, direction: OUT
> Rewrote URL: /static/bootstrap-3.0.2/js/bootstrap.min.js, direction: OUT
> via implicit rule: HDFSUI/content/static to URL:
> https://knox.test.org:443/gateway/admin/hdfs/static/
> bootstrap-3.0.2/js/bootstrap.min.js
> Rewrote URL: /static/dust-full-2.0.0.min.js, direction: OUT via implicit
> rule: HDFSUI/content/static to URL: https://knox.test.org:443/
> gateway/admin/hdfs/static/dust-full-2.0.0.min.js
> Rewrote URL: /static/dust-helpers-1.1.1.min.js, direction: OUT via
> implicit rule: HDFSUI/content/static to URL: https://knox.test.org:443/
> gateway/admin/hdfs/static/dust-helpers-1.1.1.min.js
> Rewrote URL: /static/dfs-dust.js, direction: OUT via implicit rule:
> HDFSUI/content/static to URL: https://knox.test.org:443/
> gateway/admin/hdfs/static/dfs-dust.js
> Rewrote URL: /static/rest-csrf.js, direction: OUT via implicit rule:
> HDFSUI/content/static to URL: https://knox.test.org:443/
> gateway/admin/hdfs/static/rest-csrf.js
>
>
> After lots of testing I've determined that Knox will not rewrite anything
> like this.
>
> <script type="text/javascript" src="/static/jquery.min.js"></script>
> <a href="/static/jquery.min.js">Hello World </a>
>
> That's oddly specific. Any variation I can try that includes jquery.min.js
> won't rewrite but jjquery.min.js will.
>
> Thanks
> Shawn Weeks
>
>

Reply via email to