<div dir="ltr">Hello pulp-devs,<div><br></div><div>Recently an issue was opened due to some Pulp2-behavior causing problems when one is migrating from Pulp2 to Pulp3. You can find the issue here:</div><div><br></div><div><a href="https://pulp.plan.io/issues/7445">  https://pulp.plan.io/issues/7445</a></div><div><br></div><div>The crux is that python's os.makedirs(), its mode= parameter, and umask, have results that aren't what the Pulp2 code actually expects. This unexpected behavior then causes problems for pulp2-to-pulp3 migrations, if the Pulp2 side of things is creating/syncing new things post-pulp3-installation.</div><div><br></div><div>If you look at the writeup at <a href="https://pulp.plan.io/issues/7445#note-13">https://pulp.plan.io/issues/7445#note-13</a> , I am proposing a change to Pulp2 to standardize all the various makedirs() to one existing utility-routine, and make sure the end result is what Pulp2 code expects. This will have the benefits of:</div><div><br></div><div>* making sure all Pulp2 code does the same thing,</div><div>* insures the results are what the Pulp2 code is actually expecting, and</div><div>* won't break the migration process</div><div><br></div><div>The downside is changes in a number of places in Pulp2, and in its plugins (I know pulp_rpm is affected, I assume there will be other plugins)</div><div><br></div><div>The/another approach to this would be to extract the permission-cleanup work that the pulp2topulp3migration installation does, into a script. The admin would need to run the script prior to each migration-attempt. This would address the immediate problem ("Migration fails if I sync new stuff in Pulp2 post-migration-installation"), and be less intrusive. But it requires more, manual, work from the migrating-user, increasing migration-friction.<br clear="all"><div><br></div><div>Can anyone see a better way to address this problem? I don't like making changes to Pulp2 at this stage in its lifecycle, especially not general ones like this; if anybody has a brilliant Better Way to approach this, please chime in!</div><div><br></div><div>G</div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Grant Gainey</div><div>Principal Software Engineer, Red Hat System Management Engineering</div></div></div></div></div></div></div>