)]}'
{"cinder/volume/api.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"2773a2a2fe53b99646dd4590acf1bc52be593e58","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        if snapshot and \\"},{"line_number":172,"context_line":"                snapshot[\u0027volume\u0027][\u0027availability_zone\u0027] !\u003d availability_zone:"},{"line_number":173,"context_line":"            msg \u003d _(\"Volume must be in the same\""},{"line_number":174,"context_line":"                    \"availability zone as the snapshot\")"},{"line_number":175,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":176,"context_line":"        elif source_volume and \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2FvJc%3D","line":173,"updated":"2013-07-24 06:50:50.000000000","message":"need a space after same.","commit_id":"d1b047a54367306bbd81bbb900e8dd6c51f2d5cd"},{"author":{"_account_id":6969,"name":"Michael Kerrin","email":"michael.kerrin@hpe.com","username":"mkerrin"},"change_message_id":"963ee8ca2f5690a9a70cc670b1394088aa7d9263","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        if snapshot and \\"},{"line_number":172,"context_line":"                snapshot[\u0027volume\u0027][\u0027availability_zone\u0027] !\u003d availability_zone:"},{"line_number":173,"context_line":"            msg \u003d _(\"Volume must be in the same\""},{"line_number":174,"context_line":"                    \"availability zone as the snapshot\")"},{"line_number":175,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":176,"context_line":"        elif source_volume and \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2Fu%2Bo%3D","line":173,"in_reply_to":"AAAAQn%2F%2FvJc%3D","updated":"2013-07-24 07:54:24.000000000","message":"Done","commit_id":"d1b047a54367306bbd81bbb900e8dd6c51f2d5cd"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"2773a2a2fe53b99646dd4590acf1bc52be593e58","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":176,"context_line":"        elif source_volume and \\"},{"line_number":177,"context_line":"                source_volume[\u0027availability_zone\u0027] !\u003d availability_zone:"},{"line_number":178,"context_line":"            msg \u003d _(\"Volume must be in the same\""},{"line_number":179,"context_line":"                    \"availability zone as the source volume\")"},{"line_number":180,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2FvJg%3D","line":178,"updated":"2013-07-24 06:50:50.000000000","message":"need a space after same.","commit_id":"d1b047a54367306bbd81bbb900e8dd6c51f2d5cd"},{"author":{"_account_id":6969,"name":"Michael Kerrin","email":"michael.kerrin@hpe.com","username":"mkerrin"},"change_message_id":"963ee8ca2f5690a9a70cc670b1394088aa7d9263","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":176,"context_line":"        elif source_volume and \\"},{"line_number":177,"context_line":"                source_volume[\u0027availability_zone\u0027] !\u003d availability_zone:"},{"line_number":178,"context_line":"            msg \u003d _(\"Volume must be in the same\""},{"line_number":179,"context_line":"                    \"availability zone as the source volume\")"},{"line_number":180,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2Fu%2Bk%3D","line":178,"in_reply_to":"AAAAQn%2F%2FvJg%3D","updated":"2013-07-24 07:54:24.000000000","message":"Done","commit_id":"d1b047a54367306bbd81bbb900e8dd6c51f2d5cd"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"27e252c814b5e34889a1c0226d009b3e1180d755","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        elif availability_zone is None and source_volume is not None:"},{"line_number":165,"context_line":"            availability_zone \u003d source_volume[\u0027availability_zone\u0027]"},{"line_number":166,"context_line":"        elif availability_zone is None:"},{"line_number":167,"context_line":"            availability_zone \u003d CONF.storage_availability_zone"},{"line_number":168,"context_line":"        else:"},{"line_number":169,"context_line":"            self._check_availabilty_zone(availability_zone)"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2Fuys%3D","line":167,"updated":"2013-07-24 09:00:23.000000000","message":"To help readability, I would do:\n\nif availability_zone is None:\n    if ...:\n        ...\n    if ...:\n        ...\nelse:\n    self._check_availabilty_zone(availability_zone)","commit_id":"a6c907a149f9b55c856fc7dba5ea402e1dc4e6e8"},{"author":{"_account_id":6969,"name":"Michael Kerrin","email":"michael.kerrin@hpe.com","username":"mkerrin"},"change_message_id":"3c1198c7dece1689c2eef2880efb2fd6d01e6951","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        elif availability_zone is None and source_volume is not None:"},{"line_number":165,"context_line":"            availability_zone \u003d source_volume[\u0027availability_zone\u0027]"},{"line_number":166,"context_line":"        elif availability_zone is None:"},{"line_number":167,"context_line":"            availability_zone \u003d CONF.storage_availability_zone"},{"line_number":168,"context_line":"        else:"},{"line_number":169,"context_line":"            self._check_availabilty_zone(availability_zone)"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FreY%3D","line":167,"in_reply_to":"AAAAQn%2F%2Fuys%3D","updated":"2013-07-25 07:42:51.000000000","message":"Thanks, I will update this now.","commit_id":"a6c907a149f9b55c856fc7dba5ea402e1dc4e6e8"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"50190d7b65d879f0996fc3b8e291c7ca1880fad8","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            self._check_availabilty_zone(availability_zone)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if snapshot and \\"},{"line_number":173,"context_line":"                snapshot[\u0027volume\u0027][\u0027availability_zone\u0027] !\u003d availability_zone:"},{"line_number":174,"context_line":"            msg \u003d _(\"Volume must be in the same \""},{"line_number":175,"context_line":"                    \"availability zone as the snapshot\")"},{"line_number":176,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FrdE%3D","line":173,"updated":"2013-07-25 08:01:28.000000000","message":"Do we really want to enforce such a rule or should we introduce a configuration option for this?  Something similar to \u0027snapshot_same_host\u0027?","commit_id":"980a83f7e31b03ca347217c8d52ccbe979af16e9"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"f7e151dcddad4070eceb298f61e94db27803c671","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            self._check_availabilty_zone(availability_zone)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if snapshot and \\"},{"line_number":173,"context_line":"                snapshot[\u0027volume\u0027][\u0027availability_zone\u0027] !\u003d availability_zone:"},{"line_number":174,"context_line":"            msg \u003d _(\"Volume must be in the same \""},{"line_number":175,"context_line":"                    \"availability zone as the snapshot\")"},{"line_number":176,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FrVU%3D","line":173,"in_reply_to":"AAAAQn%2F%2FrV0%3D","updated":"2013-07-25 09:09:03.000000000","message":"Can we use snapshot_same_host flag as on/off switch?  Although it is another level of control (host instead of AZ).  But same host means same AZ.  Or are you in a situation that you allow volume from snapshot being created on *different* host in same AZ?","commit_id":"980a83f7e31b03ca347217c8d52ccbe979af16e9"},{"author":{"_account_id":6969,"name":"Michael Kerrin","email":"michael.kerrin@hpe.com","username":"mkerrin"},"change_message_id":"f971130e0ff65bf88ed69402047a4bacbb567565","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            self._check_availabilty_zone(availability_zone)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if snapshot and \\"},{"line_number":173,"context_line":"                snapshot[\u0027volume\u0027][\u0027availability_zone\u0027] !\u003d availability_zone:"},{"line_number":174,"context_line":"            msg \u003d _(\"Volume must be in the same \""},{"line_number":175,"context_line":"                    \"availability zone as the snapshot\")"},{"line_number":176,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FrEk%3D","line":173,"in_reply_to":"AAAAQn%2F%2FrVU%3D","updated":"2013-07-25 10:59:16.000000000","message":"For reference, as said on IRC we are only interested in restricting the volume to the same AZ. They may be on different hosts in the same AZ","commit_id":"980a83f7e31b03ca347217c8d52ccbe979af16e9"},{"author":{"_account_id":6969,"name":"Michael Kerrin","email":"michael.kerrin@hpe.com","username":"mkerrin"},"change_message_id":"62fff48fc1ad4c77cd6b8326665683608c4e803b","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            self._check_availabilty_zone(availability_zone)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if snapshot and \\"},{"line_number":173,"context_line":"                snapshot[\u0027volume\u0027][\u0027availability_zone\u0027] !\u003d availability_zone:"},{"line_number":174,"context_line":"            msg \u003d _(\"Volume must be in the same \""},{"line_number":175,"context_line":"                    \"availability zone as the snapshot\")"},{"line_number":176,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FrV0%3D","line":173,"in_reply_to":"AAAAQn%2F%2FrdE%3D","updated":"2013-07-25 09:02:18.000000000","message":"As I said before if the AZ issue effects you you really do need to enforce this. But I am happy to introduce a configuration option that can be turned on or off.\n\nI will get this done in a while.","commit_id":"980a83f7e31b03ca347217c8d52ccbe979af16e9"}]}
