)]}'
{"specs/stable-requirements.rst":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e7ed03300e0511b00bcaf57f85ad5017c14f1ed9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  will allow review to proceed without having to look at additional"},{"line_number":23,"context_line":"  files which can not be viewed in gerrit.  It will also allow inline"},{"line_number":24,"context_line":"  feedback on the diagram itself."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":"Managing stable branch python requirments"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba7be1f8_e1d0faca","line":25,"updated":"2015-02-25 23:37:46.000000000","message":"Lots of guff here to remove.","commit_id":"ce81ee2086a0df43a3f744350d4a8d499ea81266"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"f9b637655854caf3088fc16480238a06bb3169be","unresolved":false,"context_lines":[{"line_number":54,"context_line":"On stable branches:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Leave ``requirements.txt`` (and ``test-requirements.txt``) as is, taken"},{"line_number":57,"context_line":"  straight from the version on master"},{"line_number":58,"context_line":"* Add ``requirements.gate`` (and ``test-requirements.gate``), to specify"},{"line_number":59,"context_line":"  which package versions we use for testing. Unlike ``requirements.txt``"},{"line_number":60,"context_line":"  this will include all dependencies, including indirect, and use pinning"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_dca3f49b","line":57,"updated":"2015-03-03 20:40:06.000000000","message":"We wont be shipping a stable/* requirements.txt straight from master.  stable\u0027s requirements.txt will still receive version constraints as they do now, which will diverge from master.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"65c4c8640f4d38ecf1e450a11ba77587f6044c10","unresolved":false,"context_lines":[{"line_number":58,"context_line":"* Add ``requirements.gate`` (and ``test-requirements.gate``), to specify"},{"line_number":59,"context_line":"  which package versions we use for testing. Unlike ``requirements.txt``"},{"line_number":60,"context_line":"  this will include all dependencies, including indirect, and use pinning"},{"line_number":61,"context_line":"  (``foo\u003d\u003d1.1.1``)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   * This requires changing how we install stable branch dependencies to use"},{"line_number":64,"context_line":"     ``pip``\u0027s ``--no-deps`` option to allow us to specify transitive"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_baa2cbf9","line":61,"updated":"2015-03-03 17:20:52.000000000","message":"Will this new file be checked into git? If so, how will it be maintained (by a bot, I presume)?","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"f9b637655854caf3088fc16480238a06bb3169be","unresolved":false,"context_lines":[{"line_number":58,"context_line":"* Add ``requirements.gate`` (and ``test-requirements.gate``), to specify"},{"line_number":59,"context_line":"  which package versions we use for testing. Unlike ``requirements.txt``"},{"line_number":60,"context_line":"  this will include all dependencies, including indirect, and use pinning"},{"line_number":61,"context_line":"  (``foo\u003d\u003d1.1.1``)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   * This requires changing how we install stable branch dependencies to use"},{"line_number":64,"context_line":"     ``pip``\u0027s ``--no-deps`` option to allow us to specify transitive"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_3c4330b0","line":61,"in_reply_to":"ba7be1f8_46173545","updated":"2015-03-03 20:40:06.000000000","message":"Are the .gate files going to be synced out to projects in the same way current requirements.txt do?  I could go both ways, but I wonder if it makes more sense to just maintain a single set of .gate files in the requirements repository and sync only the main requirements.txt/test-requirements.txt to projects as we do now.  As part of slave prep, we can warm system dependencies from the requirement repo\u0027s .gate files.  This would avoid having another file we need to push out to projects async via bot generated reviews.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"866e1631b371ac9c43d3edc5394202440052636e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"* Add ``requirements.gate`` (and ``test-requirements.gate``), to specify"},{"line_number":59,"context_line":"  which package versions we use for testing. Unlike ``requirements.txt``"},{"line_number":60,"context_line":"  this will include all dependencies, including indirect, and use pinning"},{"line_number":61,"context_line":"  (``foo\u003d\u003d1.1.1``)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   * This requires changing how we install stable branch dependencies to use"},{"line_number":64,"context_line":"     ``pip``\u0027s ``--no-deps`` option to allow us to specify transitive"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_46173545","line":61,"in_reply_to":"ba7be1f8_baa2cbf9","updated":"2015-03-03 19:38:23.000000000","message":"yes, my thinking was check this into git.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"65c4c8640f4d38ecf1e450a11ba77587f6044c10","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   * This requires changing how we install stable branch dependencies to use"},{"line_number":64,"context_line":"     ``pip``\u0027s ``--no-deps`` option to allow us to specify transitive"},{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_9a0b47d5","line":65,"updated":"2015-03-03 17:20:52.000000000","message":"Which jobs need to be updated? Just the devstack gate jobs, or the unit test jobs, too?","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"866e1631b371ac9c43d3edc5394202440052636e","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   * This requires changing how we install stable branch dependencies to use"},{"line_number":64,"context_line":"     ``pip``\u0027s ``--no-deps`` option to allow us to specify transitive"},{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_a6a2b1f9","line":65,"in_reply_to":"ba7be1f8_9a0b47d5","updated":"2015-03-03 19:38:23.000000000","message":"Hmm, I guess we could get away with just devstack gate jobs. I was originally thinking of unit tests as well though. If we just do devstack-gate jobs, that would involve fewer changes to each project (just add *.gate files and that is it).","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"f9b637655854caf3088fc16480238a06bb3169be","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   * This requires changing how we install stable branch dependencies to use"},{"line_number":64,"context_line":"     ``pip``\u0027s ``--no-deps`` option to allow us to specify transitive"},{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_bcd3a0d3","line":65,"in_reply_to":"ba7be1f8_a6a2b1f9","updated":"2015-03-03 20:40:06.000000000","message":"My thinking here was, during prep stages on the slave (ie, devstack-vm-gate.sh) we run a \u0027pip install --no-deps requirements.gate\u0027 to warm the system with a specific set of dependencies.  Later, during devstack/unit test setup/whatever, the standard installation we do now would continue to happen, but its deps would already be satisfied and it\u0027d only be installing the project code itself.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"65c4c8640f4d38ecf1e450a11ba77587f6044c10","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_1a1e770c","line":68,"updated":"2015-03-03 17:20:52.000000000","message":"We only need to make changes outside of the requirements project if we apply the pins to the unit test jobs, too, right?","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d8c4d5c170468cd12702f3d85e94aea2cc221e5c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_461ad5c6","line":68,"in_reply_to":"ba7be1f8_06945d89","updated":"2015-03-03 19:44:07.000000000","message":"If we\u0027re only changing what the devstack gate job does, we only need a .gate file in the global requirements file, right?","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"866e1631b371ac9c43d3edc5394202440052636e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_06945d89","line":68,"in_reply_to":"ba7be1f8_1a1e770c","updated":"2015-03-03 19:38:23.000000000","message":"based on your comments above yes. Although not sure where we check in the .gate files now.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"f9b637655854caf3088fc16480238a06bb3169be","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_bc464079","line":68,"in_reply_to":"ba7be1f8_212cebab","updated":"2015-03-03 20:40:06.000000000","message":"We\u0027d need to change the testing of requirements to add a step to generate a requirements.gate based on global-requirements.txt, not specific project\u0027s requirements.txt. \n\nMy idea here is that changes to global-requirements.txt generates a new requirements.gate that gets used as the dependency set passed to devstack jobs on that requirements patch. If it passes, that requirements.gate becomes the canonical list of known working dependencies until a new change is proposed to global-requirements.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"fa5141224ac80b7898635fd5d6234851fd495eac","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_818e772c","line":68,"in_reply_to":"ba7be1f8_41eb9fdb","updated":"2015-03-03 19:59:24.000000000","message":"Are we using a virtualenv for devstack now? I know we talked about it, but if that changed I missed it.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"a66454854daf6b9fde27be0fadabfca7e456cef1","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_c1594f36","line":68,"in_reply_to":"ba7be1f8_461ad5c6","updated":"2015-03-03 19:52:55.000000000","message":"if we have a single env and do \u0027pip install -r --no-deps global-requirements.txt\u0027 Then yes.  But we don\u0027t just install all of global-requirements today and not sure if we want to.\n\nIt would install a lot of extra dependencies for most tests, but that may not be a big deal.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"75ba0ce23f1299aab092bed2d6a66f1eebe03bcc","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_212cebab","line":68,"in_reply_to":"ba7be1f8_818e772c","updated":"2015-03-03 20:10:30.000000000","message":"https://review.openstack.org/#/c/156885/","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"49da5bc5b4b4f09e141adf4ff96bb4f3add2f82f","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_41eb9fdb","line":68,"in_reply_to":"ba7be1f8_a10c5bed","updated":"2015-03-03 19:58:19.000000000","message":"I agree, lets leave unit tests as is. I am talking about how best to install pinned dependencies in devstack","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"1ff2539773f1aab971e18eced83d6b43824ed1a2","unresolved":false,"context_lines":[{"line_number":65,"context_line":"     dependency versions."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This will require making changes to ``openstack/requirements`` and to"},{"line_number":68,"context_line":"stable branches in every project."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_a10c5bed","line":68,"in_reply_to":"ba7be1f8_c1594f36","updated":"2015-03-03 19:57:04.000000000","message":"I wasn\u0027t clear. I don\u0027t think we should change the way the unit tests run at all. We primarily care about the pins in the gate jobs, so let\u0027s limit our initial changes to them. If we find that we need to move to the unit tests as well, we can consider that as a second phase.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"65c4c8640f4d38ecf1e450a11ba77587f6044c10","unresolved":false,"context_lines":[{"line_number":71,"context_line":"------------"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Leave things as is, cap direct dependencies on stable branches and don\u0027t"},{"line_number":74,"context_line":"touch transitive dependencies."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Implementation"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_fa4b6328","line":74,"updated":"2015-03-03 17:20:52.000000000","message":"Can you include some detail about why we\u0027re not using this approach? I think it\u0027s because we don\u0027t trust third-parties to follow good versioning practices so we don\u0027t want to rely on their releases only using patch version numbers when they include bug fixes.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"866e1631b371ac9c43d3edc5394202440052636e","unresolved":false,"context_lines":[{"line_number":71,"context_line":"------------"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Leave things as is, cap direct dependencies on stable branches and don\u0027t"},{"line_number":74,"context_line":"touch transitive dependencies."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Implementation"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_e672e97a","line":74,"in_reply_to":"ba7be1f8_fa4b6328","updated":"2015-03-03 19:38:23.000000000","message":"* Don\u0027t trust third parties to follow good versioning practices, so we don\u0027t want to set any upper limit beyond current releases. For example if we currently install foo\u003d1.1.1, we don\u0027t want to automatically install 1.1.2 when it comes out.\n* Currently we set the upper bound in global-requirements.txt to what we currently install. But we ignore transitive dependencies which can still change out from under us. For example, if foo\u003d\u003d1.1.1 installs bar\u003d\u003e1.0, a new release of bar can break us.\n\n\nThe second point, is the crux of why I think we need this spec.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"65c4c8640f4d38ecf1e450a11ba77587f6044c10","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Work Items"},{"line_number":85,"context_line":"----------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Build a way to make global-requirements.gate"},{"line_number":88,"context_line":"* Figure out how to maintain per repo requirements.gate"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_5a99cf77","line":87,"updated":"2015-03-03 17:20:52.000000000","message":"I assume this includes details like how often we check to see if the .gate file needs to be updated and the automation to submit the changes when they are needed.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"866e1631b371ac9c43d3edc5394202440052636e","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Work Items"},{"line_number":85,"context_line":"----------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Build a way to make global-requirements.gate"},{"line_number":88,"context_line":"* Figure out how to maintain per repo requirements.gate"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_e6e74910","line":87,"in_reply_to":"ba7be1f8_5a99cf77","updated":"2015-03-03 19:38:23.000000000","message":"Possibly, For now I was focusing on just getting this in place and not on how and when to update .gate.  But this shouldn\u0027t be too hard to do if we can make it self gating.\n\nWill include  this in the next iteration.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"a66454854daf6b9fde27be0fadabfca7e456cef1","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Work Items"},{"line_number":85,"context_line":"----------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Build a way to make global-requirements.gate"},{"line_number":88,"context_line":"* Figure out how to maintain per repo requirements.gate"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_41b39f4c","line":87,"in_reply_to":"ba7be1f8_a609d185","updated":"2015-03-03 19:52:55.000000000","message":"right. I think the idea for stable will be we want to bump the versions we accept only if they work, versus master where we roll with the punches.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d8c4d5c170468cd12702f3d85e94aea2cc221e5c","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Work Items"},{"line_number":85,"context_line":"----------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Build a way to make global-requirements.gate"},{"line_number":88,"context_line":"* Figure out how to maintain per repo requirements.gate"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_a609d185","line":87,"in_reply_to":"ba7be1f8_e6e74910","updated":"2015-03-03 19:44:07.000000000","message":"Right, that\u0027s why I asked for a spec. I think some of the issues we\u0027ve had with requirements management this cycle were self-inflicted, and I want a complete plan before we do anything this significant to avoid having the next cycle be similarly frustrating. As things stand now, we can be tripped up if someone releases a bad package (either as a direct or transitory dependency). We can easily resolve those problems by adding !\u003d entries to the requirements lists, so we won\u0027t be \"down\" for long. Pinning will eliminate that problem, but I want to make sure we actually think about what other issues it will introduce.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"65c4c8640f4d38ecf1e450a11ba77587f6044c10","unresolved":false,"context_lines":[{"line_number":85,"context_line":"----------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Build a way to make global-requirements.gate"},{"line_number":88,"context_line":"* Figure out how to maintain per repo requirements.gate"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_3abb3b10","line":88,"updated":"2015-03-03 17:20:52.000000000","message":"We will also need a test to ensure that the .gate file meets the requirements listed in the .txt file, to avoid a situation where someone tries to change the pin to something that doesn\u0027t meet the range requirements.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"866e1631b371ac9c43d3edc5394202440052636e","unresolved":false,"context_lines":[{"line_number":85,"context_line":"----------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Build a way to make global-requirements.gate"},{"line_number":88,"context_line":"* Figure out how to maintain per repo requirements.gate"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_e6ce6982","line":88,"in_reply_to":"ba7be1f8_3abb3b10","updated":"2015-03-03 19:38:23.000000000","message":"Good point, will add in next iteration.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"f9b637655854caf3088fc16480238a06bb3169be","unresolved":false,"context_lines":[{"line_number":85,"context_line":"----------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Build a way to make global-requirements.gate"},{"line_number":88,"context_line":"* Figure out how to maintain per repo requirements.gate"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba7be1f8_772ce199","line":88,"in_reply_to":"ba7be1f8_e6ce6982","updated":"2015-03-03 20:40:06.000000000","message":"I was messing with pip-compile last week as a way of generating the .gate files. It looks promising and does a good job of catching these types conflicts during compilation.","commit_id":"d0d334c252a033adcebb050eaf18c02f05f4903e"}]}
