Closed Bug 1127312 Opened 9 years ago Closed 9 years ago

document how to maintain virtual environment in Getting Started guide

Categories

(Input :: General, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: willkg, Assigned: lgp171188, Mentored)

References

Details

(Whiteboard: u=dev c=documentation p= s=input.2015q1)

We have documentation for maintaining a lot of stuff in Fjord, but I missed writing up how to maintain the virtual environment.

When you run "./manage.py ..." in the VM, then it checks the dependency versions in the requirements file against what's installed in the virtual machine. It'll raise an error and prevent you from doing anything if there are dependencies that are unmet. For example:

(fjordvagrant)vagrant@vagrant-ubuntu-trusty-64:~/fjord$ ./manage.py runserver 0.0.0.0:8000There are 28 requirements that cannot be checked.
The following requirements are not satsifed:
UNSATISFIED: nosenicedots==0.5

That's great, except it doesn't tell you what to do next and there's no documentation covering this common scenario and what to do.

This bug covers adding a section to the Getting Started guide for Maintaining the Virtual Environment. It should include an example of the above error and what you should do about it. Namely run:

./peep install -r requirements/dev.txt

It's possible there are some things that don't quite work right. This bug can cover fixing those so it's easy for devs to maintain their environments.

Also, I think we should depend on the bug to fix peep since in fixing that, we can make this better, too.
I'm going to pre-emptively grab this.

Other related things that came out of the IRC conversation we just had:

Adrian said he looked for this documentation first in the Getting Started guide since that has all the information for doing development in it. Maybe that means we should rename it to Getting Started: All You Need To Know About Development or something like that indicating it's the go-to guide for things?

LGuruprasad pointed out we should have a "How to update everything" kind of section, too, which covers what to do in your VM to make sure it's up-to-date after you get new code. It'd include running migrations, updating product details, updating your virtual environment, etc.

I think if we really want people doing a lot of stuff every time they do a "git pull", then maybe we should put that in a Makefile target or a script or something.
Assignee: nobody → willkg
Assigning this to LGuruprasad since he expressed interest in fixing it.
Assignee: willkg → lgp171188
Mentor: willkg
I did some minor cleanup to the docs and also fleshed out the instructions in the check_dependencies() function so it covers all the requirements files.

Landed in https://github.com/mozilla/fjord/commit/16d94494ad40df7e641400c761db5dc66d7dbc56

I think that's sufficient for now. We can talk about Makefiles and the like later if there's a compelling reason to simplify things more.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.