)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"change_message_id":"328d09e96ea93295fa49c186af5f8e014da893a4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Goutham Pacha Ravi \u003cgouthampravi@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-01-31 23:46:31 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow configuring availability_zones in share types"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Introduce \u0027availability_zones\u0027 as a new common share type"},{"line_number":10,"context_line":"  extra spec that is tenant visible when configured."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9fdfeff1_e098791c","line":7,"updated":"2019-02-05 15:33:16.000000000","message":"Thanks for describing what you did in the commit. Could you also add some sentences *why* you did it and why this is useful?","commit_id":"8fff60059c056688eef96a9934f7b133a464764c"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"ea6606da55871a12344fc1a9fbc1b678d52491e7","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"- Also fix old unit tests by using a helper method to"},{"line_number":41,"context_line":"  generate appropriate mock values."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"DocImpact"},{"line_number":44,"context_line":"Change-Id: Idf274cd73e3b1b33f49668fca768ae676ca30164"},{"line_number":45,"context_line":"Implements: bp share-type-supported-azs"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9fdfeff1_32513737","line":42,"updated":"2019-02-18 19:00:32.000000000","message":"shouldn\u0027t this have \"APIImpact\" flag?","commit_id":"4249e94c6bb7f5efb1a2095c925398277046936d"}],"manila/api/openstack/rest_api_version_history.rst":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"b2e8aa38db32f3b8922bd3cb62504cf92137485a","unresolved":false,"context_lines":[{"line_number":268,"context_line":"----"},{"line_number":269,"context_line":"  Administrators can now use the common, tenant-visible extra-spec"},{"line_number":270,"context_line":"  \u0027availability_zones\u0027 within share types to allow provisioning of shares"},{"line_number":271,"context_line":"  only within specific availability zones. The extra-spec allows using"},{"line_number":272,"context_line":"  comma separated names of one or more availability zones."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9fdfeff1_61012b06","line":272,"range":{"start_line":271,"start_character":43,"end_line":272,"end_character":56},"updated":"2019-01-31 22:43:55.000000000","message":"How about: In this extra spec availability zones are indicated by a comma separated list of one or more of their names.","commit_id":"4dc33c497c3cc8c7e078372866727acde66bfa40"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f1e130faf15e8ba19ad7309ccee343b0ffbe3bfe","unresolved":false,"context_lines":[{"line_number":268,"context_line":"----"},{"line_number":269,"context_line":"  Administrators can now use the common, tenant-visible extra-spec"},{"line_number":270,"context_line":"  \u0027availability_zones\u0027 within share types to allow provisioning of shares"},{"line_number":271,"context_line":"  only within specific availability zones. The extra-spec allows using"},{"line_number":272,"context_line":"  comma separated names of one or more availability zones."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9fdfeff1_b7a3d1ff","line":272,"range":{"start_line":271,"start_character":43,"end_line":272,"end_character":56},"in_reply_to":"9fdfeff1_61012b06","updated":"2019-01-31 23:43:44.000000000","message":"makes sense","commit_id":"4dc33c497c3cc8c7e078372866727acde66bfa40"},{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"change_message_id":"328d09e96ea93295fa49c186af5f8e014da893a4","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"2.48"},{"line_number":268,"context_line":"----"},{"line_number":269,"context_line":"  Administrators can now use the common, tenant-visible extra-spec"},{"line_number":270,"context_line":"  \u0027availability_zones\u0027 within share types to allow provisioning of shares"},{"line_number":271,"context_line":"  only within specific availability zones. In this extra spec, availability"},{"line_number":272,"context_line":"  zones are indicated by a comma separated string of one or more of their"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9fdfeff1_208e81d0","line":269,"updated":"2019-02-05 15:33:16.000000000","message":"I would use project, not tenant. but not sure what we use in Manila usually. is it still tenant?","commit_id":"8fff60059c056688eef96a9934f7b133a464764c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c573c59cadd8e77553dca54cfb30b6badd9cd84a","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"2.48"},{"line_number":268,"context_line":"----"},{"line_number":269,"context_line":"  Administrators can now use the common, tenant-visible extra-spec"},{"line_number":270,"context_line":"  \u0027availability_zones\u0027 within share types to allow provisioning of shares"},{"line_number":271,"context_line":"  only within specific availability zones. In this extra spec, availability"},{"line_number":272,"context_line":"  zones are indicated by a comma separated string of one or more of their"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9fdfeff1_bfd82c7f","line":269,"in_reply_to":"9fdfeff1_208e81d0","updated":"2019-02-06 23:26:23.000000000","message":"By tenant, I meant user really, changed","commit_id":"8fff60059c056688eef96a9934f7b133a464764c"}],"manila/api/v1/shares.py":[{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"ea6606da55871a12344fc1a9fbc1b678d52491e7","unresolved":false,"context_lines":[{"line_number":380,"context_line":"            type_azs \u003d type_chosen.get("},{"line_number":381,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027availability_zones\u0027, \u0027\u0027)"},{"line_number":382,"context_line":"            type_azs \u003d type_azs.split(\u0027,\u0027) if type_azs else []"},{"line_number":383,"context_line":"            kwargs[\u0027availability_zones\u0027] \u003d type_azs"},{"line_number":384,"context_line":"            if (availability_zone and type_azs and"},{"line_number":385,"context_line":"                    availability_zone not in type_azs):"},{"line_number":386,"context_line":"                msg \u003d _(\"Share type %(type)s is not supported within the \""}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_6376ea0f","line":383,"range":{"start_line":383,"start_character":12,"end_line":383,"end_character":51},"updated":"2019-02-18 19:00:32.000000000","message":"you could move this to after the if below, as it is easier to understand what this statement is for","commit_id":"4249e94c6bb7f5efb1a2095c925398277046936d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8420961d25d32401fc220f7392b352b7abe6a60","unresolved":false,"context_lines":[{"line_number":380,"context_line":"            type_azs \u003d type_chosen.get("},{"line_number":381,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027availability_zones\u0027, \u0027\u0027)"},{"line_number":382,"context_line":"            type_azs \u003d type_azs.split(\u0027,\u0027) if type_azs else []"},{"line_number":383,"context_line":"            kwargs[\u0027availability_zones\u0027] \u003d type_azs"},{"line_number":384,"context_line":"            if (availability_zone and type_azs and"},{"line_number":385,"context_line":"                    availability_zone not in type_azs):"},{"line_number":386,"context_line":"                msg \u003d _(\"Share type %(type)s is not supported within the \""}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_3ea1d547","line":383,"range":{"start_line":383,"start_character":12,"end_line":383,"end_character":51},"in_reply_to":"9fdfeff1_6376ea0f","updated":"2019-02-18 19:06:59.000000000","message":"The \u0027if\u0027 block is long and raises an exception though, wouldn\u0027t it be easier to read right here","commit_id":"4249e94c6bb7f5efb1a2095c925398277046936d"}],"manila/api/v2/share_types.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"b2e8aa38db32f3b8922bd3cb62504cf92137485a","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                    \"microversion. Use 2.43 or greater microversion to \""},{"line_number":136,"context_line":"                    \"be able to use filter search by \u0027extra_specs.\")"},{"line_number":137,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":138,"context_line":"        elif extra_specs:"},{"line_number":139,"context_line":"            extra_specs \u003d ast.literal_eval(extra_specs)"},{"line_number":140,"context_line":"            filters[\u0027extra_specs\u0027] \u003d share_types.sanitize_extra_specs("},{"line_number":141,"context_line":"                extra_specs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_1c7c4281","line":138,"range":{"start_line":138,"start_character":1,"end_line":138,"end_character":25},"updated":"2019-01-31 22:43:55.000000000","message":"since you raised in the if clause this doesn\u0027t need any \"else\" to it - can just be \u0027if extra_specs\u0027 at the same indentation.","commit_id":"4dc33c497c3cc8c7e078372866727acde66bfa40"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f1e130faf15e8ba19ad7309ccee343b0ffbe3bfe","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                    \"microversion. Use 2.43 or greater microversion to \""},{"line_number":136,"context_line":"                    \"be able to use filter search by \u0027extra_specs.\")"},{"line_number":137,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":138,"context_line":"        elif extra_specs:"},{"line_number":139,"context_line":"            extra_specs \u003d ast.literal_eval(extra_specs)"},{"line_number":140,"context_line":"            filters[\u0027extra_specs\u0027] \u003d share_types.sanitize_extra_specs("},{"line_number":141,"context_line":"                extra_specs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_776c89cd","line":138,"range":{"start_line":138,"start_character":1,"end_line":138,"end_character":25},"in_reply_to":"9fdfeff1_1c7c4281","updated":"2019-01-31 23:43:44.000000000","message":"true","commit_id":"4dc33c497c3cc8c7e078372866727acde66bfa40"}],"manila/api/v2/shares.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ea1e0ddff4d44c58e36653afdedfcdb770dd2a81","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                            check_availability_zones_extra_spec\u003dTrue)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @wsgi.Controller.api_version(\"2.31\", \"2.47\")  # noqa"},{"line_number":188,"context_line":"    def create(self, req, body):"},{"line_number":189,"context_line":"        return self._create("},{"line_number":190,"context_line":"            req, body, check_create_share_from_snapshot_support\u003dTrue)"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_503d068c","line":188,"updated":"2019-02-13 13:03:08.000000000","message":"def create(self, req, body):  # pylint: disable\u003dE0102","commit_id":"a7826a86e98f3884db6975e846dbdc5f33f103ae"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79d4c977d403f26d822197e67ce40d377eb66438","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                            check_availability_zones_extra_spec\u003dTrue)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @wsgi.Controller.api_version(\"2.31\", \"2.47\")  # noqa"},{"line_number":188,"context_line":"    def create(self, req, body):"},{"line_number":189,"context_line":"        return self._create("},{"line_number":190,"context_line":"            req, body, check_create_share_from_snapshot_support\u003dTrue)"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_49855c06","line":188,"in_reply_to":"9fdfeff1_503d068c","updated":"2019-02-13 17:40:09.000000000","message":"Thanks Tom, done.","commit_id":"a7826a86e98f3884db6975e846dbdc5f33f103ae"}],"releasenotes/notes/bp-share-type-supported-azs-2e12ed406f181b3b.yaml":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"b2e8aa38db32f3b8922bd3cb62504cf92137485a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    A new common tenant-visible extra-spec called \"availability_zones\" has"},{"line_number":5,"context_line":"    been introduced. When using API version 2.48, user requests to create new"},{"line_number":6,"context_line":"    shares in a specific availability zone will be validated against the"},{"line_number":7,"context_line":"    configured availability zones of the share type. Similarly, users requests"},{"line_number":8,"context_line":"    to create share groups and share replicas are validated against the share"},{"line_number":9,"context_line":"    type ``availability_zones`` extra-spec when present. Users can also"},{"line_number":10,"context_line":"    filter share types by one or more AZs that are supported by them."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fdfeff1_e1b99b78","line":7,"range":{"start_line":7,"start_character":64,"end_line":7,"end_character":70},"updated":"2019-01-31 22:43:55.000000000","message":"nit: users\u0027","commit_id":"4dc33c497c3cc8c7e078372866727acde66bfa40"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f1e130faf15e8ba19ad7309ccee343b0ffbe3bfe","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    A new common tenant-visible extra-spec called \"availability_zones\" has"},{"line_number":5,"context_line":"    been introduced. When using API version 2.48, user requests to create new"},{"line_number":6,"context_line":"    shares in a specific availability zone will be validated against the"},{"line_number":7,"context_line":"    configured availability zones of the share type. Similarly, users requests"},{"line_number":8,"context_line":"    to create share groups and share replicas are validated against the share"},{"line_number":9,"context_line":"    type ``availability_zones`` extra-spec when present. Users can also"},{"line_number":10,"context_line":"    filter share types by one or more AZs that are supported by them."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fdfeff1_9767ade9","line":7,"range":{"start_line":7,"start_character":64,"end_line":7,"end_character":70},"in_reply_to":"9fdfeff1_e1b99b78","updated":"2019-01-31 23:43:44.000000000","message":"thanks, will change","commit_id":"4dc33c497c3cc8c7e078372866727acde66bfa40"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"b2e8aa38db32f3b8922bd3cb62504cf92137485a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    configured availability zones of the share type. Similarly, users requests"},{"line_number":8,"context_line":"    to create share groups and share replicas are validated against the share"},{"line_number":9,"context_line":"    type ``availability_zones`` extra-spec when present. Users can also"},{"line_number":10,"context_line":"    filter share types by one or more AZs that are supported by them."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fdfeff1_2169e3f7","line":10,"range":{"start_line":10,"start_character":51,"end_line":10,"end_character":68},"updated":"2019-01-31 22:43:55.000000000","message":"\"configured for them\" ?  That\u0027s the language you use at line .","commit_id":"4dc33c497c3cc8c7e078372866727acde66bfa40"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f1e130faf15e8ba19ad7309ccee343b0ffbe3bfe","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    configured availability zones of the share type. Similarly, users requests"},{"line_number":8,"context_line":"    to create share groups and share replicas are validated against the share"},{"line_number":9,"context_line":"    type ``availability_zones`` extra-spec when present. Users can also"},{"line_number":10,"context_line":"    filter share types by one or more AZs that are supported by them."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fdfeff1_f79dd9bb","line":10,"range":{"start_line":10,"start_character":51,"end_line":10,"end_character":68},"in_reply_to":"9fdfeff1_2169e3f7","updated":"2019-01-31 23:43:44.000000000","message":"yep, makes sense","commit_id":"4dc33c497c3cc8c7e078372866727acde66bfa40"}]}
