)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339e6c3ad88b1fb96248ac4c6aaec19b5b756c32","unresolved":false,"context_lines":[{"line_number":7,"context_line":"New API for get service info from id"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add get-service-by-id.rst"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I93f81c0742cbf533c9aa143a30b6b17dc323b3ad"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3acd31a7_f4b9d8ed","line":10,"updated":"2015-04-29 14:08:22.000000000","message":"Missing the APIImpact tag from the spec template for API changes.","commit_id":"b594ef27c7e0e54b947f1866ec1ecb74686a4d93"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"d01aef356e149e73905eb415dd9e9679a05a3433","unresolved":false,"context_lines":[{"line_number":7,"context_line":"New API for get service info from id"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add get-service-by-id.rst"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I93f81c0742cbf533c9aa143a30b6b17dc323b3ad"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3acd31a7_5793eea3","line":10,"in_reply_to":"3acd31a7_f4b9d8ed","updated":"2015-04-29 14:19:43.000000000","message":"ok, got it","commit_id":"b594ef27c7e0e54b947f1866ec1ecb74686a4d93"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"a7134450043d7dfbc48db16f97e984114dac1c45","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"New API for get service info from id"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add get-service-by-id.rst"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"APIImpact"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"3a29b11f_d7f4c8f1","line":9,"updated":"2015-10-23 09:52:59.000000000","message":"nit: the commit title should match the spec and the commit message should be the introductory paragraph.","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"}],"specs/liberty/approved/get-service-by-id.rst":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"94f168eddb0e523407bee371b5bfe5b7f769937a","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"the proposed changes are support following:"},{"line_number":62,"context_line":"REQ: curl -i"},{"line_number":63,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services/1\u0027"},{"line_number":64,"context_line":"and response is something like:"},{"line_number":65,"context_line":"{\"services\":"},{"line_number":66,"context_line":"{\"status\": \"enabled\", \"binary\": \"nova-cert\", \"zone\": \"internal\", \"host\":"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_3b485a5b","line":63,"updated":"2015-04-20 02:05:11.000000000","message":"A little describe about what expect return status code when the service not found?","commit_id":"1f6934b7ebc4d4baf6c3064a0eceb3547fb2ac54"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"b8c3cac94334b0e2737a650c7f18bd1967c464ac","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"the proposed changes are support following:"},{"line_number":62,"context_line":"REQ: curl -i"},{"line_number":63,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services/1\u0027"},{"line_number":64,"context_line":"and response is something like:"},{"line_number":65,"context_line":"{\"services\":"},{"line_number":66,"context_line":"{\"status\": \"enabled\", \"binary\": \"nova-cert\", \"zone\": \"internal\", \"host\":"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5ad0253b_bf743bfd","line":63,"in_reply_to":"dac4157f_3b485a5b","updated":"2015-04-29 10:49:37.000000000","message":"Done","commit_id":"1f6934b7ebc4d4baf6c3064a0eceb3547fb2ac54"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"94f168eddb0e523407bee371b5bfe5b7f769937a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"{\"services\":"},{"line_number":66,"context_line":"{\"status\": \"enabled\", \"binary\": \"nova-cert\", \"zone\": \"internal\", \"host\":"},{"line_number":67,"context_line":"\"host1\", \"updated_at\": \"2015-04-10T12:52:01.000000\", \"state\": \"up\","},{"line_number":68,"context_line":"\"disabled_reason\": null, \"id\": 1}}"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_7b3ed2b9","line":68,"updated":"2015-04-20 02:05:11.000000000","message":"Better to provider a more readable format :)","commit_id":"1f6934b7ebc4d4baf6c3064a0eceb3547fb2ac54"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"b8c3cac94334b0e2737a650c7f18bd1967c464ac","unresolved":false,"context_lines":[{"line_number":65,"context_line":"{\"services\":"},{"line_number":66,"context_line":"{\"status\": \"enabled\", \"binary\": \"nova-cert\", \"zone\": \"internal\", \"host\":"},{"line_number":67,"context_line":"\"host1\", \"updated_at\": \"2015-04-10T12:52:01.000000\", \"state\": \"up\","},{"line_number":68,"context_line":"\"disabled_reason\": null, \"id\": 1}}"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5ad0253b_9f605f37","line":68,"in_reply_to":"dac4157f_7b3ed2b9","updated":"2015-04-29 10:49:37.000000000","message":"Done","commit_id":"1f6934b7ebc4d4baf6c3064a0eceb3547fb2ac54"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339e6c3ad88b1fb96248ac4c6aaec19b5b756c32","unresolved":false,"context_lines":[{"line_number":114,"context_line":"Other deployer impact"},{"line_number":115,"context_line":"---------------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"None"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Developer impact"},{"line_number":120,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3acd31a7_945ce4ee","line":117,"updated":"2015-04-29 14:08:22.000000000","message":"You should probably mention policy.json changes here, I\u0027m assuming this is admin only by default.","commit_id":"b594ef27c7e0e54b947f1866ec1ecb74686a4d93"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"d01aef356e149e73905eb415dd9e9679a05a3433","unresolved":false,"context_lines":[{"line_number":114,"context_line":"Other deployer impact"},{"line_number":115,"context_line":"---------------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"None"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Developer impact"},{"line_number":120,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3acd31a7_77682abb","line":117,"in_reply_to":"3acd31a7_945ce4ee","updated":"2015-04-29 14:19:43.000000000","message":"Done","commit_id":"b594ef27c7e0e54b947f1866ec1ecb74686a4d93"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"cddd4a9b955dc2a81051478190f346202c2ed161","unresolved":false,"context_lines":[{"line_number":46,"context_line":"REST API impact"},{"line_number":47,"context_line":"---------------"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"currently we support following API:"},{"line_number":50,"context_line":"REQ: curl -i"},{"line_number":51,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services\u0027"},{"line_number":52,"context_line":"and response is something like:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_16b77487","line":49,"updated":"2015-05-01 04:49:49.000000000","message":"better to note this is back-compatible change.","commit_id":"001e28fc2af1030f9d749c34c39172c8f84f5bc5"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"dedfdf2be1c0cf7f577de6ea611c82e18e698ead","unresolved":false,"context_lines":[{"line_number":46,"context_line":"REST API impact"},{"line_number":47,"context_line":"---------------"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"currently we support following API:"},{"line_number":50,"context_line":"REQ: curl -i"},{"line_number":51,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services\u0027"},{"line_number":52,"context_line":"and response is something like:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_e1bf66f9","line":49,"in_reply_to":"3acd31a7_16b77487","updated":"2015-05-04 14:44:22.000000000","message":"no, it\u0027s not a back-incompatible change for the delete\nnext patch will add this ,thanks","commit_id":"001e28fc2af1030f9d749c34c39172c8f84f5bc5"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"cddd4a9b955dc2a81051478190f346202c2ed161","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"::"},{"line_number":85,"context_line":"   {"},{"line_number":86,"context_line":"       \"services\":"},{"line_number":87,"context_line":"       {"},{"line_number":88,"context_line":"           \"status\": \"enabled\","},{"line_number":89,"context_line":"           \"binary\": \"nova-cert\","}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_56bdec66","line":86,"updated":"2015-05-01 04:49:49.000000000","message":"this should be \u0027service\u0027, not \u0027services\u0027","commit_id":"001e28fc2af1030f9d749c34c39172c8f84f5bc5"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"dedfdf2be1c0cf7f577de6ea611c82e18e698ead","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"::"},{"line_number":85,"context_line":"   {"},{"line_number":86,"context_line":"       \"services\":"},{"line_number":87,"context_line":"       {"},{"line_number":88,"context_line":"           \"status\": \"enabled\","},{"line_number":89,"context_line":"           \"binary\": \"nova-cert\","}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_a1384ea1","line":86,"in_reply_to":"3acd31a7_56bdec66","updated":"2015-05-04 14:44:22.000000000","message":"Done","commit_id":"001e28fc2af1030f9d749c34c39172c8f84f5bc5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f932e002354edf7534dd93bb13c6e9636c2f55b9","unresolved":false,"context_lines":[{"line_number":96,"context_line":"       }"},{"line_number":97,"context_line":"   }"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"if no service with given id was found, the HTTPNotFound (404) will be returned."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_9db407d2","line":99,"updated":"2015-04-29 14:58:47.000000000","message":"There is a problem with this once we have cellsv2 I think. We might end up with services in multiple cells with the same id. Right now, this doesn\u0027t matter (I guess) because we don\u0027t query by id.\n\nHow about we add a service.uuid field (which would be good anyway) and then allow querying for one service by that instead?","commit_id":"001e28fc2af1030f9d749c34c39172c8f84f5bc5"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"bfba05030ab91b4e1517aafb764e3cbb1e03f4fb","unresolved":false,"context_lines":[{"line_number":96,"context_line":"       }"},{"line_number":97,"context_line":"   }"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"if no service with given id was found, the HTTPNotFound (404) will be returned."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_8e05c8c3","line":99,"in_reply_to":"3acd31a7_86202cf9","updated":"2015-04-30 13:29:53.000000000","message":"so the suggestion is the add a UUId and considering delete the service only by its uuid because id itself might have conflict due to cellv2? \n\nand also, in addition to using uuid, another possibility is the accept hostname and binary to get the service ,right?","commit_id":"001e28fc2af1030f9d749c34c39172c8f84f5bc5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"fdbb047635600bad42ce1a53408818510cc1724b","unresolved":false,"context_lines":[{"line_number":96,"context_line":"       }"},{"line_number":97,"context_line":"   }"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"if no service with given id was found, the HTTPNotFound (404) will be returned."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_86202cf9","line":99,"in_reply_to":"3acd31a7_9db407d2","updated":"2015-04-29 19:57:38.000000000","message":"Since the delete method accepts an ID, I think providing an UUID sounds a good idea for the cells v2 effort. \n\nThat said, for that spec I would rather be in favor of providing an action method passing the host name and the binary name so we could get a specific service which would be how the current services are called within Nova (not by their ID, but rather by their hostname and their topic/binary)","commit_id":"001e28fc2af1030f9d749c34c39172c8f84f5bc5"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"bfba05030ab91b4e1517aafb764e3cbb1e03f4fb","unresolved":false,"context_lines":[{"line_number":96,"context_line":"       }"},{"line_number":97,"context_line":"   }"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"if no service with given id was found, the HTTPNotFound (404) will be returned."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_eec1dc81","line":99,"in_reply_to":"3acd31a7_9db407d2","updated":"2015-04-30 13:29:53.000000000","message":"yes, sounds a good plan to me , let me think about it and add more info into spec, thanks","commit_id":"001e28fc2af1030f9d749c34c39172c8f84f5bc5"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"123cf8a08e92c34ebc12f6c85e33d4326e04c257","unresolved":false,"context_lines":[{"line_number":22,"context_line":"----------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"User who want to get service of a specified uuid to do further actions e.g"},{"line_number":25,"context_line":"get the service status, nova can delete the service by using the uuid."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Project Priority"},{"line_number":28,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9af37de9_0a409c55","line":25,"updated":"2015-05-11 12:52:57.000000000","message":"I think you really need to go back to your original use case here, something like:\n\nUser wants to get the details about a specific service, without having to list all services.","commit_id":"6096ec4e944f2f60710b743d826ae32d1ed9c147"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"33ef902dc83fdc2757e520a9fc5a1090df0e669f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"----------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"User who want to get service of a specified uuid to do further actions e.g"},{"line_number":25,"context_line":"get the service status, nova can delete the service by using the uuid."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Project Priority"},{"line_number":28,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a0c5dc1_84ac97ee","line":25,"in_reply_to":"9af37de9_0a409c55","updated":"2015-05-12 09:28:02.000000000","message":"ok, updated","commit_id":"6096ec4e944f2f60710b743d826ae32d1ed9c147"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"123cf8a08e92c34ebc12f6c85e33d4326e04c257","unresolved":false,"context_lines":[{"line_number":85,"context_line":"           \"disabled_reason\": null,"},{"line_number":86,"context_line":"           \"id\": 2"},{"line_number":87,"context_line":"       }"},{"line_number":88,"context_line":"   }"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The proposed changes are add API to support following:"},{"line_number":91,"context_line":"REQ : curl -X GET -i"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9af37de9_4a30e456","line":88,"updated":"2015-05-11 12:52:57.000000000","message":"should we not add uuid into the above information, as with the /detail endpoint as well?\n\nShould we not add cell into this information too?","commit_id":"6096ec4e944f2f60710b743d826ae32d1ed9c147"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"33ef902dc83fdc2757e520a9fc5a1090df0e669f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"           \"disabled_reason\": null,"},{"line_number":86,"context_line":"           \"id\": 2"},{"line_number":87,"context_line":"       }"},{"line_number":88,"context_line":"   }"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The proposed changes are add API to support following:"},{"line_number":91,"context_line":"REQ : curl -X GET -i"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a0c5dc1_24d04b53","line":88,"in_reply_to":"9af37de9_4a30e456","updated":"2015-05-12 09:28:02.000000000","message":"uuid should be returned , thanks\ncell info might be a little bit out of scope , so I think cellv2 people can take a look and see additional info needed","commit_id":"6096ec4e944f2f60710b743d826ae32d1ed9c147"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"123cf8a08e92c34ebc12f6c85e33d4326e04c257","unresolved":false,"context_lines":[{"line_number":112,"context_line":"If no service with given uuid found, the HTTPNotFound (404) will be returned."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The other proposed changes are change delete API:"},{"line_number":115,"context_line":"this is a backward-incompatible change."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"REQ: curl -X DELETE"},{"line_number":118,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services/uuid\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9af37de9_2ae7e0e5","line":115,"updated":"2015-05-11 12:52:57.000000000","message":"Why is it incompatible, surely we could accept both id and uuid, if we wanted to? Picking which one based on the presence of the character \"-\"","commit_id":"6096ec4e944f2f60710b743d826ae32d1ed9c147"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"33ef902dc83fdc2757e520a9fc5a1090df0e669f","unresolved":false,"context_lines":[{"line_number":112,"context_line":"If no service with given uuid found, the HTTPNotFound (404) will be returned."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The other proposed changes are change delete API:"},{"line_number":115,"context_line":"this is a backward-incompatible change."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"REQ: curl -X DELETE"},{"line_number":118,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services/uuid\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a0c5dc1_a44b1b2b","line":115,"in_reply_to":"9af37de9_2ae7e0e5","updated":"2015-05-12 09:28:02.000000000","message":"I am not very familiar with cellv2\nas they mentioned, there might be duplicate id in different cell\n\nWould be a problem if id is duplicated..","commit_id":"6096ec4e944f2f60710b743d826ae32d1ed9c147"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"383c1c6909d3fd639c2f8095ccb62d1d5d45134a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Add an uuid field to service model, including offline upgrade process."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"::"},{"line_number":41,"context_line":"  class Service(BASE, NovaBase):"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_510f6ae1","line":38,"updated":"2015-06-05 15:12:35.000000000","message":"What do you mean by \"offline upgrade process\".\n\nThe idea is to keep everything online.","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"d59726fdc71090487f887b9aab872eff3c72693d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Add an uuid field to service model, including offline upgrade process."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"::"},{"line_number":41,"context_line":"  class Service(BASE, NovaBase):"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_2ea7410c","line":38,"in_reply_to":"3afb71cf_11f9f280","updated":"2015-06-10 15:11:37.000000000","message":"yes, right, I mean online ..sorry","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0af2affb47d3dbcd718b1746810bb1c7aabdfd70","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Add an uuid field to service model, including offline upgrade process."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"::"},{"line_number":41,"context_line":"  class Service(BASE, NovaBase):"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_11f9f280","line":38,"in_reply_to":"3afb71cf_510f6ae1","updated":"2015-06-05 15:24:00.000000000","message":"Yeah, this can\u0027t include an \"offline upgrade process\" IMHO.","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"383c1c6909d3fd639c2f8095ccb62d1d5d45134a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"::"},{"line_number":41,"context_line":"  class Service(BASE, NovaBase):"},{"line_number":42,"context_line":"  ..."},{"line_number":43,"context_line":"  uuid \u003d Column(String(36), nullable\u003dFalse)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add a new API to enable serivce get by using its uuid."},{"line_number":46,"context_line":"Change the existing API to enable delete a service by its uuid"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_91d3a238","line":43,"updated":"2015-06-05 15:12:35.000000000","message":"What about a unique constraint on here, to match the instance uuid?","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"d59726fdc71090487f887b9aab872eff3c72693d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"::"},{"line_number":41,"context_line":"  class Service(BASE, NovaBase):"},{"line_number":42,"context_line":"  ..."},{"line_number":43,"context_line":"  uuid \u003d Column(String(36), nullable\u003dFalse)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add a new API to enable serivce get by using its uuid."},{"line_number":46,"context_line":"Change the existing API to enable delete a service by its uuid"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_aeb3314c","line":43,"in_reply_to":"3afb71cf_91d3a238","updated":"2015-06-10 15:11:37.000000000","message":"ok, will add it","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"383c1c6909d3fd639c2f8095ccb62d1d5d45134a","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Data model impact"},{"line_number":56,"context_line":"-----------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"None"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"REST API impact"},{"line_number":61,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_d16c7a9e","line":58,"updated":"2015-06-05 15:12:35.000000000","message":"So this is where you should include adding the uuid, etc.","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"383c1c6909d3fd639c2f8095ccb62d1d5d45134a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"-----------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"None"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"REST API impact"},{"line_number":61,"context_line":"---------------"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_51264a69","line":59,"updated":"2015-06-05 15:12:35.000000000","message":"You need to discuss how the online data migration will work, to add in the missing uuids that will be required.\n\nThe problem is, if you add a non-nullable column, with a unique constraint, what will the default value be...\n\nHmm, a tricky one.","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0af2affb47d3dbcd718b1746810bb1c7aabdfd70","unresolved":false,"context_lines":[{"line_number":56,"context_line":"-----------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"None"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"REST API impact"},{"line_number":61,"context_line":"---------------"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_f122d6b8","line":59,"in_reply_to":"3afb71cf_51264a69","updated":"2015-06-05 15:24:00.000000000","message":"Can we make it nullable and unique? That way we can make the transition to storing uuids in lemming and then add the unique constraint in M, requiring all migrations to have happened already (like we did in lemming for flavors).","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"d59726fdc71090487f887b9aab872eff3c72693d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"-----------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"None"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"REST API impact"},{"line_number":61,"context_line":"---------------"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_ce542dcb","line":59,"in_reply_to":"3afb71cf_f122d6b8","updated":"2015-06-10 15:11:37.000000000","message":"ok, let me do this accordingly\n\nby the way, what\u0027s the meaning of lemming ? Liberty? \nThanks a lot~","commit_id":"c34c4bfd4c904858667c7fe147dab0555d4bad75"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7672759d98a538474a2df6825bff288d326cca96","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"See proposed change chapter for Data model update."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"For online migration, a column like following will be added to"},{"line_number":66,"context_line":"Service table. So all the uuids will be stored in the table."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1af86dd1_d23fe323","line":65,"updated":"2015-06-12 13:59:29.000000000","message":"you are talking about the schema migration here, I think, as opposed to the data migration.","commit_id":"801cc16a6f80f64eca4e0396d900193751df2346"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7672759d98a538474a2df6825bff288d326cca96","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Service table. So all the uuids will be stored in the table."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"::"},{"line_number":69,"context_line":"  uuid \u003d Column(String(36), nullable\u003dTrue, unique\u003dTrue)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"REST API impact"},{"line_number":72,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1af86dd1_92204bf9","line":69,"updated":"2015-06-12 13:59:29.000000000","message":"I don\u0027t think you can add that online, because you could only ever add that on an empty table.\n\nI suspect you will probably want to drop the nullable and unique until a future release, where the online data migration has completed and filled in all the empty columns. We could get that system to add the constraint once the data migration is complete, I guess, but thats a bit messy.\n\nWe still are yet to write up a plan to copy on how to do this, so it make take a few iterations.","commit_id":"801cc16a6f80f64eca4e0396d900193751df2346"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7adaabb78315bfb09e1e953fbe4249c038ad97f","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"::"},{"line_number":69,"context_line":"  uuid \u003d Column(String(36), nullable\u003dTrue, unique\u003dTrue)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"REST API impact"},{"line_number":72,"context_line":"---------------"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa32b979_ee4c4178","line":70,"updated":"2015-06-22 15:30:26.000000000","message":"Also the tooz effort and zookeeper/memcache work are all affected here, because they don\u0027t really use the DB.","commit_id":"801cc16a6f80f64eca4e0396d900193751df2346"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"19141762b98a022efb932de87984f028b9146de4","unresolved":false,"context_lines":[{"line_number":184,"context_line":"----------"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"Add DB migraiton scripts to add uuid of services."},{"line_number":187,"context_line":"Add DB update for services."},{"line_number":188,"context_line":"Add API as above mentioned, it will only make changes on v2.1 microversion,"},{"line_number":189,"context_line":"no v2 change will be added."},{"line_number":190,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"1af86dd1_371d0974","line":187,"updated":"2015-06-12 13:43:45.000000000","message":"I\u0027m particularly concerned about the data update of that, since some clouds can have thousands of services.\n\nHow do you plan to manage the upgrade? I\u0027m thinking of something done in the Service object on the fly, any time its .save() method is called.","commit_id":"801cc16a6f80f64eca4e0396d900193751df2346"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"652e30837167a5831c51c4efe3406e88b11cf4e8","unresolved":false,"context_lines":[{"line_number":184,"context_line":"----------"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"Add DB migraiton scripts to add uuid of services."},{"line_number":187,"context_line":"Add DB update for services."},{"line_number":188,"context_line":"Add API as above mentioned, it will only make changes on v2.1 microversion,"},{"line_number":189,"context_line":"no v2 change will be added."},{"line_number":190,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa32b979_f8bbbc0c","line":187,"in_reply_to":"1af86dd1_371d0974","updated":"2015-06-15 17:33:35.000000000","message":"thanks for raising this out, I havn\u0027t pay attention to this before\nI will dig more to be bp John mentioned below","commit_id":"801cc16a6f80f64eca4e0396d900193751df2346"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7672759d98a538474a2df6825bff288d326cca96","unresolved":false,"context_lines":[{"line_number":191,"context_line":"Dependencies"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"None"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Testing"},{"line_number":197,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1af86dd1_d2d123fd","line":194,"updated":"2015-06-12 13:59:29.000000000","message":"So this is an important one this release:\nhttps://review.openstack.org/#/c/190322/6/specs/liberty/approved/servicegroup-api-control-plane.rst,cm\n\nI think you are going to have wait till that gets merged please. Otherwise the merge conflicts are going to be terrible.\n\nWe could try do it at the same time, and add your things into the service group API, but I am a bit worried about that.","commit_id":"801cc16a6f80f64eca4e0396d900193751df2346"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"652e30837167a5831c51c4efe3406e88b11cf4e8","unresolved":false,"context_lines":[{"line_number":191,"context_line":"Dependencies"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"None"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Testing"},{"line_number":197,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa32b979_78f80ce6","line":194,"in_reply_to":"1af86dd1_d2d123fd","updated":"2015-06-15 17:33:35.000000000","message":"ok , I am fine if we are risk to do things in parallel \nI can keep enhancing the bp until the service group api is done","commit_id":"801cc16a6f80f64eca4e0396d900193751df2346"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7adaabb78315bfb09e1e953fbe4249c038ad97f","unresolved":false,"context_lines":[{"line_number":191,"context_line":"Dependencies"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"None"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Testing"},{"line_number":197,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa32b979_eb175352","line":194,"in_reply_to":"fa32b979_78f80ce6","updated":"2015-06-22 15:30:26.000000000","message":"can you please update the spec to add in this dependency , lets call it a soft dependency.","commit_id":"801cc16a6f80f64eca4e0396d900193751df2346"}],"specs/mitaka/approved/get-service-by-id.rst":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"593614b30819adab235a314bd0c2d88115dd2f9e","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, nova use \u0027id\u0027 which is an integer to distinct the serivce."},{"line_number":18,"context_line":"After cellv2, we might end up with services in multiple cells with the same"},{"line_number":19,"context_line":"id, this will make distinct services and query become difficult."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_6caea682","line":19,"updated":"2015-10-21 12:32:14.000000000","message":"host + binary is still unique, right? I guess I\u0027m not sure why that isn\u0027t sufficient to distinguish things here.","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"08e80dadadf8df1d59c106ebecc739ed65e1508b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  schema.UniqueConstraint("},{"line_number":47,"context_line":"    \"uuid\","},{"line_number":48,"context_line":"    name\u003d\"uniq_instance_uuid\"),"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Add a new API to enable serivce get by using its uuid."},{"line_number":51,"context_line":"Change the existing API to enable delete a service by its uuid."}],"source_content_type":"text/x-rst","patch_set":11,"id":"ba15a1d1_1d608500","line":48,"updated":"2015-09-23 11:14:49.000000000","message":"I don\u0027t think we can add the unique constraint until the next release, as well will need to async add uuids to the old entries.","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67310ed8b98b231319247f621a32a93d2eecae3a","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  schema.UniqueConstraint("},{"line_number":47,"context_line":"    \"uuid\","},{"line_number":48,"context_line":"    name\u003d\"uniq_instance_uuid\"),"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Add a new API to enable serivce get by using its uuid."},{"line_number":51,"context_line":"Change the existing API to enable delete a service by its uuid."}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a2ca52d_e1e4d6ac","line":48,"in_reply_to":"9a1a9d01_42a63611","updated":"2015-10-16 20:05:31.000000000","message":"Yup, Dan, since we update the service each minute, we can make sure that all the running services are updated with the UUID. That said, I wonder about dead services that could be respawning by Nxxx... \n\nJust looking at nova.service, maybe adding an else statement to https://github.com/openstack/nova/blob/ec59ea8db7cc4aa6f4751a12483b179677369a7a/nova/service.py#L169-L178 by saying service.save() could do the data migration before the Service is really updated, thoughts ?","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b3b8134c74910e62d20113a045b1b199df709138","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  schema.UniqueConstraint("},{"line_number":47,"context_line":"    \"uuid\","},{"line_number":48,"context_line":"    name\u003d\"uniq_instance_uuid\"),"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Add a new API to enable serivce get by using its uuid."},{"line_number":51,"context_line":"Change the existing API to enable delete a service by its uuid."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a1a9d01_42a63611","line":48,"in_reply_to":"ba15a1d1_1d608500","updated":"2015-09-28 17:11:17.000000000","message":"Right, I think we need to:\n\n 1. Add the column, nullable\n 2. Add it to the object, allocate a uuid during save\n 3. Wait for N, add the unique constraint\n\nI think that we don\u0027t need a nova-manage command because all services can be updated when we do their liveness updates, so within a few minutes, all services will have uuids, right?\n\nAlso, we might be able to provide uniqueness ourselves by making sure that a uuid is not already used when we do the update, right?\n\nWe will need a check in the migration to add the unique constraint of course.","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"08e80dadadf8df1d59c106ebecc739ed65e1508b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Service table. So all the uuids will be stored in the table."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"::"},{"line_number":69,"context_line":"  uuid \u003d Column(String(36), nullable\u003dTrue, unique\u003dTrue)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"REST API impact"},{"line_number":72,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ba15a1d1_7d3d01dc","line":69,"updated":"2015-09-23 11:14:49.000000000","message":"see above.","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ad146f9295c49e034d4667456fb9a51baae4eb7c","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"The proposed changes are add API to support following:"},{"line_number":107,"context_line":"REQ : curl -X GET -i"},{"line_number":108,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services/uuid\u0027"},{"line_number":109,"context_line":"and response is something like:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_0b77eed3","line":108,"updated":"2015-10-21 03:36:56.000000000","message":"Thinking of we have some action work like this \"PUT \u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services/force-down\u0027\", then it use host and binary to distinguish the service which are in the request body.\n\nIs there any chance we use unify way to operate service for those action also?","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"08e80dadadf8df1d59c106ebecc739ed65e1508b","unresolved":false,"context_lines":[{"line_number":134,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services/uuid\u0027"},{"line_number":135,"context_line":"and response is 204 if the delete is success or the uuid not found, 404 will be"},{"line_number":136,"context_line":"returned."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Security impact"},{"line_number":140,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ba15a1d1_40129458","line":137,"updated":"2015-09-23 11:14:49.000000000","message":"We need to add all these changes as a new microversion now, please update that.","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67310ed8b98b231319247f621a32a93d2eecae3a","unresolved":false,"context_lines":[{"line_number":134,"context_line":"\u0027http://xx.xx.xx.xx:8774/v2/768cacb71c464bf79e42ca256dc43cee/os-services/uuid\u0027"},{"line_number":135,"context_line":"and response is 204 if the delete is success or the uuid not found, 404 will be"},{"line_number":136,"context_line":"returned."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Security impact"},{"line_number":140,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a2ca52d_81eac272","line":137,"in_reply_to":"ba15a1d1_40129458","updated":"2015-10-16 20:05:31.000000000","message":"++ please mention that you\u0027ll add a microversion with a backwards compatibility not returning the service uuid","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67310ed8b98b231319247f621a32a93d2eecae3a","unresolved":false,"context_lines":[{"line_number":150,"context_line":"---------------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The developer will be able to query services by uuid, and, use the"},{"line_number":153,"context_line":"uuid instead of id to delete the service."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Performance Impact"},{"line_number":156,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a2ca52d_e1fb7645","line":153,"updated":"2015-10-16 20:05:31.000000000","message":"not sure it\u0027s needed to say that","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67310ed8b98b231319247f621a32a93d2eecae3a","unresolved":false,"context_lines":[{"line_number":165,"context_line":"Following default rule will be kept."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"::"},{"line_number":168,"context_line":" \"os_compute_api:os-services\": \"rule:admin_api\","},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Developer impact"},{"line_number":171,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5a2ca52d_c1c2fae8","line":168,"updated":"2015-10-16 20:05:31.000000000","message":"Meh, it doesn\u0027t change, right ? https://github.com/openstack/nova/blob/09a55e2bf4f3d5df3b76454f4839e2ce96f9d42f/etc/nova/policy.json#L443\n\nSo you should just put None here IMO.","commit_id":"7c7d158fc7bbf7167b526af89240cf41ec861ea7"}]}
