blob: 183198ec16e0f77870b0e72f25ccbfd4e5734b59 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Traffic Ops - Configuring &mdash; Traffic Control 2.2-dev documentation </title>
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" />
<link rel="index" title="Index"
href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Traffic Control 2.2-dev documentation" href="../../index.html"/>
<link rel="up" title="Administrator’s Guide" href="../index.html"/>
<link rel="next" title="Traffic Ops - Using" href="using.html"/>
<link rel="prev" title="Traffic Ops - Migrating from 2.0 to 2.2" href="migration_from_20_to_22.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-nav-search">
<a href="/" class="icon icon-home"> Traffic Control
<img src="../../_static/tc_logo_c_only.png" class="logo" />
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../basics/index.html">CDN Basics</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../basics/content_delivery_networks.html">Content Delivery Networks</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../basics/http_11.html">HTTP 1.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../basics/caching_proxies.html">Caching Proxies</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../basics/cache_revalidation.html">Cache Control Headers and Revalidation</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../overview/index.html">Traffic Control Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../overview/introduction.html">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/traffic_ops.html">Traffic Ops</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/traffic_portal.html">Traffic Portal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/traffic_router.html">Traffic Router</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/traffic_monitor.html">Traffic Monitor</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/traffic_stats.html">Traffic Stats</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/traffic_vault.html">Traffic Vault</a></li>
</ul>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Administrator’s Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="installation.html">Traffic Ops - Installing</a></li>
<li class="toctree-l2"><a class="reference internal" href="default_profiles.html">Traffic Ops - Default Profiles</a></li>
<li class="toctree-l2"><a class="reference internal" href="migration_from_10_to_20.html">Traffic Ops - Migrating from 1.x to 2.x</a></li>
<li class="toctree-l2"><a class="reference internal" href="migration_from_20_to_22.html">Traffic Ops - Migrating from 2.0 to 2.2</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Traffic Ops - Configuring</a></li>
<li class="toctree-l2"><a class="reference internal" href="using.html">Traffic Ops - Using</a></li>
<li class="toctree-l2"><a class="reference internal" href="extensions.html">Managing Traffic Ops Extensions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_portal/installation.html">Traffic Portal Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_portal/usingtrafficportal.html">Traffic Portal - Using</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_monitor.html">Traffic Monitor Administration (Legacy)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_monitor_golang.html">Traffic Monitor Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_router.html">Traffic Router Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_stats.html">Traffic Stats Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_server.html">Traffic Server Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_vault.html">Traffic Vault Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../quick_howto/index.html">Quick How To Guides</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/index.html">Developer’s Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../development/building.html">Building Traffic Control</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../development/traffic_ops.html">Traffic Ops</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../development/traffic_portal.html">Traffic Portal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../development/traffic_router.html">Traffic Router</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../development/traffic_monitor.html">Traffic Monitor Golang</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../development/traffic_stats.html">Traffic Stats</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../api/index.html">APIs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../api/traffic_ops_api.html">API Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../api/routes.html">API Routes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../api/v11/index.html">API 1.1 Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../api/v12/index.html">API 1.2 Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../api/v13/index.html">API 1.3 Reference</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">FAQ</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../faq/general.html">General</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../faq/development.html">Development</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../faq/administration.html">Running a Traffic Control CDN</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">Traffic Control</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html">Traffic Control 2.2-dev</a> &raquo;</li>
<li><a href="../index.html">Administrator’s Guide</a> &raquo;</li>
<li>Traffic Ops - Configuring</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/admin/traffic_ops/configuration.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="using.html" class="btn btn-neutral float-right" title="Traffic Ops - Using">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="migration_from_20_to_22.html" class="btn btn-neutral" title="Traffic Ops - Migrating from 2.0 to 2.2"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<div role="main" class="document">
<div class="section" id="traffic-ops-configuring">
<h1>Traffic Ops - Configuring<a class="headerlink" href="#traffic-ops-configuring" title="Permalink to this headline"></a></h1>
<p>Follow the steps below to configure the newly installed Traffic Ops Instance.</p>
<div class="section" id="installing-the-ssl-cert">
<h2>Installing the SSL Cert<a class="headerlink" href="#installing-the-ssl-cert" title="Permalink to this headline"></a></h2>
<p>By default, Traffic Ops runs as an SSL web server, and a certificate needs to be installed.</p>
<div class="section" id="self-signed-certificate-development">
<h3>Self-signed Certificate (Development)<a class="headerlink" href="#self-signed-certificate-development" title="Permalink to this headline"></a></h3>
<blockquote>
<div><p>Example Procedure:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ openssl genrsa -des3 -passout pass:x -out localhost.pass.key 2048
Generating RSA private key, 2048 bit long modulus
...
$ openssl rsa -passin pass:x -in localhost.pass.key -out localhost.key
writing RSA key
$ rm localhost.pass.key
$ openssl req -new -key localhost.key -out localhost.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter &#39;.&#39;, the field will be left blank.
-----
Country Name (2 letter code) [XX]:US&lt;enter&gt;
State or Province Name (full name) []:CO&lt;enter&gt;
Locality Name (eg, city) [Default City]:Denver&lt;enter&gt;
Organization Name (eg, company) [Default Company Ltd]: &lt;enter&gt;
Organizational Unit Name (eg, section) []: &lt;enter&gt;
Common Name (eg, your name or your server&#39;s hostname) []: &lt;enter&gt;
Email Address []: &lt;enter&gt;
Please enter the following &#39;extra&#39; attributes
to be sent with your certificate request
A challenge password []: pass&lt;enter&gt;
An optional company name []: &lt;enter&gt;
$ openssl x509 -req -sha256 -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt
Signature ok
subject=/C=US/ST=CO/L=Denver/O=Default Company Ltd
Getting Private key
$ sudo cp localhost.crt /etc/pki/tls/certs
$ sudo cp localhost.key /etc/pki/tls/private
$ sudo chown trafops:trafops /etc/pki/tls/certs/localhost.crt
$ sudo chown trafops:trafops /etc/pki/tls/private/localhost.key
</pre></div>
</div>
</div></blockquote>
</div>
<div class="section" id="certificate-from-certificate-authority-production">
<h3>Certificate from Certificate Authority (Production)<a class="headerlink" href="#certificate-from-certificate-authority-production" title="Permalink to this headline"></a></h3>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">You will need to know the appropriate answers when generating the certificate request file <cite>trafficopss.csr</cite> below.</p>
</div>
<p>Example Procedure:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ openssl genrsa -des3 -passout pass:x -out trafficops.pass.key 2048
Generating RSA private key, 2048 bit long modulus
...
$ openssl rsa -passin pass:x -in trafficops.pass.key -out trafficops.key
writing RSA key
$ rm localhost.pass.key
Generate the Certificate Signing Request (CSR) file needed for Certificate Authority (CA) request.
$ openssl req -new -key trafficops.key -out trafficops.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter &#39;.&#39;, the field will be left blank.
-----
Country Name (2 letter code) [XX]: &lt;enter country code&gt;
State or Province Name (full name) []: &lt;enter state or province&gt;
Locality Name (eg, city) [Default City]: &lt;enter locality name&gt;
Organization Name (eg, company) [Default Company Ltd]: &lt;enter organization name&gt;
Organizational Unit Name (eg, section) []: &lt;enter organizational unit name&gt;
Common Name (eg, your name or your server&#39;s hostname) []: &lt;enter server&#39;s hostname name&gt;
Email Address []: &lt;enter e-mail address&gt;
Please enter the following &#39;extra&#39; attributes
to be sent with your certificate request
A challenge password []: &lt;enter challenge password&gt;
An optional company name []: &lt;enter&gt;
$ sudo cp trafficops.key /etc/pki/tls/private
$ sudo chown trafops:trafops /etc/pki/tls/private/trafficops.key
You must then take the output file trafficops.csr and submit a request to your Certificate Authority (CA).
Once you get approved and receive your trafficops.crt file:
$ sudo cp trafficops.crt /etc/pki/tls/certs
$ sudo chown trafops:trafops /etc/pki/tls/certs/trafficops.crt
If necessary, install the CA certificates .pem and .crt in /etc/pki/tls/certs.
You will need to update the file /opt/traffic_ops/app/conf/cdn.conf with the following changes:
...
e.g. given trafficops.crt and trafficops.key
&#39;hypnotoad&#39; =&gt; ...
&#39;listen&#39; =&gt; &#39;https://[::]:443?cert=/etc/pki/tls/certs/trafficops.crt&amp;key=/etc/pki/tls/private/trafficops.key&amp;ca=/etc/pki/tls/certs/localhost.ca&amp;verify=0x00&amp;ciphers=AES128-GCM-SHA256:HIGH:!RC4:!MD5:!aNULL:!EDH:!ED&#39;
...
</pre></div>
</div>
</div>
</div>
<div class="section" id="content-delivery-networks">
<h2>Content Delivery Networks<a class="headerlink" href="#content-delivery-networks" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="profile-parameters">
<span id="rl-param-prof"></span><h2>Profile Parameters<a class="headerlink" href="#profile-parameters" title="Permalink to this headline"></a></h2>
<p>Many of the settings for the different servers in a Traffic Control CDN are controlled by parameters in the parameter view of Traffic Ops. Parameters are grouped in profiles and profiles are assigned to a server or a deliveryservice. For a typical cache there are hundreds of configuration settings to apply. The Traffic Ops parameter view contains the defined settings. To make life easier, Traffic Ops allows for duplication, comparison, import and export of Profiles. Traffic Ops also has a “Global profile” - the parameters in this profile are going to be applied to all servers in the Traffic Ops instance, or apply to Traffic Ops themselves. These parameters are:</p>
<table border="1" class="docutils" id="index-0">
<colgroup>
<col width="15%" />
<col width="9%" />
<col width="77%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Name</th>
<th class="head">Config file</th>
<th class="head">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>tm.url</td>
<td>global</td>
<td>The URL where this Traffic Ops instance is being served from.</td>
</tr>
<tr class="row-odd"><td>tm.rev_proxy.url</td>
<td>global</td>
<td>Not required. The URL where the Traffic Ops Config file cache instance is being served from. Requires Traffic Ops ORT 2.1 and above.
When configured, ORT will request configuration files via this fqdn, which should be setup as a reverse proxy to the Traffic Ops host
or hosts. Suggested cache lifetime for these files is ~3 minutes or less. This setting allows for greater scaleability of a CDN
maintained by Traffic Ops by caching configuration files of profile and cdn scope.</td>
</tr>
<tr class="row-even"><td>tm.toolname</td>
<td>global</td>
<td>The name of the Traffic Ops tool. Usually “Traffic Ops”. Used in the About screen and in the comments headers of the files generated.</td>
</tr>
<tr class="row-odd"><td>tm.infourl</td>
<td>global</td>
<td>This is the “for more information go here” URL, which is visible in the About page.</td>
</tr>
<tr class="row-even"><td>tm.logourl</td>
<td>global</td>
<td>This is the URL of the logo for Traffic Ops and can be relative if the logo is under traffic_ops/app/public.</td>
</tr>
<tr class="row-odd"><td>tm.instance_name</td>
<td>global</td>
<td>The name of the Traffic Ops instance. Can be used when multiple instances are active. Visible in the About page.</td>
</tr>
<tr class="row-even"><td>tm.traffic_mon_fwd_proxy</td>
<td>global</td>
<td>When collecting stats from Traffic Monitor, Traffic Ops uses this forward proxy to pull the stats through.
This can be any of the MID tier caches, or a forward cache specifically deployed for this purpose. Setting
this variable can significantly lighten the load on the Traffic Monitor system and it is recommended to
set this parameter on a production system.</td>
</tr>
<tr class="row-odd"><td>geolocation.polling.url</td>
<td>CRConfig.json</td>
<td>The location to get the GeoLiteCity database from.</td>
</tr>
<tr class="row-even"><td>geolocation6.polling.url</td>
<td>CRConfig.json</td>
<td>The location to get the IPv6 GeoLiteCity database from.</td>
</tr>
<tr class="row-odd"><td>maxmind.default.override</td>
<td>CRConfig.json</td>
<td>The destination geo coordinates to use for client location when maxmind returns a default location that matches the country code.
This parameter can be specified multiple times with different values to support default overrides for multiple countries.
Format: &lt;CountryCode&gt;;&lt;Lat&gt;,&lt;Long&gt; Ex: US;37.751,-97.822</td>
</tr>
</tbody>
</table>
<p>These parameters should be set to reflect the local environment.</p>
<p>After running the postinstall script, Traffic Ops has the following profiles pre-loaded:</p>
<table border="1" class="docutils">
<colgroup>
<col width="9%" />
<col width="91%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Name</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>EDGE1</td>
<td>The profile to be applied to the latest supported version of ATS, when running as an EDGE cache</td>
</tr>
<tr class="row-odd"><td>TR1</td>
<td>The profile to be applied to the latest version of Traffic Router</td>
</tr>
<tr class="row-even"><td>TM1</td>
<td>The profile to be applied to the latest version of Traffic Monitor</td>
</tr>
<tr class="row-odd"><td>MID1</td>
<td>The profile to be applied to the latest supported version of ATS, when running as an MID cache</td>
</tr>
<tr class="row-even"><td>RIAK_ALL</td>
<td>Riak profile for all CDNs to be applied to the Traffic Vault servers</td>
</tr>
</tbody>
</table>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The Traffic Server profiles contain some information that is specific to the hardware being used (most notably the disk configuration), so some parameters will have to be changed to reflect your configuration. Future releases of Traffic Control will separate the hardware and software profiles so it is easier to “mix-and-match” different hardware configurations.</p>
</div>
<p>Below is a list of cache parameters that are likely to need changes from the default profiles shipped with Traffic Ops:</p>
<table border="1" class="docutils">
<colgroup>
<col width="16%" />
<col width="11%" />
<col width="73%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Name</th>
<th class="head">Config file</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>allow_ip</td>
<td>astats.config</td>
<td>This is a comma separated list of IPv4 CIDR blocks that will have access to the astats statistics on the caches.
The Traffic Monitor IP addresses have to be included in this, if they are using IPv4 to monitor the caches.</td>
</tr>
<tr class="row-odd"><td>allow_ip6</td>
<td>astats.config</td>
<td>This is a comma separated list of IPv6 CIDR blocks that will have access to the astats statistics on the caches.
The Traffic Monitor IP addresses have to be included in this, if they are using IPv6 to monitor the caches.</td>
</tr>
<tr class="row-even"><td>Drive_Prefix</td>
<td>storage.config</td>
<td>The device path start of the disks. For example, if you have <code class="docutils literal notranslate"><span class="pre">/dev/sda</span></code> through <code class="docutils literal notranslate"><span class="pre">/dev/sdf</span></code> set this to <code class="docutils literal notranslate"><span class="pre">/dev/sd</span></code></td>
</tr>
<tr class="row-odd"><td>Drive_Letters</td>
<td>storage.config</td>
<td>The letter part of the disks, in the same example as above set this to <code class="docutils literal notranslate"><span class="pre">a,b,c,d,e,f</span></code></td>
</tr>
<tr class="row-even"><td>purge_allow_ip</td>
<td>ip_allow.config</td>
<td>The IP address range that is allowed to execute the PURGE method on the caches (not related to <a class="reference internal" href="using.html#rl-purge"><span class="std std-ref">Invalidate Content</span></a>)</td>
</tr>
<tr class="row-odd"><td>coalesce_masklen_v4</td>
<td>ip_allow.config</td>
<td>The masklen to use when coalescing v4 networks into one line using <a class="reference external" href="http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm">http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm</a></td>
</tr>
<tr class="row-even"><td>coalesce_number_v4</td>
<td>ip_allow.config</td>
<td>The number to use when coalescing v4 networks into one line using <a class="reference external" href="http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm">http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm</a></td>
</tr>
<tr class="row-odd"><td>coalesce_masklen_v6</td>
<td>ip_allow.config</td>
<td>The masklen to use when coalescing v6 networks into one line using <a class="reference external" href="http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm">http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm</a></td>
</tr>
<tr class="row-even"><td>coalesce_masklen_v6</td>
<td>ip_allow.config</td>
<td>The masklen to use when coalescing v6 networks into one line using <a class="reference external" href="http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm">http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm</a></td>
</tr>
<tr class="row-odd"><td>health.threshold.loadavg</td>
<td>rascal.properties</td>
<td>The Unix load average at which Traffic Router will stop sending traffic to this cache</td>
</tr>
<tr class="row-even"><td>health.threshold.\
availableBandwidthInKbps</td>
<td>rascal.properties</td>
<td>The amount of bandwidth that Traffic Router will try to keep available on the cache.
For example: “”&gt;1500000” means stop sending new traffic to this cache when traffic is at 8.5Gbps on a 10Gbps interface.</td>
</tr>
</tbody>
</table>
<p>Below is a list of Traffic Server plugins that need to be configured in the parameter table:</p>
<table border="1" class="docutils">
<colgroup>
<col width="9%" />
<col width="8%" />
<col width="28%" />
<col width="55%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Name</th>
<th class="head">Config file</th>
<th class="head">Description</th>
<th class="head">Details</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>astats_over_http</td>
<td>package</td>
<td>The package version for the astats_over_http plugin.</td>
<td><a class="reference external" href="http://trafficcontrol.apache.org/downloads/index.html">astats_over_http</a></td>
</tr>
<tr class="row-odd"><td>trafficserver</td>
<td>package</td>
<td>The package version for the trafficserver plugin.</td>
<td><a class="reference external" href="http://trafficcontrol.apache.org/downloads/index.html">trafficserver</a></td>
</tr>
<tr class="row-even"><td>regex_revalidate</td>
<td>plugin.config</td>
<td>The config to be used for regex_revalidate.
For example: –config regex_revalidate.config</td>
<td><a class="reference external" href="https://docs.trafficserver.apache.org/en/5.3.x/reference/plugins/regex_remap.en.html">regex_revalidate</a></td>
</tr>
<tr class="row-odd"><td>remap_stats</td>
<td>plugin.config</td>
<td>The config to be used for remap_stats.
Value is left blank.</td>
<td><a class="reference external" href="https://github.com/apache/trafficserver/tree/master/plugins/experimental/remap_stats">remap_stats</a></td>
</tr>
</tbody>
</table>
<p>Below is a list of cache parameters for special configuration, which are unlikely to need changes, but may be useful in particular circumstances:</p>
<table border="1" class="docutils">
<colgroup>
<col width="16%" />
<col width="11%" />
<col width="73%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Name</th>
<th class="head">Config file</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>not_a_parent</td>
<td>parent.config</td>
<td>This is a boolean flag and is considered true if it exists and has any value except ‘false’.
This prevents servers with this parameter in their profile from being inserted into the parent.config generated for
servers with this server’s cachegroup as a parent of their cachegroup. This is primarily useful for when edge caches
are configured to have a cachegroup of other edge caches as parents (a highly unusual configuration), and it is
necessary to exclude some, but not all, edges in the parent cachegroup from the parent.config (for example, because they
lack necessary capabilities), but still have all edges in the same cachegroup in order to take traffic from ordinary
delivery services at that cachegroup’s geo location. Once again, this is a highly unusual scenario, and under ordinary
circumstances this parameter should not exist.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="regions-locations-and-cache-groups">
<h2>Regions, Locations and Cache Groups<a class="headerlink" href="#regions-locations-and-cache-groups" title="Permalink to this headline"></a></h2>
<p>All servers have to have a <cite>location</cite>, which is their physical location. Each location is part of a <cite>region</cite>, and each region is part of a <cite>division</cite>. For Example, <code class="docutils literal notranslate"><span class="pre">Denver</span></code> could be a location in the <code class="docutils literal notranslate"><span class="pre">Mile</span> <span class="pre">High</span></code> region and that region could be part of the <code class="docutils literal notranslate"><span class="pre">West</span></code> division. Enter your divisions first in <cite>Misc-&gt;Divisions</cite>, then enter the regions in <cite>Misc-&gt;Regions</cite>, referencing the divisions entered, and finally, enter the physical locations in <cite>Misc-&gt;Locations</cite>, referencing the regions entered.</p>
<p>All servers also have to be part of a <cite>cache group</cite>. A cache group is a logical grouping of caches, that don’t have to be in the same physical location (in fact, usually a cache group is spread across minimally 2 physical Locations for redundancy purposes), but share geo coordinates for content routing purposes. JvD to add more.</p>
</div>
<div class="section" id="configuring-content-purge">
<h2>Configuring Content Purge<a class="headerlink" href="#configuring-content-purge" title="Permalink to this headline"></a></h2>
<p>Content purge using ATS is not simple; there is no file system to delete files/directories from, and in large caches it can be hard to delete a simple regular expression from the cache. This is why Traffic Control uses the <a class="reference external" href="https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_revalidate.en.html">Regex Revalidate Plugin</a> to purge content from the system. We don’t actually remove the content, we have a check that gets run before each request on each cache to see if this request matches a list of regular expressions, and if it does, we force a revalidation to the origin, making the original content inaccessible. The regex_revalidate plugin will monitor it’s config file, and will pick up changes to it without a <cite>traffic_line -x</cite> signal to ATS. Changes to this file need to be distributed to the highest tier (MID) caches in the CDN before they are distributed to the lower tiers, to prevent filling the lower tiers with the content that should be purged from the higher tiers without hitting the origin. This is why the ort script (see <a class="reference internal" href="../traffic_server.html#reference-traffic-ops-ort"><span class="std std-ref">Configuring Traffic Server</span></a>) will by default push out config changes to MID first, confirm that they have all been updated, and then push out the changes to the lower tiers. In large CDNs, this can make the distribution and time to activation of the purge too long, and because of that there is the option to not distribute the <cite>regex_revalidate.config</cite> file using the ort script, but to do this using other means. By default, Traffic Ops will use ort to distribute the <cite>regex_revalidate.config</cite> file.</p>
<p>Content Purge is controlled by the following parameters in the profile of the cache:</p>
<table border="1" class="docutils">
<colgroup>
<col width="9%" />
<col width="10%" />
<col width="20%" />
<col width="61%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Name</th>
<th class="head">Config file</th>
<th class="head">Description</th>
<th class="head">Details</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>location</td>
<td>regex_revalidate.config</td>
<td>What location the file should be in on the cache</td>
<td>The presence of this parameter tells ort to distribute this file; delete this parameter from the profile if this file is distributed using other means.</td>
</tr>
<tr class="row-odd"><td>maxRevalDurationDays</td>
<td>regex_revalidate.config</td>
<td>The maximum time a purge can be active</td>
<td>To prevent a build up of many checks before each request, this is longest time the system will allow</td>
</tr>
<tr class="row-even"><td>regex_revalidate</td>
<td>plugin.config</td>
<td>The config to be used for regex_revalidate.
For example: –config regex_revalidate.config</td>
<td><a class="reference external" href="https://docs.trafficserver.apache.org/en/5.3.x/reference/plugins/regex_remap.en.html">regex_revalidate</a></td>
</tr>
<tr class="row-odd"><td>use_reval_pending</td>
<td>global</td>
<td>Configures Traffic Ops to use separate
reval_pending flag for each cache.</td>
<td>When this flag is in use ORT will check for a new regex_revalidate.config every 60 seconds in syncds mode during the dispersal timer. This will
also allow ORT to be run in revalidate mode, which will check for and clear the reval_pending flag. This can be set to run via cron task.
Enable with a value of 1. Use of this feature requires Traffic Ops 2.1 and above. Parameter should be assigned to the GLOBAL profile.</td>
</tr>
</tbody>
</table>
<p>Note that the TTL the adminstrator enters in the purge request should be longer than the TTL of the content to ensure the bad content will not be used. If the CDN is serving content of unknown, or unlimited TTL, the administrator should consider using <a class="reference external" href="https://docs.trafficserver.apache.org/en/latest/admin-guide/files/records.config.en.html#proxy-config-http-cache-guaranteed-min-lifetime">proxy-config-http-cache-guaranteed-min-lifetime</a> to limit the maximum time an object can be in the cache before it is considered stale, and set that to the same value as <cite>maxRevalDurationDays</cite> (Note that the former is in seconds and the latter is in days, so convert appropriately).</p>
<div class="section" id="creating-the-centos-kickstart-file">
<span id="creating-centos-kickstart"></span><h3>Creating the CentOS Kickstart File<a class="headerlink" href="#creating-the-centos-kickstart-file" title="Permalink to this headline"></a></h3>
<p>The kickstart file is a text file, containing a list of items, each identified by a keyword. You can create it by using the Kickstart Configurator application, or writing it from scratch. The Red Hat Enterprise Linux installation program also creates a sample kickstart file based on the options that you selected during installation. It is written to the file <code class="docutils literal notranslate"><span class="pre">/root/anaconda-ks.cfg</span></code>. This file is editable using most text editors that can save files as ASCII text.</p>
<p>To generate ISO, the CentOS Kickstart is necessary:</p>
<ol class="arabic simple">
<li>Create a kickstart file.</li>
<li>Create a boot media with the kickstart file or make the kickstart file available on the network.</li>
<li>Make the installation tree available.</li>
<li>Start the kickstart installation.</li>
</ol>
<p>Create a ks.src file in the root of the selection location. See the example below:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="n">newdir</span>
<span class="n">cd</span> <span class="n">newdir</span><span class="o">/</span>
<span class="n">cp</span> <span class="o">-</span><span class="n">r</span> <span class="o">../</span><span class="n">centos65</span><span class="o">/*</span> <span class="o">.</span>
<span class="n">vim</span> <span class="n">ks</span><span class="o">.</span><span class="n">src</span>
<span class="n">vim</span> <span class="n">isolinux</span><span class="o">/</span><span class="n">isolinux</span><span class="o">.</span><span class="n">cfg</span>
<span class="n">cd</span> <span class="n">vim</span> <span class="n">osversions</span><span class="o">.</span><span class="n">cfg</span>
<span class="n">vim</span> <span class="n">osversions</span><span class="o">.</span><span class="n">cfg</span>
</pre></div>
</div>
<p>This is a standard kickstart formatted file that the generate ISO process uses to create the kickstart (ks.cfg) file for the install. The generate ISO process uses the ks.src, overwriting any information set in the Generate ISO tab in Traffic Ops, creating ks.cfg.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Streamline your install folder for under 1GB, which assists in creating a CD.</p>
</div>
<div class="admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last">For in-depth instructions, please see <a class="reference external" href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-howuse.html">Kickstart Installation</a></p>
</div>
</div>
</div>
<div class="section" id="configuring-the-go-application">
<h2>Configuring the Go Application<a class="headerlink" href="#configuring-the-go-application" title="Permalink to this headline"></a></h2>
<p>Traffic Ops is in the process of migrating from Perl to Go, and currently runs as two applications. The Go application serves all endpoints which have been rewritten in the Go language, and transparently proxies all other requests to the old Perl application. Both applications are installed by the RPM, and both run as a single service. When the project has fully migrated to Go, the Perl application will be removed, and the RPM and service will consist solely of the Go application.</p>
<p>By default, the postinstall script configures the Go application to behave and transparently serve as the old Perl Traffic Ops did in previous versions. This includes reading the old <code class="docutils literal notranslate"><span class="pre">cdn.conf</span></code> and <code class="docutils literal notranslate"><span class="pre">database.conf</span></code> config files, and logging to the old <code class="docutils literal notranslate"><span class="pre">access.log</span></code> location. However, if you wish to customize the Go Traffic Ops application, you can do so by running it with the <code class="docutils literal notranslate"><span class="pre">-oldcfg=false</span></code> argument. By default, it will then look for a config file in <code class="docutils literal notranslate"><span class="pre">/opt/traffic_ops/conf/traffic_ops_golang.config</span></code>. The new config file location may also be customized via the <code class="docutils literal notranslate"><span class="pre">-cfg</span></code> flag. A sample config file is installed by the RPM at <code class="docutils literal notranslate"><span class="pre">/opt/traffic_ops/conf/traffic_ops_golang.config</span></code>. If you wish to run the new Go Traffic Ops application as a service with a new config file, the <code class="docutils literal notranslate"><span class="pre">-oldcfg=false</span></code> and <code class="docutils literal notranslate"><span class="pre">-cfg</span></code> flags may be added to the <code class="docutils literal notranslate"><span class="pre">start</span></code> function in the service file, located by default at <code class="docutils literal notranslate"><span class="pre">etc/init.d/traffic_ops</span></code>.</p>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="using.html" class="btn btn-neutral float-right" title="Traffic Ops - Using">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="migration_from_20_to_22.html" class="btn btn-neutral" title="Traffic Ops - Migrating from 2.0 to 2.2"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book">Apache Traffic Control (Incubating)</span>
v:
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>Versions</dt>
<dd><a href="/docs/master/">latest</a></dd>
<dd><a href="/docs/2.0/">2.0</a></dd>
<dd><a href="/docs/1.8.1/">1.8</a></dd>
<dd><a href="/docs/1.7.0/">1.7</a></dd>
</dl>
<hr/>
Free document hosting provided by <a href="http://www.readthedocs.org">Read the Docs</a>.
</div>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'2.2-dev',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="../../_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>