We should switch from using our vendor package system to using peep. The reason we originally used the vendor system was that some dependencies could change, even within their versions, and we needed those dependencies completely frozen. Peep solves this by letting you submit a commit hash that it uses for installation, so that the packages are always consistent. We will have a new requirements file that keeps the hashes for all of our (current) vendor packages and will be installed with: `peep install -r requirements/peep.txt`. The TravisCI script will also have to be updated to match our new deployment strategy. Reference: * Peep: https://github.com/erikrose/peep Other projects using peep: * https://github.com/mozilla/dxr * https://github.com/mozilla/socorro
I'm going to be working on this bug, as it will greatly improve load times in my vagrant environment. I'm setting this at a value of 2 points.
Assignee: nobody → djohnson
Currently, I've got a (peep) requirements file that references all packages from the vendor/src directory. The main problem I'm running into now, is how to generate the requirements for the vendor/packages directory. This is the approach I've tried so far, which hasn't yielded *identical* packages to the ones we currently have: 1. Look up version number if I can find it in package. 2. Attempt to download via pypi. I say *identical* because the packages seemed to be nearly the same, but I was getting different md5 hashes for the vendor and downloaded packages. Any thoughts on how I might be able to get the exact packages, or do you think it might be better to find as similar as I can and thoroughly test the codebase once they are being used?
Pick a package and check to see if all the files in vendor are the same as in the package. I bet there are some additional pip-created metadata files or .pyc files or something like that which is throwing off your md5 checksum.
Clearing needinfo on me. I have nothing new to add here.
I've got this half-done for Fjord now. Using a virtual environment rather than vendor makes manage.py in the vagrant development environment work a *lot* faster. I still have a bunch of things to do, but I'm working through them in phases. All that work is being done in bug #987801.
Now on stage. This needs to be heavily tested.
How should this be tested? Is there a test plan?
This is going to sit on stage over the weekend. If all goes well, we should merge this into master next week.
Landed on master, and master was pushed to prod. All looks good! https://github.com/mozilla/kitsune/pull/2083
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.