)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"2ec656e3377e777daaa5b0e3cfea3e78e6676069","unresolved":false,"context_lines":[{"line_number":1624,"context_line":"        for security_group in security_groups:"},{"line_number":1625,"context_line":"            try:"},{"line_number":1626,"context_line":"                security_group_id \u003d security_group.id"},{"line_number":1627,"context_line":"            except NotImplementedError:"},{"line_number":1628,"context_line":"                if security_group.name \u003d\u003d default_group.name:"},{"line_number":1629,"context_line":"                    models.append(default_group)"},{"line_number":1630,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_9bc18683","line":1627,"updated":"2015-08-26 19:19:00.000000000","message":"Could you explain the NotImplementedError?  Hasn\u0027t the id attribute always been implemented on the SecurityGroup object?","commit_id":"6220ad97f1588eb7e206876804d861ce44f2822c"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"ffb2529df83caef7b7decddfcef0e7e0762e9a83","unresolved":false,"context_lines":[{"line_number":1624,"context_line":"        for security_group in security_groups:"},{"line_number":1625,"context_line":"            try:"},{"line_number":1626,"context_line":"                security_group_id \u003d security_group.id"},{"line_number":1627,"context_line":"            except NotImplementedError:"},{"line_number":1628,"context_line":"                if security_group.name \u003d\u003d default_group.name:"},{"line_number":1629,"context_line":"                    models.append(default_group)"},{"line_number":1630,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_b82f99a0","line":1627,"in_reply_to":"da20952f_9bc18683","updated":"2015-08-27 06:30:53.000000000","message":"Certainly. That\u0027s what Oslo VersionedObject throws instead of AttributeError when it doesn\u0027t have obj_load_attr method defined. You can think of it as of AttributeError here.","commit_id":"6220ad97f1588eb7e206876804d861ce44f2822c"}],"nova/tests/unit/objects/test_instance.py":[{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"246bbda05c64ba446d757cd7d325c5a9338e1064","unresolved":false,"context_lines":[{"line_number":951,"context_line":"        inst.create()"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    def test_create_with_group_ids(self):"},{"line_number":954,"context_line":"        self.mox.StubOutWithMock(db, \u0027instance_create\u0027)"},{"line_number":955,"context_line":"        fake_inst \u003d fake_instance.fake_db_instance()"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"        class HasGroupIds(mox.Comparator):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_048d2930","line":954,"updated":"2015-09-08 04:16:49.000000000","message":"AFAIK, mox is deprecated and we\u0027re trying to get rid of it. I\u0027d suggest to use normal mock.","commit_id":"77243a49f183133296211462b0d12a27ca7faeba"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"8701d9784d35742247f9200e0c72531728492e33","unresolved":false,"context_lines":[{"line_number":951,"context_line":"        inst.create()"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    def test_create_with_group_ids(self):"},{"line_number":954,"context_line":"        self.mox.StubOutWithMock(db, \u0027instance_create\u0027)"},{"line_number":955,"context_line":"        fake_inst \u003d fake_instance.fake_db_instance()"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"        class HasGroupIds(mox.Comparator):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_980f5a38","line":954,"in_reply_to":"da20952f_048d2930","updated":"2015-09-08 07:43:36.000000000","message":"Any suggestion how that would look like in this case?","commit_id":"77243a49f183133296211462b0d12a27ca7faeba"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"5f0adae614d9790777af9f413dbaec076014825a","unresolved":false,"context_lines":[{"line_number":951,"context_line":"        inst.create()"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    def test_create_with_group_ids(self):"},{"line_number":954,"context_line":"        self.mox.StubOutWithMock(db, \u0027instance_create\u0027)"},{"line_number":955,"context_line":"        fake_inst \u003d fake_instance.fake_db_instance()"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"        class HasGroupIds(mox.Comparator):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_cb68038b","line":954,"in_reply_to":"da20952f_09f7558d","updated":"2015-09-11 10:02:22.000000000","message":"Thanks, that\u0027s an interestin use of __eq__.","commit_id":"77243a49f183133296211462b0d12a27ca7faeba"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"4929c9a02c02ad94dce4c3c098a67c3346957fee","unresolved":false,"context_lines":[{"line_number":951,"context_line":"        inst.create()"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    def test_create_with_group_ids(self):"},{"line_number":954,"context_line":"        self.mox.StubOutWithMock(db, \u0027instance_create\u0027)"},{"line_number":955,"context_line":"        fake_inst \u003d fake_instance.fake_db_instance()"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"        class HasGroupIds(mox.Comparator):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_09f7558d","line":954,"in_reply_to":"da20952f_980f5a38","updated":"2015-09-08 23:32:52.000000000","message":"Hmm... something like this? https://github.com/nihilifer/nova/commit/7419b9178720ef2f524fa77c4815e5dfd2f7e474#diff-0a2b848463c02191454fbe1c06219ba9L917","commit_id":"77243a49f183133296211462b0d12a27ca7faeba"}]}
