)]}'
{"manila/api/microversions.py":[{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"change_message_id":"c1cb0958abffa4cd58b018969ca7e63f366c35c8","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# Add new constants here for each new microversion."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"NO_MICROVERSIONS \u003d \u00271.0\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"MICROVERSIONS_BASE \u003d \u00272.0\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_1d887ec4","line":36,"updated":"2017-10-10 10:07:45.000000000","message":"Isn\u0027t this a typical usecase for an enum?","commit_id":"78e4d0100a42c71d35de305c8c30729d071adac8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# Add new constants here for each new microversion."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"NO_MICROVERSIONS \u003d \u00271.0\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"MICROVERSIONS_BASE \u003d \u00272.0\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_66afd194","line":36,"in_reply_to":"5f4e5783_1d887ec4","updated":"2017-10-10 18:56:43.000000000","message":"Maybe, but so far as I can see it makes the syntax messier.  If I do:\n\n  class MV(Enum):\n      NO_MICROVERSIONS \u003d \u00271.0\u0027\n      MICROVERSIONS_BASE \u003d \u00272.0\u0027\n      ....\n\nthen I have to write MV.NO_MICROVERSIONS.value to get the \u00271.0\u0027.\n\nI could well be overlooking something here instead of just \u0027mv.NO_MICROVERSIONS\u0027 as I\u0027m currently doing, without so far as I can see any real gain.\n\nI may well be missing something ....","commit_id":"78e4d0100a42c71d35de305c8c30729d071adac8"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b0ea22eba6ca4e4eb877e45f8b52cde17aa6a4e7","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    return major, minor"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"def microversion_less_than(first, second):"},{"line_number":140,"context_line":"    \"\"\"True exactly if the first microversion is less than the second."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    Useful for testing boundary conditions."},{"line_number":143,"context_line":"    \"\"\""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    first_major, first_minor \u003d microversion_parts(first)"},{"line_number":146,"context_line":"    second_major, second_minor \u003d microversion_parts(second)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    if int(first_major) \u003e int(second_major):"},{"line_number":149,"context_line":"        return False"},{"line_number":150,"context_line":"    if int(first_major) \u003c int(second_major):"},{"line_number":151,"context_line":"        return True"},{"line_number":152,"context_line":"    return int(first_minor) \u003c int(second_minor)"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"def get_prior_version(version):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f4e5783_333d14c4","line":152,"range":{"start_line":139,"start_character":0,"end_line":152,"end_character":47},"updated":"2017-10-16 03:33:37.000000000","message":"Why don\u0027t we just use the common way to compare those microversions.  \nIt will be easy to change the rule of the microversion when we use common way in all manila code.\nif api_version.APIVersionRequest(first) \u003c api_version.APIVersionRequest(second)\n   return true","commit_id":"c5feca0f6efee046d3614ae98ec4123cd80913c1"}],"manila/api/v2/messages.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"057831ff5fbc2b8a1a3ac2c92e6d37fe5086eb91","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from manila import exception"},{"line_number":29,"context_line":"from manila.message import api as message_api"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"MESSAGES_BASE_MICRO_VERSION \u003d mv.MESSAGES_BASE_MICRO_VERSION"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class MessagesController(wsgi.Controller):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_13662eef","line":31,"range":{"start_line":31,"start_character":30,"end_line":31,"end_character":60},"updated":"2017-10-10 11:37:21.000000000","message":"How about use mv.MESSAGES_BASE_MICRO_VERSION instead of MESSAGES_BASE_MICRO_VERSION? Because mv.MESSAGES_BASE_MICRO_VERSION already is a macro, we could not need another MESSAGES_BASE_MICRO_VERSION again.","commit_id":"78e4d0100a42c71d35de305c8c30729d071adac8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from manila import exception"},{"line_number":29,"context_line":"from manila.message import api as message_api"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"MESSAGES_BASE_MICRO_VERSION \u003d mv.MESSAGES_BASE_MICRO_VERSION"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class MessagesController(wsgi.Controller):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_c605657c","line":31,"range":{"start_line":31,"start_character":30,"end_line":31,"end_character":60},"in_reply_to":"5f4e5783_13662eef","updated":"2017-10-10 18:56:43.000000000","message":"Done","commit_id":"78e4d0100a42c71d35de305c8c30729d071adac8"}],"manila/api/v2/quota_sets.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"057831ff5fbc2b8a1a3ac2c92e6d37fe5086eb91","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        share_type \u003d params.get(\u0027share_type\u0027, [None])[0]"},{"line_number":81,"context_line":"        if share_type:"},{"line_number":82,"context_line":"            msg \u003d _(\"\u0027share_type\u0027 key is not supported by this microversion. \""},{"line_number":83,"context_line":"                    \"Use SHARE_TYPE_QUOTAS_BASE_MICROVERSION or greater to be\""},{"line_number":84,"context_line":"                    \"able to use \u0027share_type\u0027 quotas.\")"},{"line_number":85,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_d38d367c","line":83,"range":{"start_line":83,"start_character":25,"end_line":83,"end_character":60},"updated":"2017-10-10 11:37:21.000000000","message":"Is it more clear for user if we directly send \u00272.39\u0027 to user? The user can not known what the real SHARE_TYPE_QUOTAS_BASE_MICROVERSION is it.\n\n such as: \n\nmsg \u003d _(\"\u0027share_type\u0027 key is not supported by this microversion. \"\n                    \"Use %s or greater to be\", SHARE_TYPE_QUOTAS_BASE_MICROVERSION )","commit_id":"78e4d0100a42c71d35de305c8c30729d071adac8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        share_type \u003d params.get(\u0027share_type\u0027, [None])[0]"},{"line_number":81,"context_line":"        if share_type:"},{"line_number":82,"context_line":"            msg \u003d _(\"\u0027share_type\u0027 key is not supported by this microversion. \""},{"line_number":83,"context_line":"                    \"Use SHARE_TYPE_QUOTAS_BASE_MICROVERSION or greater to be\""},{"line_number":84,"context_line":"                    \"able to use \u0027share_type\u0027 quotas.\")"},{"line_number":85,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_6687d1d9","line":83,"range":{"start_line":83,"start_character":25,"end_line":83,"end_character":60},"in_reply_to":"5f4e5783_d38d367c","updated":"2017-10-10 18:56:43.000000000","message":"Agree.","commit_id":"78e4d0100a42c71d35de305c8c30729d071adac8"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"057831ff5fbc2b8a1a3ac2c92e6d37fe5086eb91","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        for key in (\u0027share_groups\u0027, \u0027share_group_snapshots\u0027):"},{"line_number":91,"context_line":"            if body.get(key):"},{"line_number":92,"context_line":"                msg \u003d _(\"\u0027%(key)s\u0027 key is not supported by this microversion. \""},{"line_number":93,"context_line":"                        \"Use GROUP_QUOTAS_BASE_MICROVERSION or greater to be\""},{"line_number":94,"context_line":"                        \"able to use \u0027%(key)s\u0027 quotas.\") % {\"key\": key}"},{"line_number":95,"context_line":"                raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_93ed7e27","line":93,"range":{"start_line":93,"start_character":29,"end_line":93,"end_character":59},"updated":"2017-10-10 11:37:21.000000000","message":"above","commit_id":"78e4d0100a42c71d35de305c8c30729d071adac8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        for key in (\u0027share_groups\u0027, \u0027share_group_snapshots\u0027):"},{"line_number":91,"context_line":"            if body.get(key):"},{"line_number":92,"context_line":"                msg \u003d _(\"\u0027%(key)s\u0027 key is not supported by this microversion. \""},{"line_number":93,"context_line":"                        \"Use GROUP_QUOTAS_BASE_MICROVERSION or greater to be\""},{"line_number":94,"context_line":"                        \"able to use \u0027%(key)s\u0027 quotas.\") % {\"key\": key}"},{"line_number":95,"context_line":"                raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_466cd535","line":93,"range":{"start_line":93,"start_character":29,"end_line":93,"end_character":59},"in_reply_to":"5f4e5783_93ed7e27","updated":"2017-10-10 18:56:43.000000000","message":"Agree.","commit_id":"78e4d0100a42c71d35de305c8c30729d071adac8"}],"manila/tests/api/v2/test_share_instances.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"7af0b4bff8ad75c478aae6ff6d0f86941888bbee","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    def _reset_status(self, ctxt, model, req, db_access_method,"},{"line_number":251,"context_line":"                      valid_code, valid_status\u003dNone, body\u003dNone,"},{"line_number":252,"context_line":"                      version\u003dmv.FIX_EXTENSION_LIKE_URLS_BASE_MICROVERSION):"},{"line_number":253,"context_line":"        if (float(version) \u003e float("},{"line_number":254,"context_line":"                mv.SHARE_API_SHARE_TYPE_UUID_BASE_MICROVERSION)):"},{"line_number":255,"context_line":"            action_name \u003d \u0027reset_status\u0027"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            action_name \u003d \u0027os-reset_status\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f4e5783_ecd6ff4f","line":254,"range":{"start_line":253,"start_character":0,"end_line":254,"end_character":65},"updated":"2017-10-10 20:07:24.000000000","message":"Converting these strings to floats and comparing them isn\u0027t valid in general, though it\u0027s in the original prior to this patch.\n\nFor example microversion 2.23 is greater than microversion 2.6 but floating point 2.23 is not greater than floating point 2.6.\n\nMarking WIP while we think a bit more about how to represent microversions and their order relations.","commit_id":"5f43eeeeae8520b5f3fca336ff65aa8986a58d87"}],"manila_tempest_tests/tests/api/admin/test_quotas_negative.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    @ddt.data(11, -1)"},{"line_number":355,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":356,"context_line":"    @base.skip_if_microversion_lt("},{"line_number":357,"context_line":"        mv.SHARE_API_SHARE_TYPE_UUID_BASE_MICROVERSION)"},{"line_number":358,"context_line":"    def test_update_share_type_quotas_bigger_than_project_quota(self, st_q):"},{"line_number":359,"context_line":"        client \u003d self.get_client_with_isolated_creds(client_version\u003d\u00272\u0027)"},{"line_number":360,"context_line":"        share_type \u003d self._create_share_type()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_044a6b26","line":357,"range":{"start_line":356,"start_character":0,"end_line":357,"end_character":55},"updated":"2017-10-10 18:56:43.000000000","message":"Should be mv.SHARE_TYPE_QUOTAS_BASE_MICROVERSON","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"}],"manila_tempest_tests/tests/api/admin/test_share_types.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        # Verify share info"},{"line_number":142,"context_line":"        get \u003d self.shares_v2_client.get_share("},{"line_number":143,"context_line":"            share[\"id\"],"},{"line_number":144,"context_line":"            version\u003dmv.SHARE_API_SHARE_TYPE_UUID_BASE_MICROVERSION)"},{"line_number":145,"context_line":"        self.assertEqual(share_name, get[\"name\"])"},{"line_number":146,"context_line":"        self.assertEqual(share[\"id\"], get[\"id\"])"},{"line_number":147,"context_line":"        self.assertEqual(shr_type_name, get[\"share_type\"])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_c44e93c0","line":144,"range":{"start_line":144,"start_character":20,"end_line":144,"end_character":67},"updated":"2017-10-10 18:56:43.000000000","message":"should be SHARE_MIGRATION_ADMIN_API_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"}],"manila_tempest_tests/tests/api/test_availability_zones.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self._list_availability_zones_assertions(azs)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API)"},{"line_number":40,"context_line":"    @base.skip_if_microversion_not_supported(mv.LIKE_FILTERS_BASE_MICROVERSION)"},{"line_number":41,"context_line":"    def test_list_availability_zones_legacy_url_api_v2(self):"},{"line_number":42,"context_line":"        # NOTE(vponomaryov): remove this test with removal of availability zone"},{"line_number":43,"context_line":"        # extension url support."}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_e4206fb3","line":40,"range":{"start_line":40,"start_character":48,"end_line":40,"end_character":78},"updated":"2017-10-10 18:56:43.000000000","message":"should be SHARE_API_SHARE_TYPE_UUID_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        # extension url support."},{"line_number":44,"context_line":"        azs \u003d self.shares_v2_client.list_availability_zones("},{"line_number":45,"context_line":"            url\u003d\u0027os-availability-zone\u0027,"},{"line_number":46,"context_line":"            version\u003dmv.LIKE_FILTERS_BASE_MICROVERSION)"},{"line_number":47,"context_line":"        self._list_availability_zones_assertions(azs)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_641ebf71","line":46,"range":{"start_line":46,"start_character":20,"end_line":46,"end_character":54},"updated":"2017-10-10 18:56:43.000000000","message":"should be SHARE_API_SHARE_TYPE_UUID_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"}],"manila_tempest_tests/tests/api/test_availability_zones_negative.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            lib_exc.NotFound,"},{"line_number":42,"context_line":"            self.shares_v2_client.list_availability_zones,"},{"line_number":43,"context_line":"            url\u003d\u0027availability-zones\u0027,"},{"line_number":44,"context_line":"            version\u003dmv.SHARE_INSTANCE_CAST_RULES_BASE_MICROVERSION,"},{"line_number":45,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_8783fd56","line":44,"range":{"start_line":44,"start_character":23,"end_line":44,"end_character":66},"updated":"2017-10-10 18:56:43.000000000","message":"should be SHARE_API_SHARE_TYPE_UUID_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"}],"manila_tempest_tests/tests/api/test_rules.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                           mv.EXPORT_LOCATIONS_API_BASE_MICROVERSION,"},{"line_number":163,"context_line":"                           mv.MESSAGES_BASE_MICRO_VERSION,"},{"line_number":164,"context_line":"                           LATEST_MICROVERSION}, {4}),"},{"line_number":165,"context_line":"        itertools.product({mv.FILTER_BY_EXPORT_LOCATION_BASE_MICROVERSION,"},{"line_number":166,"context_line":"                           LATEST_MICROVERSION}, {6})"},{"line_number":167,"context_line":"    ))"},{"line_number":168,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_c7efb5e7","line":165,"range":{"start_line":165,"start_character":30,"end_line":165,"end_character":74},"updated":"2017-10-10 18:56:43.000000000","message":"should be IPV6_ACCESS_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        \"nfs\" not in CONF.share.enable_ro_access_level_for_protocols,"},{"line_number":222,"context_line":"        \"RO access rule tests are disabled for NFS protocol.\")"},{"line_number":223,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":224,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":225,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":226,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":227,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_0794ad43","line":224,"range":{"start_line":224,"start_character":17,"end_line":224,"end_character":42},"updated":"2017-10-10 18:56:43.000000000","message":"should be EXPORT_LOCATIONS_API_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":238,"context_line":"        \"cifs\" not in CONF.share.enable_ro_access_level_for_protocols,"},{"line_number":239,"context_line":"        \"RO access rule tests are disabled for CIFS protocol.\")"},{"line_number":240,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":241,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":242,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":243,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":244,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_a79a796b","line":241,"range":{"start_line":241,"start_character":23,"end_line":241,"end_character":42},"updated":"2017-10-10 18:56:43.000000000","message":"ditto","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)"},{"line_number":266,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":267,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":268,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":269,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":270,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_678ec12f","line":267,"range":{"start_line":267,"start_character":23,"end_line":267,"end_character":42},"updated":"2017-10-10 18:56:43.000000000","message":"ditto","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        \"nfs\" not in CONF.share.enable_ro_access_level_for_protocols,"},{"line_number":321,"context_line":"        \"RO access rule tests are disabled for NFS protocol.\")"},{"line_number":322,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":323,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":324,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":325,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":326,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_e779912f","line":323,"range":{"start_line":323,"start_character":23,"end_line":323,"end_character":42},"updated":"2017-10-10 18:56:43.000000000","message":"ditto","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        \"cifs\" not in CONF.share.enable_ro_access_level_for_protocols,"},{"line_number":338,"context_line":"        \"RO access rule tests are disabled for CIFS protocol.\")"},{"line_number":339,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":340,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":341,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":342,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":343,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_47986569","line":340,"range":{"start_line":340,"start_character":23,"end_line":340,"end_character":42},"updated":"2017-10-10 18:56:43.000000000","message":"ditto","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":365,"context_line":""},{"line_number":366,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)"},{"line_number":367,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":368,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":369,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":370,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":371,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_87b77dd9","line":368,"range":{"start_line":368,"start_character":23,"end_line":368,"end_character":42},"updated":"2017-10-10 18:56:43.000000000","message":"ditto","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":387,"context_line":"        # rules must start out in \u0027new\u0027 until 2.28 \u0026 \u0027queued_to_apply\u0027 after"},{"line_number":388,"context_line":"        if utils.is_microversion_le("},{"line_number":389,"context_line":"                version,"},{"line_number":390,"context_line":"                mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION):"},{"line_number":391,"context_line":"            self.assertEqual(\"new\", rule[\u0027state\u0027])"},{"line_number":392,"context_line":"        else:"},{"line_number":393,"context_line":"            self.assertEqual(\"queued_to_apply\", rule[\u0027state\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_a7d6f9f0","line":390,"range":{"start_line":390,"start_character":19,"end_line":390,"end_character":68},"updated":"2017-10-10 18:56:43.000000000","message":"should be SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":421,"context_line":"        \"glusterfs\" not in CONF.share.enable_ro_access_level_for_protocols,"},{"line_number":422,"context_line":"        \"RO access rule tests are disabled for GLUSTERFS protocol.\")"},{"line_number":423,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":424,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":425,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":426,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":427,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_872adde4","line":424,"range":{"start_line":424,"start_character":23,"end_line":424,"end_character":42},"updated":"2017-10-10 18:56:43.000000000","message":"EXPORT_LOCATIONS_API_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":553,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":554,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":555,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":556,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":557,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_a2d26733","line":554,"range":{"start_line":554,"start_character":23,"end_line":554,"end_character":41},"updated":"2017-10-10 18:56:43.000000000","message":"EXPORT_LOCATIONS_API_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        # verify added rule keys since 2.33 when create rule"},{"line_number":578,"context_line":"        if utils.is_microversion_ge(version,"},{"line_number":579,"context_line":"                                    mv.SHARE_TYPE_QUOTAS_BASE_MICROVERSION):"},{"line_number":580,"context_line":"            self.assertIn(\u0027created_at\u0027, list(rule.keys()))"},{"line_number":581,"context_line":"            self.assertIn(\u0027updated_at\u0027, list(rule.keys()))"},{"line_number":582,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_c7e335a4","line":579,"range":{"start_line":579,"start_character":39,"end_line":579,"end_character":74},"updated":"2017-10-10 18:56:43.000000000","message":"ACCESS_LIST_CREATED_UPDATED_AT_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":657,"context_line":"    @ddt.data(*set([mv.NO_MICROVERSIONS,"},{"line_number":658,"context_line":"                    mv.MICROVERSIONS_BASE,"},{"line_number":659,"context_line":"                    mv.SHARE_REVERT_TO_SNAPSHOT_BASE_MICROVERSION,"},{"line_number":660,"context_line":"                    mv.ACCESS_RULE_TRANSITIONAL_STATES_BASE_MICROVERSION,"},{"line_number":661,"context_line":"                    LATEST_MICROVERSION]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_67c241ec","line":658,"range":{"start_line":658,"start_character":23,"end_line":658,"end_character":41},"updated":"2017-10-10 18:56:43.000000000","message":"EXPORT_LOCATIONS_API_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"025f1e49101baa0986190b772dba517a5ae72d8e","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    @ddt.data(*itertools.chain("},{"line_number":164,"context_line":"        itertools.product({mv.NO_MICROVERSIONS,"},{"line_number":165,"context_line":"                           mv.EXPORT_LOCATIONS_API_BASE_MICROVERSION,"},{"line_number":166,"context_line":"                           mv.MESSAGES_BASE_MICRO_VERSION,"},{"line_number":167,"context_line":"                           LATEST_MICROVERSION}, {4}),"},{"line_number":168,"context_line":"        itertools.product({mv.IPV6_ACCESS_BASE_MICROVERSION,"},{"line_number":169,"context_line":"                           LATEST_MICROVERSION}, {6})"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f4e5783_13db387c","line":166,"range":{"start_line":166,"start_character":27,"end_line":166,"end_character":57},"updated":"2017-10-16 03:48:43.000000000","message":"s/ mv.MESSAGES_BASE_MICRO_VERSION/ get_prior_version(mv.IPV6_ACCESS_BASE_MICROVERSION) ?","commit_id":"c5feca0f6efee046d3614ae98ec4123cd80913c1"}],"manila_tempest_tests/tests/api/test_share_groups.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            msg)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @base.skip_if_microversion_lt("},{"line_number":171,"context_line":"        mv.CREATED_UPDATED_AT_IN_ACCESS_LIST_BASE_MICROVERSION)"},{"line_number":172,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":173,"context_line":"    @ddt.data("},{"line_number":174,"context_line":"        \u0027sg\u0027, \u0027sg_and_share\u0027, \u0027none\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_62ffcf67","line":171,"range":{"start_line":171,"start_character":11,"end_line":171,"end_character":62},"updated":"2017-10-10 18:56:43.000000000","message":"SHARE_GROUP_MORE_FIELDS_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        azs \u003d self.shares_v2_client.list_availability_zones()"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        sg_kwargs \u003d {"},{"line_number":182,"context_line":"            \u0027version\u0027: mv.CREATED_UPDATED_AT_IN_ACCESS_LIST_BASE_MICROVERSION,"},{"line_number":183,"context_line":"            \u0027cleanup_in_class\u0027: False,"},{"line_number":184,"context_line":"        }"},{"line_number":185,"context_line":"        if where_specify_az in (\u0027sg\u0027, \u0027sg_and_share\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_4204d37b","line":182,"range":{"start_line":182,"start_character":26,"end_line":182,"end_character":77},"updated":"2017-10-10 18:56:43.000000000","message":"ditto","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        # Get latest share group info"},{"line_number":192,"context_line":"        share_group \u003d self.shares_v2_client.get_share_group("},{"line_number":193,"context_line":"            share_group[\u0027id\u0027], mv.REMOVE_NOVA_NET_ID_BASE_MICROVERSION)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        self.assertIn(\u0027availability_zone\u0027, share_group)"},{"line_number":196,"context_line":"        if where_specify_az in (\u0027sg\u0027, \u0027sg_and_share\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_e2f29f9a","line":193,"range":{"start_line":193,"start_character":35,"end_line":193,"end_character":70},"updated":"2017-10-10 18:56:43.000000000","message":"ditto","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"}],"manila_tempest_tests/tests/api/test_shares.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self.assertTrue(detailed_elements.issubset(share_get.keys()), msg)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        if utils.is_microversion_supported("},{"line_number":80,"context_line":"                mv.MIGRATION_START_API_UPDATES_BASE_MICROVERSION):"},{"line_number":81,"context_line":"            # Get share using v 2.9 - key \u0027export_location\u0027 is expected"},{"line_number":82,"context_line":"            # to be absent"},{"line_number":83,"context_line":"            share_get \u003d self.shares_v2_client.get_share("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_02693b24","line":80,"range":{"start_line":80,"start_character":19,"end_line":80,"end_character":64},"updated":"2017-10-10 18:56:43.000000000","message":"EXPORT_LOCATIONS_API_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"}],"manila_tempest_tests/tests/api/test_shares_actions.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":262,"context_line":"    @utils.skip_if_microversion_not_supported("},{"line_number":263,"context_line":"        mv.SHARE_API_SHARE_TYPE_UUID_BASE_MICROVERSION)"},{"line_number":264,"context_line":"    def test_list_shares_with_detail_share_type_name_key(self):"},{"line_number":265,"context_line":"        self._list_shares_with_detail(mv.SHARE_CREATE_USE_AZ_BASE_MICROVERSION)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":268,"context_line":"    @utils.skip_if_microversion_not_supported("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_025c9b49","line":265,"range":{"start_line":265,"start_character":41,"end_line":265,"end_character":78},"updated":"2017-10-10 18:56:43.000000000","message":"SHARE_API_SHARE_TYPE_UUID_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        mv.ACCESS_RULES_STATUS_BASE_MICROVERSION)"},{"line_number":277,"context_line":"    def test_list_shares_with_detail_with_access_rules_status(self):"},{"line_number":278,"context_line":"        self._list_shares_with_detail("},{"line_number":279,"context_line":"            mv.ACCESS_LIST_CREATED_UPDATED_AT_BASE_MICROVERSION)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":282,"context_line":"    @utils.skip_if_microversion_not_supported("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_222437c6","line":279,"range":{"start_line":279,"start_character":15,"end_line":279,"end_character":63},"updated":"2017-10-10 18:56:43.000000000","message":"ACCESS_RULES_STATUS_BASE_MICROVERSIO","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"}],"manila_tempest_tests/tests/api/test_shares_actions_negative.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2185699c5e819887dd9b2b6cd77d35d8e91828e2","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        }"},{"line_number":165,"context_line":"        shares \u003d self.shares_v2_client.list_shares("},{"line_number":166,"context_line":"            params\u003dfilters,"},{"line_number":167,"context_line":"            version\u003dmv.OPTIONAL_SNAPSHOT_EXTRA_SPECS_BASE_MICROVERSION)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"        self.assertGreater(len(shares), 0)"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_3dd0da50","line":167,"range":{"start_line":167,"start_character":23,"end_line":167,"end_character":70},"updated":"2017-10-10 18:56:43.000000000","message":"SHARE_GROUP_MORE_FIELDS_BASE_MICROVERSION","commit_id":"fff630dba1d576bf9c1f0580836d96a73b926a23"}]}
