)]}'
{"doc/source/index.rst":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"389a78cb2816dcadec91b1bc07d885b0dada1d40","unresolved":false,"context_lines":[{"line_number":20,"context_line":"   specs/maniphest"},{"line_number":21,"context_line":"   specs/openstackci"},{"line_number":22,"context_line":"   specs/zuulv3"},{"line_number":23,"context_line":"   specs/complete-reviewable-release-automation"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Gerrit query for all changes related to priority efforts::"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_a64bbb2a","line":23,"updated":"2015-12-01 15:31:37.000000000","message":"This should go in the approved section below, not in the priority efforts section.","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"969301d0c687bff1cb0a5ea0e545f982c916c295","unresolved":false,"context_lines":[{"line_number":20,"context_line":"   specs/maniphest"},{"line_number":21,"context_line":"   specs/openstackci"},{"line_number":22,"context_line":"   specs/zuulv3"},{"line_number":23,"context_line":"   specs/complete-reviewable-release-automation"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Gerrit query for all changes related to priority efforts::"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_57787b8f","line":23,"in_reply_to":"9a8ffd7b_a64bbb2a","updated":"2015-12-04 19:44:42.000000000","message":"Done","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"}],"specs/complete-reviewable-release-automation.rst":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"2c55b91dea5af5a2a827e641f2a1b592a760ea7b","unresolved":false,"context_lines":[{"line_number":17,"context_line":" Complete Reviewable Release Automation Work"},{"line_number":18,"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\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Include the URL of your StoryBoard story:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"https://storyboard.openstack.org/#!/story/2000421"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_f3568d05","line":20,"updated":"2015-11-16 18:11:58.000000000","message":"remove the above line","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a9ba78a2c6ee234bdfc5d4ee559eaa78ed2fc414","unresolved":false,"context_lines":[{"line_number":17,"context_line":" Complete Reviewable Release Automation Work"},{"line_number":18,"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\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Include the URL of your StoryBoard story:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"https://storyboard.openstack.org/#!/story/2000421"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_d66ca0d2","line":20,"in_reply_to":"ba8a016a_f3568d05","updated":"2015-11-30 19:24:12.000000000","message":"Done","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"2c55b91dea5af5a2a827e641f2a1b592a760ea7b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Problem Description"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"During Liberty we added tools to the openstack-infra/release-tools"},{"line_number":34,"context_line":"repository to read the files in openstack/releases and publish"},{"line_number":35,"context_line":"releases. Those tools only work correctly for libraries, and must be"},{"line_number":36,"context_line":"run manually."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_53799992","line":33,"updated":"2015-11-16 18:11:58.000000000","message":"nit: consistency: lowercase or uppercase Liberty, see line 23","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a9ba78a2c6ee234bdfc5d4ee559eaa78ed2fc414","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Problem Description"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"During Liberty we added tools to the openstack-infra/release-tools"},{"line_number":34,"context_line":"repository to read the files in openstack/releases and publish"},{"line_number":35,"context_line":"releases. Those tools only work correctly for libraries, and must be"},{"line_number":36,"context_line":"run manually."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_9667f8e9","line":33,"in_reply_to":"ba8a016a_53799992","updated":"2015-11-30 19:24:12.000000000","message":"Done","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"1ce260e45c21f420c448309ac171264cc44c3444","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Problem Description"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"During Liberty we added tools to the openstack-infra/release-tools"},{"line_number":34,"context_line":"repository to read the files in openstack/releases and publish"},{"line_number":35,"context_line":"releases. Those tools only work correctly for libraries, and must be"},{"line_number":36,"context_line":"run manually."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_d0b17802","line":33,"in_reply_to":"ba8a016a_53799992","updated":"2015-11-18 20:46:21.000000000","message":"OK. I\u0027ll wait to see if there are other comments on this that need any more substantial updates. If not, I\u0027ll submit a follow-up patch after this is approved.","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"f579067bb7d52854e1eebeb54538688e02877edc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"tools update the bug and blueprint status in Launchpad. Instead of"},{"line_number":47,"context_line":"updating the status of the bug, we will leave a comment on the bug"},{"line_number":48,"context_line":"indicating when it was released. Bug status should be updated to \"Fix"},{"line_number":49,"context_line":"Released\" when a patch merges, instead of \"Fix Committed\"."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Alternatives"},{"line_number":52,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_f3dd0343","line":49,"updated":"2015-11-25 13:20:20.000000000","message":"Looks good, although to give more context I would clearly explain that the release automation is in two parts:\n\nOne is triggered when an openstack/releases change is merged. It should (1) push tag(s) to the deliverable repositories and (2) add comments on Launchpad bugs that were apparently fixed.\n\nOne is triggered when a version-compliant tag is pushed to a repository. In addition to building the tarball, it should create a signature before uploading it to tarballs.o.o.\n\nI think that spec should describe both (instead of just the first one), and explain that the second part heavily relies on artifact-signing being available. That will make it easier to move tasks from one part to the other (see below).","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a9ba78a2c6ee234bdfc5d4ee559eaa78ed2fc414","unresolved":false,"context_lines":[{"line_number":46,"context_line":"tools update the bug and blueprint status in Launchpad. Instead of"},{"line_number":47,"context_line":"updating the status of the bug, we will leave a comment on the bug"},{"line_number":48,"context_line":"indicating when it was released. Bug status should be updated to \"Fix"},{"line_number":49,"context_line":"Released\" when a patch merges, instead of \"Fix Committed\"."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Alternatives"},{"line_number":52,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_16b9c8ec","line":49,"in_reply_to":"9a8ffd7b_f3dd0343","updated":"2015-11-30 19:24:12.000000000","message":"Done","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"f579067bb7d52854e1eebeb54538688e02877edc","unresolved":false,"context_lines":[{"line_number":102,"context_line":"   * invoke the bug update script created above after scanning each"},{"line_number":103,"context_line":"     repository"},{"line_number":104,"context_line":"   * generate and send release notes email based on the changes in"},{"line_number":105,"context_line":"     each release"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"   Other notes from the summit discussion"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_7394b3e1","line":105,"updated":"2015-11-25 13:20:20.000000000","message":"We might end up wanting to put that last item in the second part of the automation (the one triggered by the tag being pushed) rather than the first:\n\n(1) it\u0027s preferable to have the tarball built before we send the email pointing to it\n\n(2) it simplifies putting the generated release notes in the tarball, if we end up wanting to do that","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a9ba78a2c6ee234bdfc5d4ee559eaa78ed2fc414","unresolved":false,"context_lines":[{"line_number":102,"context_line":"   * invoke the bug update script created above after scanning each"},{"line_number":103,"context_line":"     repository"},{"line_number":104,"context_line":"   * generate and send release notes email based on the changes in"},{"line_number":105,"context_line":"     each release"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"   Other notes from the summit discussion"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_9653786c","line":105,"in_reply_to":"9a8ffd7b_7394b3e1","updated":"2015-11-30 19:24:12.000000000","message":"Done","commit_id":"57a7d00a6a962816120e3cabc9a32ba0f51d575d"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"a60afc7060d3cf555c36c3fd1c6f987439244e46","unresolved":false,"context_lines":[{"line_number":49,"context_line":"that runs when a release tag is pushed. In addition to triggering the"},{"line_number":50,"context_line":"build that it does now, and creating the signature for the new"},{"line_number":51,"context_line":"artifact (see :doc:`artifact-signing`), it will need to add comments"},{"line_number":52,"context_line":"to the bugs."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The second job runs later and against a different repository than the"},{"line_number":55,"context_line":"first job. In order to ensure it has all of the information it needs,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_f7e66243","line":52,"updated":"2015-12-01 10:10:48.000000000","message":"add_comment can be done in two places:\n\n* in the first job (post-merge in openstack/releases), after the tag is pushed\n\n* in the second job (post-tag in *), before/after the tarball is generated\n\nI think I prefer if it happens in the first job (which is the way it\u0027s set up right now with the manually-run release.sh). The first job is about tagging, the second job is about generating a source code tarball and everything that goes with it (signature, uploads....)\n\nMy way to think about it is if for example we don\u0027t generate a tarball for a given repository, we run the 1st job but not the second one. We still want add_comment to run in that case. So add_comment should happen in the first job.","commit_id":"61f0e54b1dddf41b8c2a2ae8c699c3c09c44ddfd"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"320ec3fee63b5225f67a87541df367d3db9d777d","unresolved":false,"context_lines":[{"line_number":49,"context_line":"that runs when a release tag is pushed. In addition to triggering the"},{"line_number":50,"context_line":"build that it does now, and creating the signature for the new"},{"line_number":51,"context_line":"artifact (see :doc:`artifact-signing`), it will need to add comments"},{"line_number":52,"context_line":"to the bugs."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The second job runs later and against a different repository than the"},{"line_number":55,"context_line":"first job. In order to ensure it has all of the information it needs,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_10b75df6","line":52,"in_reply_to":"9a8ffd7b_f7e66243","updated":"2015-12-01 14:41:33.000000000","message":"OK,  I misunderstood your earlier comment. I think I\u0027ve clarified this.","commit_id":"61f0e54b1dddf41b8c2a2ae8c699c3c09c44ddfd"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"389a78cb2816dcadec91b1bc07d885b0dada1d40","unresolved":false,"context_lines":[{"line_number":57,"context_line":"by the first job. We will need at least the series name so we can"},{"line_number":58,"context_line":"determine the branch for the release history. We can assume zuul will"},{"line_number":59,"context_line":"check out the project repository to the tagged commit, and determine"},{"line_number":60,"context_line":"the current version from there."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_a60c1b43","line":60,"updated":"2015-12-01 15:31:37.000000000","message":"This probably requires some Git inspection to attempt to map a tag to a branch since a tag can point to a commit which appears in the history of multiple branches. In reality at the time our jobs fire there will only be one except in unusual circumstances, so let\u0027s just make sure we have a sane fallback for such situations as a safety net.\n\nIt sounds like the existing tooling just expects the series name to be provided independently, so querying it from there is almost certainly the safest route.","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a6781c851617f41e2d9dd6e9bc1a05467a805cc8","unresolved":false,"context_lines":[{"line_number":57,"context_line":"by the first job. We will need at least the series name so we can"},{"line_number":58,"context_line":"determine the branch for the release history. We can assume zuul will"},{"line_number":59,"context_line":"check out the project repository to the tagged commit, and determine"},{"line_number":60,"context_line":"the current version from there."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_e1c68548","line":60,"in_reply_to":"9a8ffd7b_a60c1b43","updated":"2015-12-04 19:30:16.000000000","message":"Right, the script that tags the release adds metadata to the commit message, including the series.","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"389a78cb2816dcadec91b1bc07d885b0dada1d40","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Primary assignee:"},{"line_number":74,"context_line":"  doug-hellmann"},{"line_number":75,"context_line":"  fungi"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Gerrit Topic"},{"line_number":78,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_a63f3b24","line":75,"updated":"2015-12-01 15:31:37.000000000","message":"Nit: bullet list here improves readability.","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a6781c851617f41e2d9dd6e9bc1a05467a805cc8","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Primary assignee:"},{"line_number":74,"context_line":"  doug-hellmann"},{"line_number":75,"context_line":"  fungi"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Gerrit Topic"},{"line_number":78,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_9cc04a2c","line":75,"in_reply_to":"9a8ffd7b_a63f3b24","updated":"2015-12-04 19:30:16.000000000","message":"Done","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"389a78cb2816dcadec91b1bc07d885b0dada1d40","unresolved":false,"context_lines":[{"line_number":89,"context_line":"#. Update the commit hook in openstack-infra/project-config to set the"},{"line_number":90,"context_line":"   bug status to \"Fix Committed\" instead of \"Fix Released\" by changing"},{"line_number":91,"context_line":"   the default for all projects, removing existing overrides that set"},{"line_number":92,"context_line":"   projects to that new default."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"   * Need to communicate this change so that projects are aware of the"},{"line_number":95,"context_line":"     process change."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_894488b7","line":92,"updated":"2015-12-01 15:31:37.000000000","message":"Specifically, this is accomplished by setting options:direct-release in gerrit/projects.yaml for each repository managed through this process. Depending on how many that ends up being, it might make more sense to invert openstack-infra/jeepyb\u0027s default so that the fix committed state is something which has to be explicitly enabled from this point forward (making it less likely we\u0027ll forget to set this on every new official repo). Maybe this is what you\u0027re saying, though I couldn\u0027t quite tell from the prose here.","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a6781c851617f41e2d9dd6e9bc1a05467a805cc8","unresolved":false,"context_lines":[{"line_number":89,"context_line":"#. Update the commit hook in openstack-infra/project-config to set the"},{"line_number":90,"context_line":"   bug status to \"Fix Committed\" instead of \"Fix Released\" by changing"},{"line_number":91,"context_line":"   the default for all projects, removing existing overrides that set"},{"line_number":92,"context_line":"   projects to that new default."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"   * Need to communicate this change so that projects are aware of the"},{"line_number":95,"context_line":"     process change."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_61085592","line":92,"in_reply_to":"9a8ffd7b_894488b7","updated":"2015-12-04 19:30:16.000000000","message":"Yes, that\u0027s what I\u0027m saying. The choices were add a flag to every project and then remember to add it to all new projects, or change the default. I have one patch to change the default in https://review.openstack.org/248922 and another to remove the now extraneous values in project-config at https://review.openstack.org/248923","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"389a78cb2816dcadec91b1bc07d885b0dada1d40","unresolved":false,"context_lines":[{"line_number":98,"context_line":"   set of bugs mentioned as closed in the git commit messages for a"},{"line_number":99,"context_line":"   release and add comments to those bugs giving the version number"},{"line_number":100,"context_line":"   for when a fix for a bug was actually included in a release. (This"},{"line_number":101,"context_line":"   will probably be implemented as several supporting scripts.)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. Create a new script in openstack-infra/release-tools to be run as"},{"line_number":104,"context_line":"   part of the post-merge job for openstack/releases."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_4998e01b","line":101,"updated":"2015-12-01 15:31:37.000000000","message":"Probably need to think a little more about how this impacts LP bugs with multiple series tasks, since you\u0027ll have a distinct version per series where it was fixed, at different points in time.","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a6781c851617f41e2d9dd6e9bc1a05467a805cc8","unresolved":false,"context_lines":[{"line_number":98,"context_line":"   set of bugs mentioned as closed in the git commit messages for a"},{"line_number":99,"context_line":"   release and add comments to those bugs giving the version number"},{"line_number":100,"context_line":"   for when a fix for a bug was actually included in a release. (This"},{"line_number":101,"context_line":"   will probably be implemented as several supporting scripts.)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. Create a new script in openstack-infra/release-tools to be run as"},{"line_number":104,"context_line":"   part of the post-merge job for openstack/releases."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_8178e1f3","line":101,"in_reply_to":"9a8ffd7b_4998e01b","updated":"2015-12-04 19:30:16.000000000","message":"Since we\u0027re using comments, we can still accommodate that. As fixes are backported, the \"Closes-Bug\" part of the commit message will go with the backport and be detected when the new stable branch release is tagged. Here\u0027s an example comment: https://bugs.launchpad.net/nova/+bug/1519001/comments/4","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"389a78cb2816dcadec91b1bc07d885b0dada1d40","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"What tests will be available or need to be constructed in order to"},{"line_number":169,"context_line":"validate this?  Unit/functional tests, development"},{"line_number":170,"context_line":"environments/servers, etc."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"Dependencies"},{"line_number":173,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_c907f01b","line":170,"updated":"2015-12-01 15:31:37.000000000","message":"This is boilerplate text, assumed to be replaced by the actual testing additions required (or \"None\").","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a6781c851617f41e2d9dd6e9bc1a05467a805cc8","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"What tests will be available or need to be constructed in order to"},{"line_number":169,"context_line":"validate this?  Unit/functional tests, development"},{"line_number":170,"context_line":"environments/servers, etc."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"Dependencies"},{"line_number":173,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_bccbc652","line":170,"in_reply_to":"9a8ffd7b_c907f01b","updated":"2015-12-04 19:30:16.000000000","message":"Done","commit_id":"232adbafe4df059276556e01d5eb5394d1b043a6"}]}
