blob: 12d1d499e90702bf44fffe43c5903176e9917b42 [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 - Migrating from 1.x to 2.x &mdash; Traffic Control 2.1-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="top" title="Traffic Control 2.1-dev documentation" href="../../index.html"/>
<link rel="up" title="Administrator’s Guide" href="../index.html"/>
<link rel="next" title="Traffic Ops - Configuring" href="configuration.html"/>
<link rel="prev" title="Traffic Ops - Default Profiles" href="default_profiles.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_server.html">Traffic Server</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&#8217;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 current"><a class="current reference internal" href="#">Traffic Ops - Migrating from 1.x to 2.x</a></li>
<li class="toctree-l2"><a class="reference internal" href="configuration.html">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.html">Traffic Portal Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../traffic_monitor.html">Traffic Monitor Administration</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&#8217;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</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../development/traffic_monitor_golang.html">Traffic Monitor Golang</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../development/traffic_stats.html">Traffic Stats</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../development/traffic_server.html">Traffic Server</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.1-dev</a> &raquo;</li>
<li><a href="../index.html">Administrator&#8217;s Guide</a> &raquo;</li>
<li>Traffic Ops - Migrating from 1.x to 2.x</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/admin/traffic_ops/migration_from_10_to_20.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="configuration.html" class="btn btn-neutral float-right" title="Traffic Ops - Configuring">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="default_profiles.html" class="btn btn-neutral" title="Traffic Ops - Default Profiles"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<div role="main" class="document">
<div class="section" id="traffic-ops-migrating-from-1-x-to-2-x">
<span id="rl-ps"></span><span id="index-0"></span><h1>Traffic Ops - Migrating from 1.x to 2.x<a class="headerlink" href="#traffic-ops-migrating-from-1-x-to-2-x" title="Permalink to this headline"></a></h1>
<p>In Traffic Ops 2.x MySQL was removed and Postgres was replaced as the database of choice for the unforeseen future. A Docker-based migration tool was developed to
help with that conversion using an open source Postgres tool called <a class="reference external" href="http://pgloader.io/">pgloader</a>. The following instructions will help configuring the Migration tool</p>
<div class="section" id="system-requirements">
<h2>System Requirements<a class="headerlink" href="#system-requirements" title="Permalink to this headline"></a></h2>
<p>The user must have the following for a successful minimal install:</p>
<ul class="simple">
<li>CentOS 7.2+</li>
<li>Docker installed (this migration was tested against version <strong>docker-engine-selinux-17.05.0.ce-1.el7.centos.noarch.rpm</strong>)</li>
<li>Postgres has been installed according to <a class="reference internal" href="installation.html#rl-to-install"><span class="std std-ref">Traffic Ops - Installing</span></a></li>
</ul>
</div>
<div class="section" id="setup-the-traffic-ops-db-directory">
<h2>Setup the traffic_ops_db directory<a class="headerlink" href="#setup-the-traffic-ops-db-directory" title="Permalink to this headline"></a></h2>
<blockquote>
<div><p>Modify /opt dir permission to make it writable and owned by postgres:postgres</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ sudo chmod 755 /opt
</pre></div>
</div>
<p>Download the Traffic Control tarball for 2.0.0</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ cd /opt
$ wget https://dist.apache.org/repos/dist/release/incubator/trafficcontrol/&lt;tarball_version&gt;
</pre></div>
</div>
<p>Extract the <strong>traffic_ops_db</strong> dir to <strong>/opt/traffic_ops_db</strong></p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ tar -zxvf trafficcontrol-incubating-&lt;version&gt;.tar.gz --strip=1 trafficcontrol-incubating-&lt;version&gt;/traffic_ops_db
$ sudo chown -R postgres:postgres /opt/traffic_ops_db
</pre></div>
</div>
</div></blockquote>
</div>
<div class="section" id="migration-preparation">
<h2>Migration Preparation<a class="headerlink" href="#migration-preparation" title="Permalink to this headline"></a></h2>
<p>Be sure there is connectivity between your MySQL server&#8217;s IP address/port and your Postgres server&#8217;s IP address/port.</p>
</div>
<div class="section" id="navigating-the-database-migration">
<h2>Navigating the Database Migration<a class="headerlink" href="#navigating-the-database-migration" title="Permalink to this headline"></a></h2>
<p>Begin the database migration after settings up the <strong>/opt/traffic_ops_db</strong> directory</p>
<blockquote>
<div><p>Switch to the postgres user so permissions stay intact.</p>
<div class="highlight-none"><div class="highlight"><pre><span></span>$ su - postgres
$ cd /opt/traffic_ops_db/
</pre></div>
</div>
</div></blockquote>
<ol class="arabic">
<li><p class="first">Configure the <strong>/opt/traffic_ops_db/pg-migration/mysql-to-postgres.env</strong> migration for your source MySQL and target Postgres settings</p>
</li>
<li><p class="first">Run the migration, watch the console output for any errors (it may take some time)</p>
<div class="highlight-none"><div class="highlight"><pre><span></span>$ ./migrate.sh
</pre></div>
</div>
</li>
</ol>
<blockquote>
<div>Your MySQL data should now be ported into your new instance of Postgres!</div></blockquote>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="configuration.html" class="btn btn-neutral float-right" title="Traffic Ops - Configuring">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="default_profiles.html" class="btn btn-neutral" title="Traffic Ops - Default Profiles"><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>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'2.1-dev',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: ''
};
</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>