It should actually be that anything but a configurable set of APIs are
considered local scope instead of global.
This is an artifact of our original focus being ONLY on REST APIs.

APIs by definition do not have clashing resource URIs.

Once we started doing UIs we are dealing with common framework files, js,
css, relative urls, etc.
We need to find the time to deal with the UI service defs - something akin
to KIP-9 [1].

I'd like to know how these rules are global given that KNOX-711 was
delivered in 0.9.1 release.

On Wed, May 23, 2018 at 4:56 PM, Sandeep Moré <moresand...@gmail.com> wrote:

> You can, using scoped rewrite rules and not making them global, I believe
> this is the JIRA for that https://issues.apache.org/jira/browse/KNOX-711
>
>
>
> On Tue, May 22, 2018 at 4:25 PM, Shawn Weeks <swe...@weeksconsulting.us>
> wrote:
>
> > 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? <moresand...@gmail.com>
> > Sent: Tuesday, May 22, 2018 3:21:37 PM
> > To: dev@knox.apache.org
> > 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 <swe...@weeksconsulting.us>
> > 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 <swe...@weeksconsulting.us>
> > > Sent: Tuesday, May 22, 2018 2:58:56 PM
> > > To: dev@knox.apache.org
> > > 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