All,

I’ve put a PR together to add support for single-layer CDNs.  Currently, edge 
and mid cache roles are basically hardwired into the code, so that when a 
parent.config file is generated, the rules for edges and mids are always the 
same.  This is fine if you are only using edges and mids, but not so much if 
you’ve got edges only.  MSO is completely unsupported in a config like this, 
and the parent.config looks like an edge config, with each remap listed without 
parents.  This is incorrect.

What my PR does is actually very simple.  Rather than look at the cache type at 
the various stages of the parent config generation, we look at the parent 
cachegroup types.  If both parent cachegroups are either ORG type or 
unassigned, then $is_top_level is set to 1 (default is 0) and the variable is 
passed to the various subroutines that parent_dot_config uses to generate data. 
 These subroutines have been exclusive to parent_dot_config since the scope 
change a while back, so this change does not affect any other subs.  From 
there, all decisions about generating configuration data are based on whether 
or not the cache is a top level cache.

With this addition we will be able to properly generate parent configs for 
edge-only CDNs, as well as support multisite.  A PR is in place marked as do 
not merge to allow review.  I intend to add some documentation changes and do 
some heavy testing before I will pursue merging.

Derek


Reply via email to