)]}'
{"cinder/objects/service.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"674e7fb2e4f2e6423dde32599cbcb9cbe35491d8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    # Version 1.3: Add replication fields"},{"line_number":40,"context_line":"    # Version 1.4: Add cluster fields"},{"line_number":41,"context_line":"    # Version 1.5: Add UUID field"},{"line_number":42,"context_line":"    VERSION \u003d \u00271.5\u0027"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    OPTIONAL_FIELDS \u003d (\u0027cluster\u0027,)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_dfca0a9f","line":42,"updated":"2017-10-26 13:31:17.000000000","message":"This should be 1.6 since you changed a field.","commit_id":"61545b4f41e2d39b6df9a10f29a98f38f562b7b2"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"0b61a3664d5defad112f7aad9ddd774c133dfbcf","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    # Version 1.3: Add replication fields"},{"line_number":40,"context_line":"    # Version 1.4: Add cluster fields"},{"line_number":41,"context_line":"    # Version 1.5: Add UUID field"},{"line_number":42,"context_line":"    VERSION \u003d \u00271.5\u0027"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    OPTIONAL_FIELDS \u003d (\u0027cluster\u0027,)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_860faa86","line":42,"in_reply_to":"3f4b6375_dfca0a9f","updated":"2017-10-26 15:48:55.000000000","message":"Done","commit_id":"61545b4f41e2d39b6df9a10f29a98f38f562b7b2"}],"cinder/tests/unit/api/contrib/test_admin_actions.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"674e7fb2e4f2e6423dde32599cbcb9cbe35491d8","unresolved":false,"context_lines":[{"line_number":764,"context_line":"                          {\u0027status\u0027: \u0027creating\u0027})"},{"line_number":765,"context_line":""},{"line_number":766,"context_line":"    @mock.patch(\u0027cinder.backup.rpcapi.BackupAPI.delete_backup\u0027, mock.Mock())"},{"line_number":767,"context_line":"    @mock.patch(\u0027cinder.db.service_get_all\u0027)"},{"line_number":768,"context_line":"    @mock.patch(\u0027cinder.backup.api.API._check_support_to_force_delete\u0027)"},{"line_number":769,"context_line":"    def _force_delete_backup_util(self, test_status, mock_check_support,"},{"line_number":770,"context_line":"                                  mock_service_get_all):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_9ffb72bf","line":767,"updated":"2017-10-26 13:31:17.000000000","message":"FYI, because this test was likely written before the API code was using objects, these old school DB API level mocks are making your life painful now. It\u0027s a good opportunity for new contributors to slow burn through some of this stuff and change DB API level mocking like this to mock at the object level.\n\nAlternatively, if a bunch of these tests don\u0027t actually care about the service returned but just that there is one, you could write a fixture for the simple case and apply that in the setUp for several of these API unit tests and remove the per-test mock.","commit_id":"61545b4f41e2d39b6df9a10f29a98f38f562b7b2"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"0b61a3664d5defad112f7aad9ddd774c133dfbcf","unresolved":false,"context_lines":[{"line_number":764,"context_line":"                          {\u0027status\u0027: \u0027creating\u0027})"},{"line_number":765,"context_line":""},{"line_number":766,"context_line":"    @mock.patch(\u0027cinder.backup.rpcapi.BackupAPI.delete_backup\u0027, mock.Mock())"},{"line_number":767,"context_line":"    @mock.patch(\u0027cinder.db.service_get_all\u0027)"},{"line_number":768,"context_line":"    @mock.patch(\u0027cinder.backup.api.API._check_support_to_force_delete\u0027)"},{"line_number":769,"context_line":"    def _force_delete_backup_util(self, test_status, mock_check_support,"},{"line_number":770,"context_line":"                                  mock_service_get_all):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_061bbac9","line":767,"in_reply_to":"3f4b6375_9ffb72bf","updated":"2017-10-26 15:48:55.000000000","message":"Yeah, I was hoping to see if somebody might be interested in adding a fixture and cleaning all of this up.  It\u0027s rather \"unpleasant\" to get caught on the wrong side of these, I\u0027m not the first or last that will run into this I\u0027m sure.","commit_id":"61545b4f41e2d39b6df9a10f29a98f38f562b7b2"}],"cinder/tests/unit/objects/test_objects.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"674e7fb2e4f2e6423dde32599cbcb9cbe35491d8","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    \u0027QualityOfServiceSpecs\u0027: \u00271.0-0b212e0a86ee99092229874e03207fe8\u0027,"},{"line_number":44,"context_line":"    \u0027QualityOfServiceSpecsList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":45,"context_line":"    \u0027RequestSpec\u0027: \u00271.1-b0bd1a28d191d75648901fa853e8a733\u0027,"},{"line_number":46,"context_line":"    \u0027Service\u0027: \u00271.5-e881b6b324151dd861e09cdfffcdaccd\u0027,"},{"line_number":47,"context_line":"    \u0027ServiceList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":48,"context_line":"    \u0027Snapshot\u0027: \u00271.5-ac1cdbd5b89588f6a8f44afdf6b8b201\u0027,"},{"line_number":49,"context_line":"    \u0027SnapshotList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_7fdaf677","line":46,"range":{"start_line":46,"start_character":16,"end_line":46,"end_character":19},"updated":"2017-10-26 13:31:17.000000000","message":"The Service object version should be bumped to 1.6 since you changed a field.","commit_id":"61545b4f41e2d39b6df9a10f29a98f38f562b7b2"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"0b61a3664d5defad112f7aad9ddd774c133dfbcf","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    \u0027QualityOfServiceSpecs\u0027: \u00271.0-0b212e0a86ee99092229874e03207fe8\u0027,"},{"line_number":44,"context_line":"    \u0027QualityOfServiceSpecsList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":45,"context_line":"    \u0027RequestSpec\u0027: \u00271.1-b0bd1a28d191d75648901fa853e8a733\u0027,"},{"line_number":46,"context_line":"    \u0027Service\u0027: \u00271.5-e881b6b324151dd861e09cdfffcdaccd\u0027,"},{"line_number":47,"context_line":"    \u0027ServiceList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":48,"context_line":"    \u0027Snapshot\u0027: \u00271.5-ac1cdbd5b89588f6a8f44afdf6b8b201\u0027,"},{"line_number":49,"context_line":"    \u0027SnapshotList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_86844ad4","line":46,"range":{"start_line":46,"start_character":16,"end_line":46,"end_character":19},"in_reply_to":"3f4b6375_7fdaf677","updated":"2017-10-26 15:48:55.000000000","message":"Done","commit_id":"61545b4f41e2d39b6df9a10f29a98f38f562b7b2"}],"cinder/tests/unit/test_db_api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"674e7fb2e4f2e6423dde32599cbcb9cbe35491d8","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        # Run the migration and verify that we updated 1 entry"},{"line_number":180,"context_line":"        total, updated \u003d db.service_uuids_online_data_migration("},{"line_number":181,"context_line":"            self.ctxt, 10)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        self.assertEqual(1, total)"},{"line_number":184,"context_line":"        self.assertEqual(1, updated)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_1f8d4231","line":181,"range":{"start_line":181,"start_character":23,"end_line":181,"end_character":25},"updated":"2017-10-26 13:31:17.000000000","message":"nit: this doesn\u0027t test that you\u0027re limiting your query in the migration code. I\u0027d do something like:\n\n1. create a service with a uuid\n2. create 2 services without a uuid\n3. migrate with max_count\u003d1\n4. assert total is 2 and updated is 1\n5. migrate with max_count\u003d10\n6. assert total is 1 and updated is 1","commit_id":"61545b4f41e2d39b6df9a10f29a98f38f562b7b2"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"0b61a3664d5defad112f7aad9ddd774c133dfbcf","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        # Run the migration and verify that we updated 1 entry"},{"line_number":180,"context_line":"        total, updated \u003d db.service_uuids_online_data_migration("},{"line_number":181,"context_line":"            self.ctxt, 10)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        self.assertEqual(1, total)"},{"line_number":184,"context_line":"        self.assertEqual(1, updated)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_4601b237","line":181,"range":{"start_line":181,"start_character":23,"end_line":181,"end_character":25},"in_reply_to":"3f4b6375_1f8d4231","updated":"2017-10-26 15:48:55.000000000","message":"Indeed!  Good point, and as it turns out this would\u0027ve exposed a bug; because as it turns out my query sets a limit and will only return the number of services in limit and this won\u0027t work.  Thanks!!","commit_id":"61545b4f41e2d39b6df9a10f29a98f38f562b7b2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4d085827fae4e039a640fffec27b8c245719e52","unresolved":false,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        self.assertEqual(3, total)"},{"line_number":204,"context_line":"        self.assertEqual(2, updated)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def test_service_create(self):"},{"line_number":207,"context_line":"        # Add a cluster value to the service"},{"line_number":208,"context_line":"        values \u003d {\u0027cluster_name\u0027: \u0027cluster\u0027}"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_c9d81554","line":205,"updated":"2017-10-26 16:11:57.000000000","message":"Run it again to see total is 1 and updated is 1?","commit_id":"b7fbcd12cdee399a57222f9df97bf13dc7e7c191"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"832f684f84672c8260ff7ae09e506adc23aed694","unresolved":false,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        self.assertEqual(3, total)"},{"line_number":204,"context_line":"        self.assertEqual(2, updated)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def test_service_create(self):"},{"line_number":207,"context_line":"        # Add a cluster value to the service"},{"line_number":208,"context_line":"        values \u003d {\u0027cluster_name\u0027: \u0027cluster\u0027}"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_c9e255d5","line":205,"in_reply_to":"3f4b6375_c9d81554","updated":"2017-10-26 16:18:12.000000000","message":"Done","commit_id":"b7fbcd12cdee399a57222f9df97bf13dc7e7c191"}],"cinder/tests/unit/volume/test_availability_zone.py":[{"author":{"_account_id":25376,"name":"zhuangzejian","email":"zzj123389602@gmail.com","username":"smartu3"},"change_message_id":"12d02fcbc4365191c7b3ba44a45951f140fbebff","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        super(AvailabilityZoneTestCase, self).setUp()"},{"line_number":30,"context_line":"        self.get_all \u003d self.patch("},{"line_number":31,"context_line":"            \u0027cinder.db.service_get_all\u0027, autospec\u003dTrue,"},{"line_number":32,"context_line":"            return_value\u003d[{\u0027availability_zone\u0027: \u0027a\u0027, \u0027disabled\u0027: False,"},{"line_number":33,"context_line":"                           \u0027uuid\u0027: \u0027f838f35c-4035-464f-9792-ce60e390c13d\u0027}])"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_list_availability_zones_cached(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_33ce2bb4","line":32,"range":{"start_line":32,"start_character":24,"end_line":32,"end_character":26},"updated":"2017-10-25 02:55:47.000000000","message":"space","commit_id":"13d398862d7dd1c152cefc5e7712106cfad260c2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"273317c678aee0658f1493a7c9ba0b4a99a9c699","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        super(AvailabilityZoneTestCase, self).setUp()"},{"line_number":30,"context_line":"        self.get_all \u003d self.patch("},{"line_number":31,"context_line":"            \u0027cinder.db.service_get_all\u0027, autospec\u003dTrue,"},{"line_number":32,"context_line":"            return_value\u003d[{\u0027availability_zone\u0027: \u0027a\u0027, \u0027disabled\u0027: False,"},{"line_number":33,"context_line":"                           \u0027uuid\u0027: \u0027f838f35c-4035-464f-9792-ce60e390c13d\u0027}])"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_list_availability_zones_cached(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_530c0040","line":32,"range":{"start_line":32,"start_character":24,"end_line":32,"end_character":26},"in_reply_to":"3f4b6375_33ce2bb4","updated":"2017-10-25 09:13:08.000000000","message":"No, this is a kwarg and should not have a space.","commit_id":"13d398862d7dd1c152cefc5e7712106cfad260c2"}]}
