)]}'
{"nova/api/openstack/compute/schemas/v3/security_groups.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"fbd086992581cbf2bd24e0ed2e8ec110d1ec970e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        \u0027items\u0027: {"},{"line_number":19,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":20,"context_line":"            \u0027properties\u0027: {"},{"line_number":21,"context_line":"                \u0027name\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 255},"},{"line_number":22,"context_line":"            },"},{"line_number":23,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":24,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F9a%2BA%3D","line":21,"updated":"2014-02-07 01:10:27.000000000","message":"I05391a03f383cac1d475cd4266cf7f5ced664f9e has been merged.\n\nSo we can replace here to parameter_types.name because of API consistency.","commit_id":"aa3b104416fab404b1b607fb7418bcf0aabf50e2"}],"nova/tests/api/openstack/compute/plugins/v3/test_security_groups.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f522ccb73a2fd203384b07e1ed63cf1c65be73c4","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            override_controller\u003dself.no_security_groups_controller)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_create_with_invalid_key_security_group(self):"},{"line_number":335,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":336,"context_line":"        param \u003d {security_groups.ATTRIBUTE_NAME: [{\u0027names\u0027: \u0027group\u0027}]}"},{"line_number":337,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":338,"context_line":"                          self._test_create_extra, param)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F9hDg%3D","line":335,"updated":"2014-02-06 11:21:21.000000000","message":"This old_create seems unused, should we remove it?","commit_id":"f6e95ab5be633d183e3991a63e869d315a1b82ac"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"1365f3687e1e31067e2353fc33e126b108c283b8","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            override_controller\u003dself.no_security_groups_controller)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_create_with_invalid_key_security_group(self):"},{"line_number":335,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":336,"context_line":"        param \u003d {security_groups.ATTRIBUTE_NAME: [{\u0027names\u0027: \u0027group\u0027}]}"},{"line_number":337,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":338,"context_line":"                          self._test_create_extra, param)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F9g0M%3D","line":335,"in_reply_to":"AAAAUH%2F9hDg%3D","updated":"2014-02-06 12:06:19.000000000","message":"Thanks. I will remove this.","commit_id":"f6e95ab5be633d183e3991a63e869d315a1b82ac"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f522ccb73a2fd203384b07e1ed63cf1c65be73c4","unresolved":false,"context_lines":[{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_create_with_invalid_key_security_group(self):"},{"line_number":335,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":336,"context_line":"        param \u003d {security_groups.ATTRIBUTE_NAME: [{\u0027names\u0027: \u0027group\u0027}]}"},{"line_number":337,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":338,"context_line":"                          self._test_create_extra, param)"},{"line_number":339,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F9hBg%3D","line":336,"updated":"2014-02-06 11:21:21.000000000","message":"nit: better to change \u0027names\u0027 to the other word such as \u0027invalid\u0027 for readability.\nI was a little confused because I misunderstood this seems valid.","commit_id":"f6e95ab5be633d183e3991a63e869d315a1b82ac"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"1365f3687e1e31067e2353fc33e126b108c283b8","unresolved":false,"context_lines":[{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_create_with_invalid_key_security_group(self):"},{"line_number":335,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":336,"context_line":"        param \u003d {security_groups.ATTRIBUTE_NAME: [{\u0027names\u0027: \u0027group\u0027}]}"},{"line_number":337,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":338,"context_line":"                          self._test_create_extra, param)"},{"line_number":339,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F9gyA%3D","line":336,"in_reply_to":"AAAAUH%2F9hBg%3D","updated":"2014-02-06 12:06:19.000000000","message":"I will change the key to other which we will be able to recognize it as invalid with a glance.","commit_id":"f6e95ab5be633d183e3991a63e869d315a1b82ac"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f522ccb73a2fd203384b07e1ed63cf1c65be73c4","unresolved":false,"context_lines":[{"line_number":338,"context_line":"                          self._test_create_extra, param)"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    def test_create_with_no_string_value_security_group(self):"},{"line_number":341,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":342,"context_line":"        param \u003d {security_groups.ATTRIBUTE_NAME: [{\u0027name\u0027: 12345}]}"},{"line_number":343,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":344,"context_line":"                          self._test_create_extra, param)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F9hDc%3D","line":341,"updated":"2014-02-06 11:21:21.000000000","message":"ditto","commit_id":"f6e95ab5be633d183e3991a63e869d315a1b82ac"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"1365f3687e1e31067e2353fc33e126b108c283b8","unresolved":false,"context_lines":[{"line_number":338,"context_line":"                          self._test_create_extra, param)"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    def test_create_with_no_string_value_security_group(self):"},{"line_number":341,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":342,"context_line":"        param \u003d {security_groups.ATTRIBUTE_NAME: [{\u0027name\u0027: 12345}]}"},{"line_number":343,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":344,"context_line":"                          self._test_create_extra, param)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F9g0A%3D","line":341,"in_reply_to":"AAAAUH%2F9hDc%3D","updated":"2014-02-06 12:06:19.000000000","message":"ditto","commit_id":"f6e95ab5be633d183e3991a63e869d315a1b82ac"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f522ccb73a2fd203384b07e1ed63cf1c65be73c4","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                          self._test_create_extra, param)"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    def test_create_with_too_long_value_security_group(self):"},{"line_number":347,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":348,"context_line":"        param \u003d {security_groups.ATTRIBUTE_NAME: [{\u0027name\u0027: (\u0027a\u0027 * 260)}]}"},{"line_number":349,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":350,"context_line":"                          self._test_create_extra, param)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F9hDU%3D","line":347,"updated":"2014-02-06 11:21:21.000000000","message":"ditto","commit_id":"f6e95ab5be633d183e3991a63e869d315a1b82ac"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"1365f3687e1e31067e2353fc33e126b108c283b8","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                          self._test_create_extra, param)"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    def test_create_with_too_long_value_security_group(self):"},{"line_number":347,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":348,"context_line":"        param \u003d {security_groups.ATTRIBUTE_NAME: [{\u0027name\u0027: (\u0027a\u0027 * 260)}]}"},{"line_number":349,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":350,"context_line":"                          self._test_create_extra, param)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F9gz4%3D","line":347,"in_reply_to":"AAAAUH%2F9hDU%3D","updated":"2014-02-06 12:06:19.000000000","message":"ditto","commit_id":"f6e95ab5be633d183e3991a63e869d315a1b82ac"}]}
