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
