)]}'
{"cinder/tests/unit/volume/drivers/dell/test_dellsc.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"7769aa1d1dfbd0013aff3807351ef2fadd382630","unresolved":false,"context_lines":[{"line_number":4009,"context_line":"                          mock_open_connection,"},{"line_number":4010,"context_line":"                          mock_init):"},{"line_number":4011,"context_line":"        self.driver.failed_over \u003d False"},{"line_number":4012,"context_line":"        ret \u003d self.driver.thaw_backend({})"},{"line_number":4013,"context_line":"        self.assertTrue(ret)"},{"line_number":4014,"context_line":""},{"line_number":4015,"context_line":"    def test_thaw_backend_failed_over(self,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_fdc30d87","line":4012,"range":{"start_line":4012,"start_character":39,"end_line":4012,"end_character":41},"updated":"2016-11-17 10:29:32.000000000","message":"-1: self._context","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"d6abc764a568a68a4c99a3aac884c28a39b0e95d","unresolved":false,"context_lines":[{"line_number":4009,"context_line":"                          mock_open_connection,"},{"line_number":4010,"context_line":"                          mock_init):"},{"line_number":4011,"context_line":"        self.driver.failed_over \u003d False"},{"line_number":4012,"context_line":"        ret \u003d self.driver.thaw_backend({})"},{"line_number":4013,"context_line":"        self.assertTrue(ret)"},{"line_number":4014,"context_line":""},{"line_number":4015,"context_line":"    def test_thaw_backend_failed_over(self,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_4456d65c","line":4012,"range":{"start_line":4012,"start_character":39,"end_line":4012,"end_character":41},"in_reply_to":"7a77a97e_fdc30d87","updated":"2016-11-17 16:45:16.000000000","message":"Done","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"7769aa1d1dfbd0013aff3807351ef2fadd382630","unresolved":false,"context_lines":[{"line_number":4019,"context_line":"        self.driver.failed_over \u003d True"},{"line_number":4020,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":4021,"context_line":"                          self.driver.thaw_backend,"},{"line_number":4022,"context_line":"                          {})"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_bd44351b","line":4022,"range":{"start_line":4022,"start_character":26,"end_line":4022,"end_character":29},"updated":"2016-11-17 10:29:32.000000000","message":"-1: ditto","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"fbaae9bcdd1a91312e6873d461ab71dce0a4c55e","unresolved":false,"context_lines":[{"line_number":4019,"context_line":"        self.driver.failed_over \u003d True"},{"line_number":4020,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":4021,"context_line":"                          self.driver.thaw_backend,"},{"line_number":4022,"context_line":"                          {})"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_ebae7180","line":4022,"range":{"start_line":4022,"start_character":26,"end_line":4022,"end_character":29},"in_reply_to":"7a77a97e_24d47abb","updated":"2016-11-21 09:48:40.000000000","message":"Sure, and we you are reading the test it makes you wonder, what are we passing there and why is it an empty dictionary?","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"d6abc764a568a68a4c99a3aac884c28a39b0e95d","unresolved":false,"context_lines":[{"line_number":4019,"context_line":"        self.driver.failed_over \u003d True"},{"line_number":4020,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":4021,"context_line":"                          self.driver.thaw_backend,"},{"line_number":4022,"context_line":"                          {})"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_24d47abb","line":4022,"range":{"start_line":4022,"start_character":26,"end_line":4022,"end_character":29},"in_reply_to":"7a77a97e_bd44351b","updated":"2016-11-17 16:45:16.000000000","message":"Done. But you could put \"banana\" in there and I won\u0027t do anything with it.","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"}],"cinder/volume/drivers/dell/dell_storagecenter_common.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"90398d3dbb6073127b865229c9bfb24ad16ba0f1","unresolved":false,"context_lines":[{"line_number":1741,"context_line":"        this provides a handle if they need it."},{"line_number":1742,"context_line":""},{"line_number":1743,"context_line":"        :param context: security context"},{"line_number":1744,"context_line":"        :response: True|False"},{"line_number":1745,"context_line":"        \"\"\""},{"line_number":1746,"context_line":"        # We shouldn\u0027t be called if we are not failed over."},{"line_number":1747,"context_line":"        if self.failed_over:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_2f98a21b","line":1744,"updated":"2016-11-11 13:46:11.000000000","message":"it won\u0027t return False","commit_id":"dd611a4c82ca9150447fd4c48508095c829acda2"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"5140d8352732e21945b315df42d5cafda2c006b4","unresolved":false,"context_lines":[{"line_number":1741,"context_line":"        this provides a handle if they need it."},{"line_number":1742,"context_line":""},{"line_number":1743,"context_line":"        :param context: security context"},{"line_number":1744,"context_line":"        :response: True|False"},{"line_number":1745,"context_line":"        \"\"\""},{"line_number":1746,"context_line":"        # We shouldn\u0027t be called if we are not failed over."},{"line_number":1747,"context_line":"        if self.failed_over:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_c0da9016","line":1744,"in_reply_to":"9a629dbe_2f98a21b","updated":"2016-11-11 16:38:38.000000000","message":"Default comment. Interesting thing about that is that it doesn\u0027t appear that anything expects a return at all. Just return or raise.\n\nWill fix the comment.","commit_id":"dd611a4c82ca9150447fd4c48508095c829acda2"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"5415fcf4f0f543e45cdb6c17f7ab64aa2f111988","unresolved":false,"context_lines":[{"line_number":1743,"context_line":"        \"\"\""},{"line_number":1744,"context_line":"        # We shouldn\u0027t be called if we are not failed over."},{"line_number":1745,"context_line":"        if self.failed_over:"},{"line_number":1746,"context_line":"            msg \u003d _(\u0027thaw_backend: Cannot thaw failed over backend.\u0027)"},{"line_number":1747,"context_line":"            LOG.error(msg)"},{"line_number":1748,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1749,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_e33959a5","line":1746,"updated":"2016-11-11 19:20:44.000000000","message":"Is there anything else useful to provide operators to do next?","commit_id":"7e593137437f91b642fe87db2c856907d60cb426"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"5bf6765d20f0b6a578aa2178d4cd4085bc63f056","unresolved":false,"context_lines":[{"line_number":1743,"context_line":"        \"\"\""},{"line_number":1744,"context_line":"        # We shouldn\u0027t be called if we are not failed over."},{"line_number":1745,"context_line":"        if self.failed_over:"},{"line_number":1746,"context_line":"            msg \u003d _(\u0027thaw_backend: Cannot thaw failed over backend.\u0027)"},{"line_number":1747,"context_line":"            LOG.error(msg)"},{"line_number":1748,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1749,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_c3be15ad","line":1746,"in_reply_to":"9a629dbe_e33959a5","updated":"2016-11-11 19:30:42.000000000","message":"Well, failover use case is that the primary was destroyed and they manually failed over. At this point there is about 70 things they can do. I\u0027ve got nothing for them in a single log message.","commit_id":"7e593137437f91b642fe87db2c856907d60cb426"},{"author":{"_account_id":15011,"name":"Jeff Seiler","email":"jeff_seiler@dell.com","username":"jseiler"},"change_message_id":"3d401895f95de94c2f0b7814ae58ac991880b2e4","unresolved":false,"context_lines":[{"line_number":1744,"context_line":"        # We shouldn\u0027t be called if we are not failed over."},{"line_number":1745,"context_line":"        if self.failed_over:"},{"line_number":1746,"context_line":"            msg \u003d _(\u0027The Dell SC array does not support thawing a failed over\u0027"},{"line_number":1747,"context_line":"                    \u0027 replication. Please migrate volumes to an operation \u0027"},{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a629dbe_5d7add24","line":1747,"range":{"start_line":1747,"start_character":64,"end_line":1747,"end_character":73},"updated":"2016-11-11 21:07:25.000000000","message":"Did you mean operational?  As in \u0027an operational back-end\u0027?","commit_id":"4e52263e092857231f7f01bd0ca6807160a8d26e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d5e360c96c4d58af01e8a1a4750c13bc99137fbf","unresolved":false,"context_lines":[{"line_number":1743,"context_line":"        \"\"\""},{"line_number":1744,"context_line":"        # We shouldn\u0027t be called if we are not failed over."},{"line_number":1745,"context_line":"        if self.failed_over:"},{"line_number":1746,"context_line":"            msg \u003d _(\u0027The Dell SC array does not support thawing a failed over\u0027"},{"line_number":1747,"context_line":"                    \u0027 replication. Please migrate volumes to an operational \u0027"},{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_7dbd3db6","line":1746,"range":{"start_line":1746,"start_character":17,"end_line":1746,"end_character":20},"updated":"2016-11-17 10:33:59.000000000","message":"-1: This should be `_LE(` as it will never reach the user.","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ab291902d77f5437d23a3c6e18e91c7b33bc8e4d","unresolved":false,"context_lines":[{"line_number":1743,"context_line":"        \"\"\""},{"line_number":1744,"context_line":"        # We shouldn\u0027t be called if we are not failed over."},{"line_number":1745,"context_line":"        if self.failed_over:"},{"line_number":1746,"context_line":"            msg \u003d _(\u0027The Dell SC array does not support thawing a failed over\u0027"},{"line_number":1747,"context_line":"                    \u0027 replication. Please migrate volumes to an operational \u0027"},{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_4807ddc9","line":1746,"range":{"start_line":1746,"start_character":17,"end_line":1746,"end_character":20},"in_reply_to":"7a77a97e_7dbd3db6","updated":"2016-11-17 10:57:51.000000000","message":"Upon looking at it a little bit more I think this is fine and what we just need to change is the exception.","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d5e360c96c4d58af01e8a1a4750c13bc99137fbf","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_7d961d40","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":53},"updated":"2016-11-17 10:33:59.000000000","message":"-1: This should be VolumeDriverException","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"d6abc764a568a68a4c99a3aac884c28a39b0e95d","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_9f2f5b87","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":53},"in_reply_to":"7a77a97e_28ff01ab","updated":"2016-11-17 16:45:16.000000000","message":"Looks like I want VolumeDriverException for it to be properly caught in thaw_host.","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ab291902d77f5437d23a3c6e18e91c7b33bc8e4d","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_28ff01ab","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":53},"in_reply_to":"7a77a97e_7d961d40","updated":"2016-11-17 10:57:51.000000000","message":"I think instead of VolumeDriverException that I was suggesting which would yield a 500 status code, just like with the VolumeBackendAPIException, you should use the Invalid exception so the user receives a 400 error which is the appropriate response.","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"055fb5a3940dfbfcdaa44906cb413b72f88f032e","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_8b16ddef","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":53},"in_reply_to":"7a77a97e_9f2f5b87","updated":"2016-11-21 09:47:15.000000000","message":"Like I said, you DON\u0027T want to raise that exception, because that will return a 500 status code, instead of a 400 like it should.","commit_id":"5715f46fe7e47022701df878c6e72ba6a9c873cc"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"10e1ab0248b842962e3a5d9abd9a7849c18cd3c5","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_eb8031fa","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":49},"updated":"2016-11-21 09:53:29.000000000","message":"-1: this will result in a 500 status code to the user, and this is NOT an internal server error, this is an invalid request.  So please raise an Invalid exception instead.","commit_id":"7d0a1cc87752c0d8885921f4b28f32d3c54e5eab"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c4b48137a17acb471364cf23ffa273282a7e150e","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a74a57a_786a271c","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":49},"in_reply_to":"7a77a97e_295ae02a","updated":"2016-11-23 11:26:53.000000000","message":"Do we really end up in the same place?  I run the code in my head and it doesn\u0027t end up in the same place, this code results in 500 status code.\n\nIf you don\u0027t trust my head, which I totally understand, you can run the code in devstack to verify it (which you probably should have done from the start to either shut me up if I\u0027m wrong or see it for yourself if I were to be right).","commit_id":"7d0a1cc87752c0d8885921f4b28f32d3c54e5eab"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"739f50c3d1edcd019495fdadd7e164b883094b9b","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_b3a82179","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":49},"in_reply_to":"7a77a97e_414ff6bd","updated":"2016-11-22 17:29:50.000000000","message":"@Gorka\nIsn\u0027t that repeating for the most part what I said in my comment?  The exception here is a VolumeDriverException which IS in fact translated to Invalid which based on your comments I thought is what you wanted?\n\nSorry, I\u0027m not following what the issue/concern here is?  Can you explain where I\u0027m lost?","commit_id":"7d0a1cc87752c0d8885921f4b28f32d3c54e5eab"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ccad9020904a0b227fd8d928584fd62e9288d3ae","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_414ff6bd","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":49},"in_reply_to":"7a77a97e_a1e8ca17","updated":"2016-11-22 17:13:42.000000000","message":"The manager is only catching VolumeDriverException, so an InvalidException will be propagated to the API node through the RPC call, and it isn\u0027t being catched there either, so it will be converted to the appropriate response by our middleware.","commit_id":"7d0a1cc87752c0d8885921f4b28f32d3c54e5eab"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c4b48137a17acb471364cf23ffa273282a7e150e","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a74a57a_f81c7779","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":49},"in_reply_to":"7a77a97e_b3a82179","updated":"2016-11-23 11:26:53.000000000","message":"@John, what you are missing is that the VolumeDriverException is caught by the manager in c-vol, which sets `exception_encountered` to `True` [1], and then it returns `None` to the c-api caller [2], and in the API we\u0027ll return that same value [3][4], which is converted to a status code 500.\n\nBut if we return an `InvalidException` instead it will not be caught by the `failover_host` method in the manager on the c-vol node, and it will get propagated via the RPC layer from the c-vol node to the caller on the c-api node, which won\u0027t catch it either, so it will get to the WSGI midleware in the c-api node where it will be caught and should be properly converted to the 400 error.\n\n\n[1]: https://github.com/openstack/cinder/blob/master/cinder/volume/manager.py#L4047\n[2]: https://github.com/openstack/cinder/blob/master/cinder/volume/manager.py#L4054\n[3]: https://github.com/openstack/cinder/blob/master/cinder/api/contrib/services.py#L117\n[4]: https://github.com/openstack/cinder/blob/master/cinder/api/contrib/services.py#L147","commit_id":"7d0a1cc87752c0d8885921f4b28f32d3c54e5eab"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"8eb2710147356d18b13a8766a4bacd4688fbb979","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_295ae02a","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":49},"in_reply_to":"7a77a97e_b3a82179","updated":"2016-11-22 18:00:46.000000000","message":"If we end up at the same place I\u0027d rather return the exception handled by the calling function.","commit_id":"7d0a1cc87752c0d8885921f4b28f32d3c54e5eab"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"2b566c9921c4f513a2774820436b142b91f1cd40","unresolved":false,"context_lines":[{"line_number":1748,"context_line":"                    \u0027back-end or resolve primary system issues and \u0027"},{"line_number":1749,"context_line":"                    \u0027fail back to reenable full functionality.\u0027)"},{"line_number":1750,"context_line":"            LOG.error(msg)"},{"line_number":1751,"context_line":"            raise exception.VolumeDriverException(message\u003dmsg)"},{"line_number":1752,"context_line":""},{"line_number":1753,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_a1e8ca17","line":1751,"range":{"start_line":1751,"start_character":28,"end_line":1751,"end_character":49},"in_reply_to":"7a77a97e_eb8031fa","updated":"2016-11-22 17:01:39.000000000","message":"I agree with Gorka, but the manager will catch this exception and just return false back to volume/api.py which results in an InvalidInput exception back out to the caller.\n\nThat\u0027s why I was ok with it, but it\u0027s quite possible that Gorka has noticed a detail that I\u0027m missing.","commit_id":"7d0a1cc87752c0d8885921f4b28f32d3c54e5eab"}],"releasenotes/notes/Dell-SC-thaw_backend-b9362d381fabd4c9.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8ce98a3f8e2f299ab0d1573689ff9089109b228c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell SC Cinder driver has limited support in a failed"},{"line_number":4,"context_line":"    over state so thaw_backend has been implemented to"},{"line_number":5,"context_line":"    reject the thaw call when in such a state."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7a77a97e_2c6b75f2","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":8},"updated":"2016-11-17 22:15:18.000000000","message":"Might be better under the \"Issues\" section.","commit_id":"cf8080559b43cfc22d6a6bfaaedbb4cc824520da"}]}
