Jifeng: did you actually test that match-type: PATH works in Traffic Router? 
We've never used it... 

Eric: I think you are right wrt RAM vs disk; Only way to do this right now is 
to set up one of them to point to a CNAME and have 2 deliveryservices, but they 
wouldn't be able to have the edge URL.... 

I'm OK with doing it your way, I think, we just have to add really good docs. 
Maybe a quick howto on how to provision your example scenario?

Cheers,
JvD


> On Dec 5, 2016, at 06:49, Eric Friedrich (efriedri) <[email protected]> 
> wrote:
> 
> To use regex_remap, I think we would want just a single line in remap.config 
> that covers all delivery services with the same host regex. This would be a 
> change from today where every DS gets one remap line. Instead, we would need 
> to combine multiple DS into one remap line with multiple lines in a 
> regex_remap_<n>.config
> 
> remap.config
>  map http://traffic-server.sports.ipcdn.com/ 
> <http://traffic-server.sports.ipcdn.com/>     http://origin.server.com/ 
> <http://origin.server.com/> @plugin=regex_remap.so 
> @pparam=regex_remap_ds_1.config
> 
> regex_remap_ds_1.config:
>  ^/vod/.* http://origin.server.com/$0 <http://origin.server.com/$0>
>  ^/live/.* http://origin.server.com/$0 <http://origin.server.com/$0>
> 
> Seems like lots of work in Traffic Ops just to restrict URLs outside of /vod 
> and /live. If desired, could that restriction instead be done as a custom 
> header rewrite rule?
> 
> 
> A second question: How will this change separate these two delivery services 
> live and vod onto different storage volumes?
>  Hosting.config is based on the remapped origin server - in both cases this 
> is origin.server.com <http://origin.server.com/><http://origin.server.com 
> <http://origin.server.com/>>, so there is no way to differentiate the two 
> delivery services into being stored on disk vs in RAM.
> 
> Thanks,
> Eric
> 
> 
> 
> 
> 
> On Dec 5, 2016, at 6:47 AM, Jifeng Yang (jifyang) <[email protected] 
> <mailto:[email protected]><mailto:[email protected] 
> <mailto:[email protected]>>> wrote:
> 
> Yes, Traffic Router source code doesn’t need change. To make PATH_PREFIX work 
> correctly, the configuration for Traffic Router needs change.
> 
> For example, if the HOST_REGEX is ".*\.sports\..*", the Traffic Router 
> configuration file “cr-config.json” will contains:
> 
>        "matchlist": [{
>          "regex": ".*\\.sports\\..*",
>          "match-type": "HOST"
>        }]
> 
> If a path_prefix “/path/” is added, the above item will be changed to:
> 
>         "matchlist": [
>           {
>             "regex": ".*\\.sports\\..*",
>             "match-type": "HOST"
>           },
>           {
>             "regex": "^/path/.*",
>             "match-type": "PATH"
>           }
>         ]
> 
> So, with this configuration Traffic Router will not redirect the request 
> whose path prefix is not “/path/”.
> 
> As the solution with PATH_REGEXP and regex_remap, there is no issue for 
> traffic router, but there is problem for ATS.
> 
> The ATS remap.config file does not support regex directly, only supports path 
> prefixes. So, the PATH_REGEXP can't be used as a remap rule in remap.config 
> directly. To work with PATH_REGEXP, a possible way is using the remap plugin. 
> But there are some issues for this, such as:
> 
> * if two delivery services with same domain name, the remap config file will 
> look like:
> 
>       map http://traffic-server.sports.ipcdn.com/     
> http://origin.server.com/ @plugin=regex_remap.so 
> @pparam=regex_remap_ds_1.config …
>       map http://traffic-server.sports.ipcdn.com/    
> http://origin.server.com/ @plugin=regex_remap.so 
> @pparam=regex_remap_ds_2.config …
> 
> ATS doesn’t work with this kind of remap config file.
> 
> * If implemented by regex_remap, a regex expression will be generated for a 
> delivery service. The user also can configure "Regex remap expression" for a 
> delivery service. If user also configure a regex expression, they may 
> interfere with each other.
> 
> Thanks,
> Jifeng
> 
> 
> On 01/12/2016, 23:23, "Jan van Doorn" <[email protected] 
> <mailto:[email protected]><mailto:[email protected] <mailto:[email protected]>>> 
> wrote:
> 
>   So for your example you would enter 2 delvieryservices with the same 
> host_regex (which would be possible because you drop the unique requirement 
> on it), different path prefixes and have different settings for each?
> 
>   I think I get that.... ?
> 
>   I _think_ this would work without changing Traffic Router (it just tags on 
> the path in the redirect)... 3.3 in the doc says Traffic Router will be 
> changed as well, but I don't see that in the PR?
> 
>   Also, going back to my initial question - did you consider implementing 
> this with PATH_REGEXP and regex_remap?
> 
>   Rgds,
>   JvD
> 
> 
> On Dec 1, 2016, at 07:35, Jifeng Yang (jifyang) <[email protected] 
> <mailto:[email protected]><mailto:[email protected] 
> <mailto:[email protected]>>> wrote:
> 
> Hi JvD,
> 
> The difference between the two is: the former doesn’t serve the content under 
> the paths other than “/vod/” and “/live/”.
> 
> For example, for the request 
> “http://traffic-server.sports.ipcdn.com/path/file 
> <http://traffic-server.sports.ipcdn.com/path/file>”, the former doesn’t serve 
> it while the latter does serve it.
> 
> Regarding the use case, this is useful if:
> 
> Under the same domain name, the contents under some paths are set by one 
> configuration and the contents under some other paths are set by another 
> configuration.
> 
> For example,
> 
> Different “Regex remap expression” can be configured for 
> “http://traffic-server.sports.ipcdn.com/vod/ 
> <http://traffic-server.sports.ipcdn.com/vod/>” and 
> “http://traffic-server.sports.ipcdn.com/live/ 
> <http://traffic-server.sports.ipcdn.com/live/>”.
> 
> Different traffic caches can be assigned for 
> “http://traffic-server.sports.ipcdn.com/vod/ 
> <http://traffic-server.sports.ipcdn.com/vod/>” and 
> “http://traffic-server.sports.ipcdn.com/live/ 
> <http://traffic-server.sports.ipcdn.com/live/>”.
> 
> Some different configuration items become possible because separated delivery 
> services.
> 
> Thanks,
> Jifeng
> 
> 
> On 30/11/2016, 23:23, "Jan van Doorn" <[email protected] 
> <mailto:[email protected]><mailto:[email protected] <mailto:[email protected]>>> 
> wrote:
> 
>  Hi Jifeng,
> 
>  I'm still confused, bear with me please.
> 
>  The Google doc example has
> 
>  map http://traffic-server.sports.ipcdn.com/vod/ 
> <http://traffic-server.sports.ipcdn.com/vod/>     
> http://origin.server.com/vod/ <http://origin.server.com/vod/>
>  map http://traffic-server.sports.ipcdn.com/live/ 
> <http://traffic-server.sports.ipcdn.com/live/>     
> http://origin.server.com/live/ <http://origin.server.com/live/>
> 
> 
>  But, isn't that the same as
> 
>  map http://traffic-server.sports.ipcdn.com/ 
> <http://traffic-server.sports.ipcdn.com/>     http://origin.server.com/ 
> <http://origin.server.com/>
> 
>  ?
> 
>  If you want to send the /live to RAM and the /vod to disk, they can't be in 
> the same deliveryservice table entry, since all those type if things are set 
> there?
> 
>  Can you elaborate on the use case you are trying to solve?
> 
>  Rgds,
>  JvD
> 
> On Nov 30, 2016, at 04:16, Jifeng Yang (jifyang) <[email protected] 
> <mailto:[email protected]><mailto:[email protected] 
> <mailto:[email protected]>>> wrote:
> 
> Hi,
> 
> Different delivery services can be configured with different domain names 
> now. In some cases, different delivery services with same domain name and 
> different path prefixes are needed. These delivery services can have 
> different configurations.
> 
> The problem and a solution are described in the document 
> https://docs.google.com/document/d/19-TZ6ODla_vdiYqZajbpRiOpLvpbJxil1SvIm44zb-0/edit?usp=sharing.
> 
> The issue and PR for this:
> Issue: https://issues.apache.org/jira/browse/TC-55?jql=project%20%3D%20TC
> PR: https://github.com/apache/incubator-trafficcontrol/pull/108
> 
> Thanks,
> Jifeng

Reply via email to