Closed Bug 1421124 Opened 7 years ago Closed 7 years ago

fix py27 virtualenv in puppet

Categories

(Release Engineering :: Release Automation, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mozilla, Assigned: mozilla)

References

Details

Attachments

(2 files)

Looks like we need a newer virtualenv.py and pip. See https://bugzilla.mozilla.org/show_bug.cgi?id=1417575#c6 for details.
Blocks: 1417575
Comment on attachment 8932296 [details] bug 1421124 - create a new python27 module. https://reviewboard.mozilla.org/r/203330/#review208722 ::: commit-message-6a752:5 (Diff revision 1) > +bug 1421124 - create a new python27 module. r=callek > + > +We're creating a new module here so we don't upgrade the world. Instead, each module can point at the python27 module when they're ready. > + > +This patch is intended to upgrade virtualenv and pip from our ancient pip 1.5.5 to virtualenv 15.0.2 + pip 8.1.2. I chose this version because virtualenv 15.1.0 includes pip 9.0.1; pip 9.x requires SSL; and our puppet servers don't have valid SSL certs. pip 8.1.2 allows for --trusted-host which allows us to fix the puppet bustage in this bug, but avoids requiring new SSL certs on the puppet servers. As far as I can tell, pip 9.0.1 supports --trusted-host as well. Also, if the puppet servers have a valid, but not globaly trusted certificate, then pip has a --cert option to pass a ca-bundle too, which can include the puppet cert or CA for it.
Comment on attachment 8932296 [details] bug 1421124 - create a new python27 module. https://reviewboard.mozilla.org/r/203330/#review208964 I think this is fine, but I'd love it to get a run through travis before landing (via a fork+enabling of travis on your fork) so we can ensure it passes for linting at least. ::: modules/python27/manifests/virtualenv.pp (Diff revision 1) > group => $ve_group; > } > - python::virtualenv::package { > - "${virtualenv}||pip==${python::virtualenv::settings::pip_version}": > - user => $ve_user; > - } Why are we no longer pinning pip here? ::: modules/python27/manifests/virtualenv/prerequisites.pp (Diff revision 1) > + filename => 'virtualenv_support', > + recurse => true; > + } -> Anchor['python27::virtualenv::prerequisites::end'] > > - # these two need to be in the same dir as virtualenv.py, or it will > - # want to download them from pypi no longer true?
Attachment #8932296 - Flags: review?(bugspam.Callek) → review+
Comment on attachment 8932297 [details] bug 1421124 - start using python27::virtualenv in balrog scriptworker. https://reviewboard.mozilla.org/r/203332/#review208968
Attachment #8932297 - Flags: review?(bugspam.Callek) → review+
(In reply to Justin Wood (:Callek) from comment #4) > Comment on attachment 8932296 [details] > bug 1421124 - create a new python27 module. > > https://reviewboard.mozilla.org/r/203330/#review208964 > > I think this is fine, but I'd love it to get a run through travis before > landing (via a fork+enabling of travis on your fork) so we can ensure it > passes for linting at least. Already done :) https://github.com/escapewindow/build-puppet/tree/pip-py27 > ::: modules/python27/manifests/virtualenv.pp > (Diff revision 1) > > group => $ve_group; > > } > > - python::virtualenv::package { > > - "${virtualenv}||pip==${python::virtualenv::settings::pip_version}": > > - user => $ve_user; > > - } > > Why are we no longer pinning pip here? We download a pinned pip from the virtualenv_support dir with virtualenv. > ::: modules/python27/manifests/virtualenv/prerequisites.pp > (Diff revision 1) > > + filename => 'virtualenv_support', > > + recurse => true; > > + } -> Anchor['python27::virtualenv::prerequisites::end'] > > > > - # these two need to be in the same dir as virtualenv.py, or it will > > - # want to download them from pypi > > no longer true? Distribute is old and obsolete. We have everything we need in the virtualenv_support dir.
(In reply to Tom Prince [:tomprince] from comment #3) > Comment on attachment 8932296 [details] > bug 1421124 - create a new python27 module. > > https://reviewboard.mozilla.org/r/203330/#review208722 > > ::: commit-message-6a752:5 > (Diff revision 1) > > +bug 1421124 - create a new python27 module. r=callek > > + > > +We're creating a new module here so we don't upgrade the world. Instead, each module can point at the python27 module when they're ready. > > + > > +This patch is intended to upgrade virtualenv and pip from our ancient pip 1.5.5 to virtualenv 15.0.2 + pip 8.1.2. I chose this version because virtualenv 15.1.0 includes pip 9.0.1; pip 9.x requires SSL; and our puppet servers don't have valid SSL certs. pip 8.1.2 allows for --trusted-host which allows us to fix the puppet bustage in this bug, but avoids requiring new SSL certs on the puppet servers. > > As far as I can tell, pip 9.0.1 supports --trusted-host as well. > > Also, if the puppet servers have a valid, but not globaly trusted > certificate, then pip has a --cert option to pass a ca-bundle too, which can > include the puppet cert or CA for it. Sounds like that's definitely worth a shot. I'd prefer to use ssl verification. However, - I'm very aware we have limited time this quarter, and a lot of things we need to get done, - upgrading from pip 1.5.5 -> pip 8.1.2 is a big improvement, even if it's not fully up to date, and - this unblocks mtabara's tc relpro migration work, which was the impetus for this patch. I'm leaning towards landing as-is and leaving virtualenv 15.1.0 as a followup.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: