https://pulp.plan.io/https://pulp.plan.io/favicon.ico2016-11-10T15:53:51ZPulpPulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=156912016-11-10T15:53:51Zmhrivnakmhrivnak@redhat.com
<ul><li><strong>Sprint/Milestone</strong> set to <i>29</i></li><li><strong>Groomed</strong> changed from <i>No</i> to <i>Yes</i></li><li><strong>Sprint Candidate</strong> changed from <i>No</i> to <i>Yes</i></li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=156942016-11-10T16:02:29Zsemyerssean.myers@redhat.com
<ul></ul><p>There are things that we like to have in the dev environments that aren't needed at all for "production" pulp. This includes things like "django-crispy-forms" for adding prettyness to the browseable API, installing IPython to make "manage.py shell" be way more usable, etc, so I've added this as a checklist item.</p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=156952016-11-10T16:16:29Zsemyerssean.myers@redhat.com
<ul></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=157602016-11-14T14:12:43Zsemyerssean.myers@redhat.com
<ul><li><strong>Status</strong> changed from <i>NEW</i> to <i>ASSIGNED</i></li><li><strong>Assignee</strong> set to <i>semyers</i></li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=159032016-11-18T21:31:11Zsemyerssean.myers@redhat.com
<ul></ul><p>I'm currently taking some time and getting to know ansible better than I currently do in hopes of getting the entire dev setup process to work entirely in ansible. Ansible 2.2 recently came out, and possibly allows for working entirely in python3, so we might no longer need to bootstrap with python2 + the python2 selinux libs package.</p>
<p>In addition to the errors that we see as a result of attempting to install pulp2 stuff, the pulp3 dev env is currently suffering from sphinx being installed into the python 2 system env, so it's not available to py3 envs. Also, pulp3 subpackages (common, exceptions, tasking) aren't being installed by the current scripts, so they need to be managed; hopefully in an easy to implement way that we can also implement in the plugins?</p>
<p>Since so many folks keep getting hit by the uninstalled subpackages, I'll likely just put a bandaid on that first and then dig into the deeper ansible and documentation improvements afterward.</p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=159992016-11-23T18:37:39Zsemyerssean.myers@redhat.com
<ul></ul><p>semyers wrote:</p>
<blockquote>
<p>I'm currently taking some time and getting to know ansible better than I currently do in hopes of getting the entire dev setup process to work entirely in ansible. Ansible 2.2 recently came out, and possibly allows for working entirely in python3, so we might no longer need to bootstrap with python2 + the python2 selinux libs package.</p>
</blockquote>
<p>Ansible works perfectly, so far, with only py3 installed on the guest vm.</p>
<blockquote>
<p>In addition to the errors that we see as a result of attempting to install pulp2 stuff, the pulp3 dev env is currently suffering from sphinx being installed into the python 2 system env, so it's not available to py3 envs. Also, pulp3 subpackages (common, exceptions, tasking) aren't being installed by the current scripts, so they need to be managed; hopefully in an easy to implement way that we can also implement in the plugins?</p>
</blockquote>
<p>I'm experimenting with a yaml file for this, something like 'dev-env.yaml' that is able to identify which directories contain setup.pys that need to be installed, and also provide a way to identify additional requirements that for whatever reason shouldn't be installed in the packaged product (things like ipython come to mind, and also build-only requirements like sphinx)</p>
<blockquote>
<p>Since so many folks keep getting hit by the uninstalled subpackages, I'll likely just put a bandaid on that first and then dig into the deeper ansible and documentation improvements afterward.</p>
</blockquote>
<p>I lied :(</p>
<p>It was easy enough to get ansible running on py3 that I've actually been breaking the existing playbook up into more roles as appropriate, getting rid of as much vagrant-specific behavior as I can, and converting the "vagrant-setup" script to ansible. That's almost done, and will be the first PR for this effort, at which point I hope to follow up with some related quality of life fixes that should become trivial once all the work lives in ansible. The difficulty with this now is making sure ansible and any bash scripts have the same information. To date, we've solved this by hardcoding paths, like ~/devel, but once they're all in ansible it might be trivial to make this a customizeable value.</p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=160772016-11-29T17:27:09Zsemyerssean.myers@redhat.com
<ul></ul><p>As I'd hoped, I was able to get my playbook working yesterday, which completely removed the need to have the vagrant setup script. Once that was working, I started trying to break it; this did not take as long as I would have liked. Short story: Ansible loops are not pretty things. Adding conditionals to them makes them even less pretty, and doing crazy things like nesting them or looping over more exotic datatypes (like, say, a dict), makes them downright unreadable. In order for ansible to correctly set up the virtualenvs for our plugins, we need to do a lot of these un-pretty things if we put all the logic in our playbook tasks.</p>
<p>Fortunately, we don't have to do that! We've already got the pulp_facts module[0] doing some work to pre-render some conditional results for use later in the playbook. Today, I've been cleaning that guy up (encapsulating each fact-getter into a function, using ansible's python interface[1] to define the module, etc) and adding in the conditional looping logic that I need in the tasks, so rather than trying to do all the work in the tasks, it gets done beforehand and the tasks can just iterate.</p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=160872016-11-29T23:56:12Zsemyerssean.myers@redhat.com
<ul></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=160882016-11-29T23:56:12Zsemyerssean.myers@redhat.com
<ul></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=160892016-11-30T00:04:01Zsemyerssean.myers@redhat.com
<ul></ul><p>The playbook works now, cleanly handling missing plugins/side projects (e.g. you didn't clone crane, pulp-smash, pulp-python, etc). It's a big pile of WIP commits right now, so tomorrow I'll do a little more testing, get those commits crushed down and pushed up to devel, and then address the checklist items that have to happen over in the pulp repo.</p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=161062016-11-30T19:14:42Zsemyerssean.myers@redhat.com
<ul></ul><p>pushed for testing: <a href="https://github.com/pulp/devel/pull/21" class="external">https://github.com/pulp/devel/pull/21</a></p>
<p>I'm still making minor tweaks and getting the documentation together, but it should be functional now.</p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=161412016-12-01T15:11:02Zsemyerssean.myers@redhat.com
<ul></ul><p>Note that once that's accepted, there are probably still two more PRs:<br>
- docs PR for the 4th checkbox<br>
- other changes to the pulp repo to take advantage of the new playbook functionality, mainly by separating out dev-only dependencies like ipython, crispy forms, etc, completing the 5th checklist item<br>
- likely a trivial PR to devel to let the playbook know about the new requirements file locations</p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=162302016-12-05T17:57:40Zmhrivnakmhrivnak@redhat.com
<ul><li><strong>Sprint/Milestone</strong> changed from <i>29</i> to <i>30</i></li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=163392016-12-08T21:06:31Zsemyerssean.myers@redhat.com
<ul><li><strong>Blocks</strong> <i><a class="issue tracker-2 status-11 priority-7 priority-high2 closed" href="/issues/2479">Task #2479</a>: Update systemd tasking service files to use new Pulp 3 locations</i> added</li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=184882017-03-13T15:27:15Zsemyerssean.myers@redhat.com
<ul><li><strong>Priority</strong> changed from <i>Normal</i> to <i>High</i></li></ul><p>With the 2.12.2 beta out the door and the team poised to return to 3.0 this week, this has become a fair bit more important. :)</p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=185102017-03-13T23:23:37Zsemyerssean.myers@redhat.com
<ul><li><strong>Status</strong> changed from <i>ASSIGNED</i> to <i>POST</i></li></ul><p><a href="https://github.com/pulp/pulp/pull/2888" class="external">https://github.com/pulp/pulp/pull/2888</a><br>
<a href="https://github.com/pulp/devel/pull/37" class="external">https://github.com/pulp/devel/pull/37</a></p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=185572017-03-16T15:06:25Zmhrivnakmhrivnak@redhat.com
<ul><li><strong>Sprint/Milestone</strong> changed from <i>30</i> to <i>36</i></li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=187882017-03-27T22:10:41Zsemyerssean.myers@redhat.com
<ul><li><strong>Status</strong> changed from <i>POST</i> to <i>MODIFIED</i></li></ul><p><a href="https://github.com/pulp/devel/commit/fb57f0c553bd45f10ee2b9c04c6d1529b38b7ff7" class="external">https://github.com/pulp/devel/commit/fb57f0c553bd45f10ee2b9c04c6d1529b38b7ff7</a><br>
<a href="https://github.com/pulp/pulp/commit/8babc6c55433d87db8649f9e23efe4ac4a7574bd" class="external">https://github.com/pulp/pulp/commit/8babc6c55433d87db8649f9e23efe4ac4a7574bd</a></p> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=258562018-03-08T23:06:00Zbmbouterbmbouter@redhat.com
<ul><li><strong>Sprint</strong> set to <i>Sprint 17</i></li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=258812018-03-08T23:06:37Zbmbouterbmbouter@redhat.com
<ul><li><strong>Sprint/Milestone</strong> deleted (<del><i>36</i></del>)</li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=417742019-04-25T16:47:10Zdaviddavis
<ul><li><strong>Sprint/Milestone</strong> set to <i>3.0.0</i></li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=430022019-04-26T20:39:07Zbmbouterbmbouter@redhat.com
<ul><li><strong>Tags</strong> deleted (<del><i>Pulp 3</i></del>)</li></ul> Pulp - Task #2413: Fix dev environment setup for Pulp 3.0https://pulp.plan.io/issues/2413?journal_id=505422019-12-13T17:10:05Zbmbouterbmbouter@redhat.com
<ul><li><strong>Status</strong> changed from <i>MODIFIED</i> to <i>CLOSED - CURRENTRELEASE</i></li></ul>