blob: a76b622b7148c62b698b6b7d46c6ddc381c98c82 [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>Configure Delivery Service Steering &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="Quick How To Guides" href="index.html"/>
<link rel="next" title="Delivery Service Requests" href="ds_requests.html"/>
<link rel="prev" title="Configure Anonymous Blocking" href="anonymous_blocking.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="../traffic_ops/installation.html">Traffic Ops - Installing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_ops/default_profiles.html">Traffic Ops - Default Profiles</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_ops/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="../traffic_ops/migration_from_20_to_22.html">Traffic Ops - Migrating from 2.0 to 2.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_ops/configuration.html">Traffic Ops - Configuring</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_ops/using.html">Traffic Ops - Using</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_ops/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 current"><a class="reference internal" href="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><a href="index.html">Quick How To Guides</a> &raquo;</li>
<li>Configure Delivery Service Steering</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/admin/quick_howto/steering.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="ds_requests.html" class="btn btn-neutral float-right" title="Delivery Service Requests">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="anonymous_blocking.html" class="btn btn-neutral" title="Configure Anonymous Blocking"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<div role="main" class="document">
<div class="section" id="configure-delivery-service-steering">
<span id="rl-steering-qht"></span><h1>Configure Delivery Service Steering<a class="headerlink" href="#configure-delivery-service-steering" title="Permalink to this headline">¶</a></h1>
<ol class="arabic simple">
<li>Create two target delivery services in Traffic Ops. They must both be HTTP delivery services that are part of the same CDN.</li>
</ol>
<a class="reference internal image-reference" href="../../_images/steering01.png"><img alt="../../_images/steering01.png" class="align-center" src="../../_images/steering01.png" style="width: 1172.0px; height: 232.0px;" /></a>
<ol class="arabic simple" start="2">
<li>Create a delivery service with type STEERING in Traffic Ops.</li>
</ol>
<a class="reference internal image-reference" href="../../_images/steering02.png"><img alt="../../_images/steering02.png" class="align-center" src="../../_images/steering02.png" style="width: 811.0px; height: 617.0px;" /></a>
<ol class="arabic simple" start="3">
<li>Click the ‘Manage Steering Assignments’ button on the delivery service screen to assign targets.</li>
</ol>
<a class="reference internal image-reference" href="../../_images/steering03.png"><img alt="../../_images/steering03.png" class="align-center" src="../../_images/steering03.png" style="width: 757.0px; height: 598.0px;" /></a>
<ol class="arabic simple" start="4">
<li>Create a user with the role of Steering.</li>
</ol>
<a class="reference internal image-reference" href="../../_images/steering04.png"><img alt="../../_images/steering04.png" class="align-center" src="../../_images/steering04.png" style="width: 650.0px; height: 487.0px;" /></a>
<ol class="arabic" start="5">
<li><p class="first">As the steering user, assign weights or orders to target delivery services. Assignments must either have a value for weight or order, but not both. The value of weight must be a positive integer, while the value of order can be any integer. This will require logging in to Traffic Ops first via <code class="docutils literal notranslate"><span class="pre">http://to.kabletown.net/api/1.2/user/login</span></code> and storing the mojolicious cookie.</p>
<blockquote>
<div><p>Sample cURL: <code class="docutils literal notranslate"><span class="pre">curl</span> <span class="pre">-H</span> <span class="pre">&quot;Cookie:</span> <span class="pre">mojolicious=xxxyyy&quot;</span> <span class="pre">-XPUT</span> <span class="pre">&quot;https://to.kabletown.net/internal/api/1.2/steering/steering-ds&quot;</span> <span class="pre">-d</span> <span class="pre">&#64;/tmp/steering.json</span></code></p>
<p>Sample JSON body:</p>
</div></blockquote>
</li>
</ol>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
<span class="s2">&quot;targets&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span class="s2">&quot;1000&quot;</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-1&quot;</span>
<span class="p">},</span>
<span class="p">{</span>
<span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span class="s2">&quot;9000&quot;</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-2&quot;</span>
<span class="p">}</span>
<span class="p">{</span>
<span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-3&quot;</span>
<span class="p">}</span>
<span class="p">{</span>
<span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-4&quot;</span>
<span class="p">}</span>
<span class="p">]</span>
<span class="p">}</span>
</pre></div>
</div>
<ol class="arabic" start="6">
<li><p class="first">If desired, the steering user can create filters for the target delivery services.</p>
<blockquote>
<div><p>Sample cURL: <code class="docutils literal notranslate"><span class="pre">curl</span> <span class="pre">-H</span> <span class="pre">&quot;Cookie:</span> <span class="pre">mojolicious=xxxyyy&quot;</span> <span class="pre">-XPUT</span> <span class="pre">&quot;https://to.kabletown.net/internal/api/1.2/steering/steering-ds&quot;</span> <span class="pre">-d</span> <span class="pre">&#64;/tmp/steering.json</span></code></p>
<p>Sample JSON body:</p>
</div></blockquote>
</li>
</ol>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
<span class="s2">&quot;filters&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="s2">&quot;pattern&quot;</span><span class="p">:</span> <span class="s2">&quot;.*</span><span class="se">\\</span><span class="s2">gototarget1</span><span class="se">\\</span><span class="s2">..*&quot;</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-1&quot;</span>
<span class="p">}</span>
<span class="p">],</span>
<span class="s2">&quot;targets&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span class="s2">&quot;1000&quot;</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-1&quot;</span>
<span class="p">},</span>
<span class="p">{</span>
<span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span class="s2">&quot;9000&quot;</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-2&quot;</span>
<span class="p">}</span>
<span class="p">{</span>
<span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-3&quot;</span>
<span class="p">}</span>
<span class="p">{</span>
<span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
<span class="s2">&quot;deliveryService&quot;</span><span class="p">:</span> <span class="s2">&quot;target-deliveryservice-4&quot;</span>
<span class="p">}</span>
<span class="p">]</span>
<span class="p">}</span>
</pre></div>
</div>
<ol class="arabic simple" start="7">
<li>Any requests to Traffic Router for the steering delivery service should now be routed to target delivery services based on configured weight or order. Example: <code class="docutils literal notranslate"><span class="pre">curl</span> <span class="pre">-Lvs</span> <span class="pre">http://foo.steering-ds.cdn.kabletown.net/bar</span></code></li>
</ol>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="ds_requests.html" class="btn btn-neutral float-right" title="Delivery Service Requests">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="anonymous_blocking.html" class="btn btn-neutral" title="Configure Anonymous Blocking"><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>