)]}'
{"nova/tests/db/test_db_api.py":[{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"d4d44a17e279236dc8e5f00a2bde5a1ff934f02f","unresolved":false,"context_lines":[{"line_number":4642,"context_line":"                                                   self.instance[\u0027uuid\u0027])"},{"line_number":4643,"context_line":"        self.assertEqual(metadata, {\u0027new_key\u0027: \u0027new_value\u0027})"},{"line_number":4644,"context_line":""},{"line_number":4645,"context_line":"    @test.testtools.skip(\"bug 1189462\")"},{"line_number":4646,"context_line":"    def test_instance_system_metadata_update_nonexistent(self):"},{"line_number":4647,"context_line":"        self.assertRaises(exception.InstanceNotFound,"},{"line_number":4648,"context_line":"                          db.instance_system_metadata_update,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fykk%3D","line":4645,"updated":"2013-06-10 16:47:22.000000000","message":"It would be nice to fix this instead of just skipping it...","commit_id":"cf7f74b856a95d51d16dc26f5df6272dde4da9b1"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"02bc69a533ebf6ad2d977a39bb7bb8e7a1118112","unresolved":false,"context_lines":[{"line_number":4642,"context_line":"                                                   self.instance[\u0027uuid\u0027])"},{"line_number":4643,"context_line":"        self.assertEqual(metadata, {\u0027new_key\u0027: \u0027new_value\u0027})"},{"line_number":4644,"context_line":""},{"line_number":4645,"context_line":"    @test.testtools.skip(\"bug 1189462\")"},{"line_number":4646,"context_line":"    def test_instance_system_metadata_update_nonexistent(self):"},{"line_number":4647,"context_line":"        self.assertRaises(exception.InstanceNotFound,"},{"line_number":4648,"context_line":"                          db.instance_system_metadata_update,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fs7k%3D","line":4645,"in_reply_to":"AAAAPX%2F%2Fykk%3D","updated":"2013-06-12 14:02:16.000000000","message":"patch is coming soon","commit_id":"cf7f74b856a95d51d16dc26f5df6272dde4da9b1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"98a27855b1d9cdfa94ad4c6b3f5066bf7473e088","unresolved":false,"context_lines":[{"line_number":1989,"context_line":"        metadata \u003d db.instance_system_metadata_get(self.ctxt,"},{"line_number":1990,"context_line":"                                                   self.instance[\u0027uuid\u0027])"},{"line_number":1991,"context_line":"        self.assertEqual(metadata, {\u0027new_key\u0027: \u0027new_value\u0027})"},{"line_number":1992,"context_line":""},{"line_number":1993,"context_line":""},{"line_number":1994,"context_line":"class ReservationTestCase(test.TestCase, ModelsObjectComparatorMixin):"},{"line_number":1995,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPX%2F%2FvXE%3D","line":1992,"updated":"2013-06-11 16:21:05.000000000","message":"I see you deleted that \u0027nonexistent\u0027 test from the previous patch set.  Was it invalid?","commit_id":"08e1f177dd41801daa270793113fff0550b97835"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"1409f33836e9145594df4185536df38e704d08d0","unresolved":false,"context_lines":[{"line_number":1989,"context_line":"        metadata \u003d db.instance_system_metadata_get(self.ctxt,"},{"line_number":1990,"context_line":"                                                   self.instance[\u0027uuid\u0027])"},{"line_number":1991,"context_line":"        self.assertEqual(metadata, {\u0027new_key\u0027: \u0027new_value\u0027})"},{"line_number":1992,"context_line":""},{"line_number":1993,"context_line":""},{"line_number":1994,"context_line":"class ReservationTestCase(test.TestCase, ModelsObjectComparatorMixin):"},{"line_number":1995,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPX%2F%2FtmI%3D","line":1992,"in_reply_to":"AAAAPX%2F%2FvXE%3D","updated":"2013-06-12 07:32:44.000000000","message":"oh, yes. thanks","commit_id":"08e1f177dd41801daa270793113fff0550b97835"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"0d14a4c80e349c4fbece8e5735bb265a04504f9d","unresolved":false,"context_lines":[{"line_number":1974,"context_line":"                                                   self.instance[\u0027uuid\u0027])"},{"line_number":1975,"context_line":"        self.assertEqual(metadata, {\u0027key\u0027: \u0027value\u0027, \u0027new_key\u0027: \u0027new_value\u0027})"},{"line_number":1976,"context_line":""},{"line_number":1977,"context_line":"    def test_instance_system_metadata_update_existent_pair(self):"},{"line_number":1978,"context_line":"        db.instance_system_metadata_update("},{"line_number":1979,"context_line":"                    self.ctxt, self.instance[\u0027uuid\u0027],"},{"line_number":1980,"context_line":"                    {\u0027new_key\u0027: \u0027new_value\u0027}, True)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPX%2F%2FogE%3D","line":1977,"updated":"2013-06-13 21:01:51.000000000","message":"This test is the same as the one below.  I\u0027m guessing you meant to update with {\u0027key\u0027: \u0027value\u0027}","commit_id":"5361da9b3cb6be3c7ad0f26c216a9ec298773f6d"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"b9769745ec668d9613774daec54eb5877fd6d0d5","unresolved":false,"context_lines":[{"line_number":1974,"context_line":"                                                   self.instance[\u0027uuid\u0027])"},{"line_number":1975,"context_line":"        self.assertEqual(metadata, {\u0027key\u0027: \u0027value\u0027, \u0027new_key\u0027: \u0027new_value\u0027})"},{"line_number":1976,"context_line":""},{"line_number":1977,"context_line":"    def test_instance_system_metadata_update_existent_pair(self):"},{"line_number":1978,"context_line":"        db.instance_system_metadata_update("},{"line_number":1979,"context_line":"                    self.ctxt, self.instance[\u0027uuid\u0027],"},{"line_number":1980,"context_line":"                    {\u0027new_key\u0027: \u0027new_value\u0027}, True)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPX%2F%2FnuE%3D","line":1977,"in_reply_to":"AAAAPX%2F%2FogE%3D","updated":"2013-06-14 06:43:36.000000000","message":"Done","commit_id":"5361da9b3cb6be3c7ad0f26c216a9ec298773f6d"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"0676637fddf9fce13d06bc35140d8af06759a631","unresolved":false,"context_lines":[{"line_number":1627,"context_line":"    def setUp(self):"},{"line_number":1628,"context_line":"        super(InstanceSystemMetadataTestCase, self).setUp()"},{"line_number":1629,"context_line":"        self.ctxt \u003d context.get_admin_context()"},{"line_number":1630,"context_line":"        self.instance \u003d db.instance_create(self.ctxt, {\u0027host\u0027: \u0027h1\u0027,"},{"line_number":1631,"context_line":"                    \u0027project_id\u0027: \u0027p1\u0027, \u0027system_metadata\u0027: {\u0027key\u0027: \u0027value\u0027}})"},{"line_number":1632,"context_line":""},{"line_number":1633,"context_line":"    def test_instance_system_metadata_get(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2F9Vs%3D","line":1630,"updated":"2013-06-17 12:45:10.000000000","message":"terrible align, could you make \nvalues \u003d {..}\nself.instance \u003d db.instance_create(self.ctxt, values) ?","commit_id":"91ca058f3023e78280f223d2a0dcf9fbc5758dd2"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"7f45bdc9b5733e7db857872903408921322b2cfd","unresolved":false,"context_lines":[{"line_number":1627,"context_line":"    def setUp(self):"},{"line_number":1628,"context_line":"        super(InstanceSystemMetadataTestCase, self).setUp()"},{"line_number":1629,"context_line":"        self.ctxt \u003d context.get_admin_context()"},{"line_number":1630,"context_line":"        self.instance \u003d db.instance_create(self.ctxt, {\u0027host\u0027: \u0027h1\u0027,"},{"line_number":1631,"context_line":"                    \u0027project_id\u0027: \u0027p1\u0027, \u0027system_metadata\u0027: {\u0027key\u0027: \u0027value\u0027}})"},{"line_number":1632,"context_line":""},{"line_number":1633,"context_line":"    def test_instance_system_metadata_get(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2F7Ck%3D","line":1630,"in_reply_to":"AAAAPn%2F%2F9Vs%3D","updated":"2013-06-18 07:01:38.000000000","message":"Done","commit_id":"91ca058f3023e78280f223d2a0dcf9fbc5758dd2"}],"nova/tests/test_db_api.py":[{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8282492db3ede96cf0727aa7b081fa96d6fc0891","unresolved":false,"context_lines":[{"line_number":4480,"context_line":""},{"line_number":4481,"context_line":""},{"line_number":4482,"context_line":"class InstanceSystemMetadataTestCase(test.TestCase):"},{"line_number":4483,"context_line":""},{"line_number":4484,"context_line":"    \"\"\"Tests for db.api.instance_system_metadata_* methods.\"\"\""},{"line_number":4485,"context_line":""},{"line_number":4486,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FkBE%3D","line":4483,"updated":"2013-05-30 14:15:44.000000000","message":"whitespace","commit_id":"27bf149cbc26d5104aa07ca4d8cecef451af3132"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"ceeb8b42849c5d88b14e1abf95cc9bb4a585f18b","unresolved":false,"context_lines":[{"line_number":4480,"context_line":""},{"line_number":4481,"context_line":""},{"line_number":4482,"context_line":"class InstanceSystemMetadataTestCase(test.TestCase):"},{"line_number":4483,"context_line":""},{"line_number":4484,"context_line":"    \"\"\"Tests for db.api.instance_system_metadata_* methods.\"\"\""},{"line_number":4485,"context_line":""},{"line_number":4486,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2Fj%2FM%3D","line":4483,"in_reply_to":"AAAAPH%2F%2FkBE%3D","updated":"2013-05-30 14:21:44.000000000","message":"pep257","commit_id":"27bf149cbc26d5104aa07ca4d8cecef451af3132"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8282492db3ede96cf0727aa7b081fa96d6fc0891","unresolved":false,"context_lines":[{"line_number":4485,"context_line":""},{"line_number":4486,"context_line":"    def setUp(self):"},{"line_number":4487,"context_line":"        super(InstanceSystemMetadataTestCase, self).setUp()"},{"line_number":4488,"context_line":"        self.ctxt \u003d context.get_admin_context()"},{"line_number":4489,"context_line":""},{"line_number":4490,"context_line":"    def test_instance_system_metadata_get(self):"},{"line_number":4491,"context_line":"        instance \u003d db.instance_create(self.ctxt, {\u0027host\u0027: \u0027h1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FkAY%3D","line":4488,"updated":"2013-05-30 14:15:44.000000000","message":"Doesn\u0027t look like you need an admin context for these methods","commit_id":"27bf149cbc26d5104aa07ca4d8cecef451af3132"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"ceeb8b42849c5d88b14e1abf95cc9bb4a585f18b","unresolved":false,"context_lines":[{"line_number":4485,"context_line":""},{"line_number":4486,"context_line":"    def setUp(self):"},{"line_number":4487,"context_line":"        super(InstanceSystemMetadataTestCase, self).setUp()"},{"line_number":4488,"context_line":"        self.ctxt \u003d context.get_admin_context()"},{"line_number":4489,"context_line":""},{"line_number":4490,"context_line":"    def test_instance_system_metadata_get(self):"},{"line_number":4491,"context_line":"        instance \u003d db.instance_create(self.ctxt, {\u0027host\u0027: \u0027h1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2Fj%2Bw%3D","line":4488,"in_reply_to":"AAAAPH%2F%2FkAY%3D","updated":"2013-05-30 14:21:44.000000000","message":"There is blueprint for it. I cant do anything for now.","commit_id":"27bf149cbc26d5104aa07ca4d8cecef451af3132"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8282492db3ede96cf0727aa7b081fa96d6fc0891","unresolved":false,"context_lines":[{"line_number":4504,"context_line":"        metadata \u003d db.instance_system_metadata_get(self.ctxt, instance[\u0027uuid\u0027])"},{"line_number":4505,"context_line":"        self.assertEqual(metadata, {\u0027key\u0027: \u0027value\u0027, \u0027new_key\u0027: \u0027new_value\u0027})"},{"line_number":4506,"context_line":""},{"line_number":4507,"context_line":"        # This should left only one key/value pair"},{"line_number":4508,"context_line":"        metadata \u003d db.instance_system_metadata_update("},{"line_number":4509,"context_line":"                    self.ctxt, instance[\u0027uuid\u0027],"},{"line_number":4510,"context_line":"                    {\u0027new_key\u0027: \u0027new_value\u0027}, True)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FkAU%3D","line":4507,"updated":"2013-05-30 14:15:44.000000000","message":"\"This should leave\"","commit_id":"27bf149cbc26d5104aa07ca4d8cecef451af3132"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"ceeb8b42849c5d88b14e1abf95cc9bb4a585f18b","unresolved":false,"context_lines":[{"line_number":4504,"context_line":"        metadata \u003d db.instance_system_metadata_get(self.ctxt, instance[\u0027uuid\u0027])"},{"line_number":4505,"context_line":"        self.assertEqual(metadata, {\u0027key\u0027: \u0027value\u0027, \u0027new_key\u0027: \u0027new_value\u0027})"},{"line_number":4506,"context_line":""},{"line_number":4507,"context_line":"        # This should left only one key/value pair"},{"line_number":4508,"context_line":"        metadata \u003d db.instance_system_metadata_update("},{"line_number":4509,"context_line":"                    self.ctxt, instance[\u0027uuid\u0027],"},{"line_number":4510,"context_line":"                    {\u0027new_key\u0027: \u0027new_value\u0027}, True)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2Fj%2Bs%3D","line":4507,"in_reply_to":"AAAAPH%2F%2FkAU%3D","updated":"2013-05-30 14:21:44.000000000","message":"Done","commit_id":"27bf149cbc26d5104aa07ca4d8cecef451af3132"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c4a7a305d1ff95665d3416667fb8d3c710a24d96","unresolved":false,"context_lines":[{"line_number":4488,"context_line":"        self.ctxt \u003d context.get_admin_context()"},{"line_number":4489,"context_line":""},{"line_number":4490,"context_line":"    def test_instance_system_metadata_get(self):"},{"line_number":4491,"context_line":"        instance \u003d db.instance_create(self.ctxt, {\u0027host\u0027: \u0027h1\u0027,"},{"line_number":4492,"context_line":"                    \u0027project_id\u0027: \u0027p1\u0027, \u0027system_metadata\u0027: {\u0027key\u0027: \u0027value\u0027}})"},{"line_number":4493,"context_line":"        metadata \u003d db.instance_system_metadata_get(self.ctxt, instance[\u0027uuid\u0027])"},{"line_number":4494,"context_line":"        self.assertEqual(metadata, {\u0027key\u0027: \u0027value\u0027})"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F2Ds%3D","line":4491,"updated":"2013-06-07 18:18:28.000000000","message":"instance_create should be done in setUp, instead of being duplicated in both tests","commit_id":"3ae30a414c866255749434b81ff0773fc2438c03"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c4a7a305d1ff95665d3416667fb8d3c710a24d96","unresolved":false,"context_lines":[{"line_number":4493,"context_line":"        metadata \u003d db.instance_system_metadata_get(self.ctxt, instance[\u0027uuid\u0027])"},{"line_number":4494,"context_line":"        self.assertEqual(metadata, {\u0027key\u0027: \u0027value\u0027})"},{"line_number":4495,"context_line":""},{"line_number":4496,"context_line":"    def test_instance_system_metadata_update(self):"},{"line_number":4497,"context_line":"        instance \u003d db.instance_create(self.ctxt, {\u0027host\u0027: \u0027h1\u0027,"},{"line_number":4498,"context_line":"                    \u0027project_id\u0027: \u0027p1\u0027, \u0027system_metadata\u0027: {\u0027key\u0027: \u0027value\u0027}})"},{"line_number":4499,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F2Dk%3D","line":4496,"updated":"2013-06-07 18:18:28.000000000","message":"this test seems to be missing two cases:\n- update existing key/value pair\n- delete non-existing key/value pair","commit_id":"3ae30a414c866255749434b81ff0773fc2438c03"}]}
