<div dir="ltr">As a bare-Pulp (no Katello / Sat 6) user with.... customizations... I think I'd really like to be able to get a config exporter tool for a host -> host migration as I'll probably move to a new host at the same time and run both side-by side while I work out how to re-do our authentication scheme which is based on mod_auth_gssapi and Active Directory.  <div><br></div><div>Ideally I'd be able to run a script to dump all my current repo/user/permission/role/etc settings to a text table, then run another script on a newly installed separate Pulp 3 server to import all those configs, and SCP /var/lib/pulp to the new host.  It's about 700GB but at 10Gbe it shouldn't take too long to sync.  </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 19, 2017 at 9:25 AM, Patrick Creech <span dir="ltr"><<a href="mailto:pcreech@redhat.com" target="_blank">pcreech@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, 2017-04-18 at 14:42 -0400, Dennis Kliban wrote:<br>
> Do we want to provide a tool for migrating from Pulp 2 to 3? If yes, then ...<br>
<br>
</span>Yes, indubitably (imo).<br>
<span class=""><br>
> Would the tool be able to migrate repository definitions and require the user to sync and upload<br>
> content to restore /var/lib/pulp/content?<br>
<br>
</span>Jeff has stated that we have no changes in pulp3 for this location, but even if we did, we probably<br>
shouldn't touch anything in this directory if we don't have to.   We have no guaruntees of the IOPS<br>
or latency of the underlying storage device, and have seen pain around this before.<br>
<span class=""><br>
> Would this tool support installing Pulp 3 along side Pulp 2 and performing a migration of database<br>
> and /var/lib/pulp/content?<br>
<br>
</span>If we can do a same-machine upgrade alongside pulp 2, that would be ideal.<br>
<span class=""><br>
> Would this tool be able to accept a mongodump of Pulp 2 MongoDB and a path to a copy of Pulp 2's<br>
> /var/lib/pulp directory and use that information to populate Pulp 3?<br>
<br>
</span>As a simple matter of performance, this tool should probably operate outside of the ORM interface<br>
(at least for the initial dump/load).  Most databases have a optimized way to bulk import/export<br>
data.  Mongodump is probably a bad tool for this though, as it is a binary export of data for use<br>
with mongorestore.<br>
<br>
One strategy we can use for the database is to mongoexport pulp2 data to json or csv, then convert<br>
this output to a format recognized by postgresql's COPY command for our table structure in pulp3.<br>
This will help us limit our memory footprint for migration, and could be done in steps to limit our<br>
filesystem footprint.  It appears mongoexport has some advanced options to help us here as well.<br>
Ideally we could just mongoexport the data into the desired postgresql import csv format for the<br>
tables.<br>
<br>
As noted by Sean, we should work to ensure we have minimal data loss and migration pain from pulp2<br>
to pulp3, and if we have to modify our pulp3 data model to do such, then we should while striving<br>
for a balance.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
><br>
> ______________________________<wbr>_________________<br>
> Pulp-dev mailing list<br>
> <a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
> <a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a></div></div><br>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
<br></blockquote></div><br></div>