Merge lp:~hazmat/pyjuju/auto-magic-dependency-spec into lp:pyjuju
Proposed by
Kapil Thangavelu
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 241 | ||||
Proposed branch: | lp:~hazmat/pyjuju/auto-magic-dependency-spec | ||||
Merge into: | lp:pyjuju | ||||
Diff against target: |
116 lines (+112/-0) 1 file modified
docs/source/specifications/auto-dependency.rst (+112/-0) |
||||
To merge this branch: | bzr merge lp:~hazmat/pyjuju/auto-magic-dependency-spec | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gustavo Niemeyer | Needs Fixing | ||
Review via email: mp+53865@code.launchpad.net |
Description of the change
A spec describing the resolution of dependencies and the basic interaction with remote repositories.
To post a comment you must log in.
Kapil, here is some feedback on the spec. Let's freeze the work on automatic
dependencies for the moment, and focus on upgrades, so that we get one thing
done well at a time. We have two specs but neither of them feels close to being
ready, and you won't be able to code these two things at once either way.
[1]
97 +implementation details of a repository. The multi dict ordering is
98 +manipulated after any given result to allow for the origin repository
99 +of the most recent result to be in the front of the lookup order. The
100 +default order per user configuration is stored separately and
101 +resumable as needed.
This whole sentence is extremely dense, and mixes algorithms with storage
format with server implementation with a number of other things, making it
very hard to follow.
We need something which is significantly simpler and better structured.
E.g. What are the specific new concepts being introduced into the code base,
and how do they relate with what's already in place. What are the specific
queries which a repository must answer, and what is the specific information
being sent back in the response. How will the namespacing issues we've
talked about influence the way in which dependencies are automatically
selected. What happens when there are existing services deployed. How to
pick specific formulas/service names for solving certain dependencies.
And so on.
But for now, let's freeze that spec, and focus on upgrades. Pushing these
two big concepts at the same time is not working.