EF> What does this mean? Can edge servers now use other reverse proxies as 
parents? How do we configure this on TO?

DG> Edge and mid servers can use other reverse proxies as their connection to 
Traffic Ops.  This is configured in the GLOBAL parameter profile using the 
parameter tm.rev_proxy_url.  When this is set, the metadata for the server will 
show a toRevProxyUrl entry under the info section of the JSON.  Info will 
include profileId, toRevProxyUrl, toUrl, serverIpv4, ServerTcpPort, serverName, 
cdnId, cdnName, serverId, and profileName.  If ORT detects the toRevProxyUrl, 
it will attempt to use that as the source for all configuration file requests 
in that run.  Should the specified proxy be down or unreachable, it will revert 
back to the URL used in the command line when ORT was started.  While there’s 
no reason a delivery service for this purpose couldn’t be created, we’ve chosen 
to run an ATS instance, configured manually, on each Traffic Ops instance using 
a short (~3 minute) TTL.  This allows us to keep the caching for Traffic Ops 
separate from the CDN we are administering.

EF> Are parent server update flags are still required for syncds? We only 
ignore them for the “new revalidate”/“instant invalidation” (I assume these are 
same thing) options?

DG> The upd_pending flags still exist and are still used by syncds.  We’ve 
added a new column, reval_pending, which is used for invalidation.  When 
use_reval_pending is set in the GLOBAL profile with a value of 1, the following 
happens:
        - Invalidation jobs set by either the UI or the API will flag the 
reval_pending column instead of upd_pending
        - The update page checked by ORT will show a reval_pending entry with a 
true/false value. (Value is null when use_reval_pending is disabled)
        - ORT will perform revalidation checks at the start of each syncds 
dispersion and every 60 seconds while the dispersion is running.
        - ORT will not update regex_revalidate unless the parents have been 
cleared.
        - ORT will not perform updates of the regex_revalidate file during 
syncds.
        - ORT will ignore the upd_pending state of the parents during syncds.

If use_reval_pending is disabled, syncds will function as it does today.  If an 
older version of Traffic Ops is in use and the API returns a 404, ORT will use 
the currently released method for config files. 

EF> Where can we see the new API? Is scope an input/output/both parameter to 
the API now?

DG> The API has been merged into master, under 
app/lib/API/Configs/ApacheTrafficServer.pm  Scope is set in the get_scope() 
sub.  The filename is passed to this sub and the correct scope is returned.  
This is primarily used to validate requests - should the incorrect scope be 
used, the api will return an error with the correct scope needed for that file. 
 Each config file’s entry in the metadata will include the following:
        -fNameOnDisk - the configuration file name
        -location - the file’s location on the cache itself
        -apiUri - the URI to use to download the file from Traffic Ops.  
Example: “/api/1.2/cdn/title-vi/configfiles/ats/set_dscp_28.config"
        -scope - the scope of the file

Proper names or the IDs of the server, profile, or cdn can be used 
interchangeably.  The API will output names rather than IDs for readability.
    
EF> Will existing API remain as “deprecated” for a few more releases? Upgrade 
path is very important. I assume we would upgrade TO to 2.1 and then upgrade 
caches. Will 1.7,1.8,2.0 caches be able to request config files as they do 
today from a TO2.1? 

DG> Both methods of requesting configuration files remain supported at this 
time, and the code changes have been designed so either the caches or Traffic 
Ops can be upgraded first.  Use of all new features will require upgrading 
both, of course.
    
Hope that answers your questions.  Feel free to send any more you might have my 
way.

Derek 

Reply via email to