)]}'
{"cinder/tests/unit/test_volume_types.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0e87de5bbc8d3663ef236f276bfe750114a324e8","unresolved":false,"context_lines":[{"line_number":526,"context_line":"        mock_get_encryption.side_effect \u003d _get_encryption"},{"line_number":527,"context_line":"        actual_result \u003d volume_types.volume_types_encryption_changed("},{"line_number":528,"context_line":"            self.ctxt, fake.VOLUME_TYPE_ID, fake.VOLUME_TYPE2_ID)"},{"line_number":529,"context_line":"        self.assertEqual(actual_result, expected_result)"},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"    def test_volume_types_encryption_changed(self):"},{"line_number":532,"context_line":"        enc1 \u003d {\u0027volume_type_id\u0027: fake.VOLUME_TYPE_ID,"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa7ab95a_0ba8538c","line":529,"range":{"start_line":529,"start_character":25,"end_line":529,"end_character":55},"updated":"2016-08-30 01:09:47.000000000","message":"Please update these to be in the order of expected, actual.","commit_id":"b4bf56b67f470cf4da3911e4a12572ce7076253e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"1864c77db11d4ca7be5c10d1c9601b3c647c1542","unresolved":false,"context_lines":[{"line_number":526,"context_line":"        mock_get_encryption.side_effect \u003d _get_encryption"},{"line_number":527,"context_line":"        actual_result \u003d volume_types.volume_types_encryption_changed("},{"line_number":528,"context_line":"            self.ctxt, fake.VOLUME_TYPE_ID, fake.VOLUME_TYPE2_ID)"},{"line_number":529,"context_line":"        self.assertEqual(actual_result, expected_result)"},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"    def test_volume_types_encryption_changed(self):"},{"line_number":532,"context_line":"        enc1 \u003d {\u0027volume_type_id\u0027: fake.VOLUME_TYPE_ID,"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa7ab95a_6b79dfc7","line":529,"range":{"start_line":529,"start_character":25,"end_line":529,"end_character":55},"in_reply_to":"fa7ab95a_0ba8538c","updated":"2016-08-30 01:28:39.000000000","message":"Done","commit_id":"b4bf56b67f470cf4da3911e4a12572ce7076253e"}],"cinder/tests/unit/test_volume_utils.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"db0f95feebdfcd36a128da95ce1978d25833b2e8","unresolved":false,"context_lines":[{"line_number":878,"context_line":"            volume_utils.convert_config_string_to_dict(test_string))"},{"line_number":879,"context_line":""},{"line_number":880,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.is_encrypted\u0027, return_value\u003dFalse)"},{"line_number":881,"context_line":"    def test_create_encryption_key(self, is_encrypted):"},{"line_number":882,"context_line":"        result \u003d volume_utils.create_encryption_key(mock.ANY,"},{"line_number":883,"context_line":"                                                    mock.ANY,"},{"line_number":884,"context_line":"                                                    fake.VOLUME_TYPE_ID)"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_c71f1eb5","line":881,"range":{"start_line":881,"start_character":8,"end_line":881,"end_character":34},"updated":"2016-08-30 12:35:47.000000000","message":"Test case could be named better - we\u0027re testing situation when there\u0027s no encryption, right?","commit_id":"f7cd72e6e2b93873336ecfd16dd76fce028d5866"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b7fe2e708d68ade84fd425bb7671f3a0c78b5394","unresolved":false,"context_lines":[{"line_number":878,"context_line":"            volume_utils.convert_config_string_to_dict(test_string))"},{"line_number":879,"context_line":""},{"line_number":880,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.is_encrypted\u0027, return_value\u003dFalse)"},{"line_number":881,"context_line":"    def test_create_encryption_key(self, is_encrypted):"},{"line_number":882,"context_line":"        result \u003d volume_utils.create_encryption_key(mock.ANY,"},{"line_number":883,"context_line":"                                                    mock.ANY,"},{"line_number":884,"context_line":"                                                    fake.VOLUME_TYPE_ID)"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_ad24bb0c","line":881,"range":{"start_line":881,"start_character":8,"end_line":881,"end_character":34},"in_reply_to":"fa7ab95a_c71f1eb5","updated":"2016-08-30 13:05:57.000000000","message":"Done","commit_id":"f7cd72e6e2b93873336ecfd16dd76fce028d5866"}],"cinder/volume/api.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"db0f95feebdfcd36a128da95ce1978d25833b2e8","unresolved":false,"context_lines":[{"line_number":1449,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1450,"context_line":""},{"line_number":1451,"context_line":"        vol_type_id \u003d vol_type[\u0027id\u0027]"},{"line_number":1452,"context_line":""},{"line_number":1453,"context_line":"        # We\u0027re checking here in so that we can report any quota issues as"},{"line_number":1454,"context_line":"        # early as possible, but won\u0027t commit until we change the type. We"},{"line_number":1455,"context_line":"        # pass the reservations onward in case we need to roll back."}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_b2f7bad1","side":"PARENT","line":1452,"updated":"2016-08-30 12:35:47.000000000","message":"Unnecessary line removal.","commit_id":"fe17c3d5abbf147eb022989773c0dd1b1b1269ff"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b7fe2e708d68ade84fd425bb7671f3a0c78b5394","unresolved":false,"context_lines":[{"line_number":1449,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1450,"context_line":""},{"line_number":1451,"context_line":"        vol_type_id \u003d vol_type[\u0027id\u0027]"},{"line_number":1452,"context_line":""},{"line_number":1453,"context_line":"        # We\u0027re checking here in so that we can report any quota issues as"},{"line_number":1454,"context_line":"        # early as possible, but won\u0027t commit until we change the type. We"},{"line_number":1455,"context_line":"        # pass the reservations onward in case we need to roll back."}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_cd4d7fc5","side":"PARENT","line":1452,"in_reply_to":"fa7ab95a_b2f7bad1","updated":"2016-08-30 13:05:57.000000000","message":"Done","commit_id":"fe17c3d5abbf147eb022989773c0dd1b1b1269ff"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"db0f95feebdfcd36a128da95ce1978d25833b2e8","unresolved":false,"context_lines":[{"line_number":1488,"context_line":"        # We don\u0027t support changing QoS at the front-end yet for in-use volumes"},{"line_number":1489,"context_line":"        # TODO(avishay): Call Nova to change QoS setting (libvirt has support"},{"line_number":1490,"context_line":"        # - virDomainSetBlockIoTune() - Nova does not have support yet)."},{"line_number":1491,"context_line":"        filters \u003d [db.volume_has_same_encryption_type(vol_type_id),"},{"line_number":1492,"context_line":"                   db.volume_qos_allows_retype(vol_type_id)]"},{"line_number":1493,"context_line":""},{"line_number":1494,"context_line":"        updates \u003d {\u0027status\u0027: \u0027retyping\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_52574ec9","side":"PARENT","line":1491,"range":{"start_line":1491,"start_character":22,"end_line":1491,"end_character":53},"updated":"2016-08-30 12:35:47.000000000","message":"This is the only usage of that DB constraint. We can remove it in this patch.","commit_id":"fe17c3d5abbf147eb022989773c0dd1b1b1269ff"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b7fe2e708d68ade84fd425bb7671f3a0c78b5394","unresolved":false,"context_lines":[{"line_number":1488,"context_line":"        # We don\u0027t support changing QoS at the front-end yet for in-use volumes"},{"line_number":1489,"context_line":"        # TODO(avishay): Call Nova to change QoS setting (libvirt has support"},{"line_number":1490,"context_line":"        # - virDomainSetBlockIoTune() - Nova does not have support yet)."},{"line_number":1491,"context_line":"        filters \u003d [db.volume_has_same_encryption_type(vol_type_id),"},{"line_number":1492,"context_line":"                   db.volume_qos_allows_retype(vol_type_id)]"},{"line_number":1493,"context_line":""},{"line_number":1494,"context_line":"        updates \u003d {\u0027status\u0027: \u0027retyping\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_2d1eeb6f","side":"PARENT","line":1491,"range":{"start_line":1491,"start_character":22,"end_line":1491,"end_character":53},"in_reply_to":"fa7ab95a_52574ec9","updated":"2016-08-30 13:05:57.000000000","message":"Done","commit_id":"fe17c3d5abbf147eb022989773c0dd1b1b1269ff"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4b1c21d59dfecee7435c9647ff8440008fe4b337","unresolved":false,"context_lines":[{"line_number":1484,"context_line":"                    \u0027group_id\u0027: (None, \u0027\u0027),"},{"line_number":1485,"context_line":"                    \u0027volume_type_id\u0027: db.Not(vol_type_id)}"},{"line_number":1486,"context_line":""},{"line_number":1487,"context_line":"        # We don\u0027t support changing encryption requirements yet"},{"line_number":1488,"context_line":"        # We don\u0027t support changing QoS at the front-end yet for in-use volumes"},{"line_number":1489,"context_line":"        # TODO(avishay): Call Nova to change QoS setting (libvirt has support"},{"line_number":1490,"context_line":"        # - virDomainSetBlockIoTune() - Nova does not have support yet)."}],"source_content_type":"text/x-python","patch_set":15,"id":"fa7ab95a_b3b4ced1","line":1487,"updated":"2016-08-31 13:18:57.000000000","message":"nit: encryption filter is removed. This comment should be removed too.","commit_id":"2d1242ae69378dae8ce26a51af3d860a2875eba0"}],"cinder/volume/manager.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"db0f95feebdfcd36a128da95ce1978d25833b2e8","unresolved":false,"context_lines":[{"line_number":1594,"context_line":"            if attach_encryptor and ("},{"line_number":1595,"context_line":"                    volume_types.is_encrypted(ctxt,"},{"line_number":1596,"context_line":"                                              volume.volume_type_id)):"},{"line_number":1597,"context_line":"                encryption \u003d self.db.volume_encryption_metadata_get("},{"line_number":1598,"context_line":"                    ctxt.elevated(), volume.id)"},{"line_number":1599,"context_line":"                if encryption:"},{"line_number":1600,"context_line":"                    utils.brick_attach_volume_encryptor(ctxt,"},{"line_number":1601,"context_line":"                                                        attach_info,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_7200d266","line":1598,"range":{"start_line":1597,"start_character":0,"end_line":1598,"end_character":47},"updated":"2016-08-30 12:35:47.000000000","message":"It would probably be more elegant to implement that method in the volume object, but it\u0027s not a big deal.","commit_id":"f7cd72e6e2b93873336ecfd16dd76fce028d5866"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b7fe2e708d68ade84fd425bb7671f3a0c78b5394","unresolved":false,"context_lines":[{"line_number":1594,"context_line":"            if attach_encryptor and ("},{"line_number":1595,"context_line":"                    volume_types.is_encrypted(ctxt,"},{"line_number":1596,"context_line":"                                              volume.volume_type_id)):"},{"line_number":1597,"context_line":"                encryption \u003d self.db.volume_encryption_metadata_get("},{"line_number":1598,"context_line":"                    ctxt.elevated(), volume.id)"},{"line_number":1599,"context_line":"                if encryption:"},{"line_number":1600,"context_line":"                    utils.brick_attach_volume_encryptor(ctxt,"},{"line_number":1601,"context_line":"                                                        attach_info,"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_ff1caa6b","line":1598,"range":{"start_line":1597,"start_character":0,"end_line":1598,"end_character":47},"in_reply_to":"fa7ab95a_7200d266","updated":"2016-08-30 13:05:57.000000000","message":"I would like to do it in later patch. As currently there are lots of places which use the db query.","commit_id":"f7cd72e6e2b93873336ecfd16dd76fce028d5866"}],"cinder/volume/volume_types.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"db0f95feebdfcd36a128da95ce1978d25833b2e8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"CONF \u003d cfg.CONF"},{"line_number":34,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":35,"context_line":"QUOTAS \u003d quota.QUOTAS"},{"line_number":36,"context_line":"ENCRYPTON_IGNORED_FIELDS \u003d [\u0027volume_type_id\u0027, \u0027created_at\u0027, \u0027updated_at\u0027,"},{"line_number":37,"context_line":"                            \u0027deleted_at\u0027]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_0734a6f9","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":24},"updated":"2016-08-30 12:35:47.000000000","message":"s/ENCRYPTON/ENCRYPTION","commit_id":"f7cd72e6e2b93873336ecfd16dd76fce028d5866"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b7fe2e708d68ade84fd425bb7671f3a0c78b5394","unresolved":false,"context_lines":[{"line_number":33,"context_line":"CONF \u003d cfg.CONF"},{"line_number":34,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":35,"context_line":"QUOTAS \u003d quota.QUOTAS"},{"line_number":36,"context_line":"ENCRYPTON_IGNORED_FIELDS \u003d [\u0027volume_type_id\u0027, \u0027created_at\u0027, \u0027updated_at\u0027,"},{"line_number":37,"context_line":"                            \u0027deleted_at\u0027]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa7ab95a_3f08d2d9","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":24},"in_reply_to":"fa7ab95a_0734a6f9","updated":"2016-08-30 13:05:57.000000000","message":"Good catch!","commit_id":"f7cd72e6e2b93873336ecfd16dd76fce028d5866"}],"releasenotes/notes/retype-encrypted-volume-49b66d3e8e65f9a5.yaml":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"db0f95feebdfcd36a128da95ce1978d25833b2e8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Allow to retype volumes with different encryptions."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"fa7ab95a_87def6da","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":55},"updated":"2016-08-30 12:35:47.000000000","message":"Are we also allowing retyping from unencrypted types to encrypted types and vice-versa? If so we should state that here.","commit_id":"f7cd72e6e2b93873336ecfd16dd76fce028d5866"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b7fe2e708d68ade84fd425bb7671f3a0c78b5394","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Allow to retype volumes with different encryptions."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"fa7ab95a_3f2e12fb","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":55},"in_reply_to":"fa7ab95a_87def6da","updated":"2016-08-30 13:05:57.000000000","message":"Done","commit_id":"f7cd72e6e2b93873336ecfd16dd76fce028d5866"}]}
