)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"9f0d9dc17a4c8181de7df5cd0304188e201a9375","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Consuming projects usually  don\u0027t set enforce_type\u003dTrue by default,"},{"line_number":10,"context_line":"and that will lead some invalid tests which don\u0027t honour Config options\u0027"},{"line_number":11,"context_line":"type and value limits. I would like to merge this after we fix"},{"line_number":12,"context_line":"violations in consuming projects."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1517839"},{"line_number":15,"context_line":"Change-Id: Ifa552de0a994e40388cbc9f7dbaa55700ca276b0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aa08908_f8206cf9","line":12,"range":{"start_line":12,"start_character":32,"end_line":12,"end_character":33},"updated":"2016-06-12 05:29:47.000000000","message":"This is nova invalid tests when set enforce_type\u003dTrue:\n\nhttp://logs.openstack.org/23/326223/2/check/gate-nova-python27-db/a8b88ce/testr_results.html.gz","commit_id":"3fae23c880f13d18237146e4a0a52a667eb0c5b9"}],"oslo_config/cfg.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"279bfcb10ed2351a229d587b674f430164e11062","unresolved":false,"context_lines":[{"line_number":2610,"context_line":"        self._get_group(group)"},{"line_number":2611,"context_line":""},{"line_number":2612,"context_line":"    @__clear_cache"},{"line_number":2613,"context_line":"    def set_override(self, name, override, group\u003dNone, enforce_type\u003dTrue):"},{"line_number":2614,"context_line":"        \"\"\"Override an opt value."},{"line_number":2615,"context_line":""},{"line_number":2616,"context_line":"        Override the command line, config file and default values of a"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_589f0e50","line":2613,"updated":"2017-03-31 08:51:09.000000000","message":"Since we want remove enforce_type, whatever its value we have to print the deprecation message.\n\nSo we should add @removals.removed_kwarg(\u0027enforce_type\u0027)","commit_id":"b54ca7b1e523eac7847ac0c111e75c25aaf52992"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"14542595b4a127e4f3f5af137c4279c281fb3471","unresolved":false,"context_lines":[{"line_number":2610,"context_line":"        self._get_group(group)"},{"line_number":2611,"context_line":""},{"line_number":2612,"context_line":"    @__clear_cache"},{"line_number":2613,"context_line":"    def set_override(self, name, override, group\u003dNone, enforce_type\u003dTrue):"},{"line_number":2614,"context_line":"        \"\"\"Override an opt value."},{"line_number":2615,"context_line":""},{"line_number":2616,"context_line":"        Override the command line, config file and default values of a"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_47d727c1","line":2613,"in_reply_to":"dfeb2761_589f0e50","updated":"2017-03-31 11:13:26.000000000","message":"Done","commit_id":"b54ca7b1e523eac7847ac0c111e75c25aaf52992"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"279bfcb10ed2351a229d587b674f430164e11062","unresolved":false,"context_lines":[{"line_number":2629,"context_line":"            opt_info[\u0027opt\u0027], override, enforce_type)"},{"line_number":2630,"context_line":""},{"line_number":2631,"context_line":"    @__clear_cache"},{"line_number":2632,"context_line":"    def set_default(self, name, default, group\u003dNone, enforce_type\u003dTrue):"},{"line_number":2633,"context_line":"        \"\"\"Override an opt\u0027s default value."},{"line_number":2634,"context_line":""},{"line_number":2635,"context_line":"        Override the default value of given option. A command line or"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_38ac4a8b","line":2632,"updated":"2017-03-31 08:51:09.000000000","message":"ditto","commit_id":"b54ca7b1e523eac7847ac0c111e75c25aaf52992"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"14542595b4a127e4f3f5af137c4279c281fb3471","unresolved":false,"context_lines":[{"line_number":2629,"context_line":"            opt_info[\u0027opt\u0027], override, enforce_type)"},{"line_number":2630,"context_line":""},{"line_number":2631,"context_line":"    @__clear_cache"},{"line_number":2632,"context_line":"    def set_default(self, name, default, group\u003dNone, enforce_type\u003dTrue):"},{"line_number":2633,"context_line":"        \"\"\"Override an opt\u0027s default value."},{"line_number":2634,"context_line":""},{"line_number":2635,"context_line":"        Override the default value of given option. A command line or"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_a7e95381","line":2632,"in_reply_to":"dfeb2761_38ac4a8b","updated":"2017-03-31 11:13:26.000000000","message":"Done","commit_id":"b54ca7b1e523eac7847ac0c111e75c25aaf52992"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"279bfcb10ed2351a229d587b674f430164e11062","unresolved":false,"context_lines":[{"line_number":2655,"context_line":"        except (ValueError, TypeError):"},{"line_number":2656,"context_line":"            if enforce_type:"},{"line_number":2657,"context_line":"                raise"},{"line_number":2658,"context_line":"            debtcollector.deprecate("},{"line_number":2659,"context_line":"                \"The argument enforce_type has changed its default value to \""},{"line_number":2660,"context_line":"                \"True and then will be removed completely, setting it by \""},{"line_number":2661,"context_line":"                \"False to skip the check explicitly is not recommended, \""},{"line_number":2662,"context_line":"                \"please fix the invalid %s value \u0027%s\u0027 for option \u0027%s\u0027.\""},{"line_number":2663,"context_line":"                % (repr(opt.type), value, opt.name),"},{"line_number":2664,"context_line":"                version\u003d4.0"},{"line_number":2665,"context_line":"            )"},{"line_number":2666,"context_line":"        if enforce_type:"},{"line_number":2667,"context_line":"            return converted"},{"line_number":2668,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_b8985a6a","line":2665,"range":{"start_line":2658,"start_character":0,"end_line":2665,"end_character":13},"updated":"2017-03-31 08:51:09.000000000","message":"With the usage of removals.removed_kwarg, we can remove the message here.","commit_id":"b54ca7b1e523eac7847ac0c111e75c25aaf52992"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"14542595b4a127e4f3f5af137c4279c281fb3471","unresolved":false,"context_lines":[{"line_number":2655,"context_line":"        except (ValueError, TypeError):"},{"line_number":2656,"context_line":"            if enforce_type:"},{"line_number":2657,"context_line":"                raise"},{"line_number":2658,"context_line":"            debtcollector.deprecate("},{"line_number":2659,"context_line":"                \"The argument enforce_type has changed its default value to \""},{"line_number":2660,"context_line":"                \"True and then will be removed completely, setting it by \""},{"line_number":2661,"context_line":"                \"False to skip the check explicitly is not recommended, \""},{"line_number":2662,"context_line":"                \"please fix the invalid %s value \u0027%s\u0027 for option \u0027%s\u0027.\""},{"line_number":2663,"context_line":"                % (repr(opt.type), value, opt.name),"},{"line_number":2664,"context_line":"                version\u003d4.0"},{"line_number":2665,"context_line":"            )"},{"line_number":2666,"context_line":"        if enforce_type:"},{"line_number":2667,"context_line":"            return converted"},{"line_number":2668,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_47004735","line":2665,"range":{"start_line":2658,"start_character":0,"end_line":2665,"end_character":13},"in_reply_to":"dfeb2761_b8985a6a","updated":"2017-03-31 11:13:26.000000000","message":"Done","commit_id":"b54ca7b1e523eac7847ac0c111e75c25aaf52992"}],"oslo_config/tests/test_cfg.py":[{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"2202e54cb39e56160d477b28dc7d16ef94d52141","unresolved":false,"context_lines":[{"line_number":3134,"context_line":"        self.conf.clear_default(\u0027foo\u0027)"},{"line_number":3135,"context_line":"        self.assertEqual(\u0027foo\u0027, self.conf.foo)"},{"line_number":3136,"context_line":""},{"line_number":3137,"context_line":"    def test_enfore_type_wrong_type_default(self):"},{"line_number":3138,"context_line":"        self.conf.register_opt(cfg.IntOpt(\u0027foo\u0027, default\u003d1))"},{"line_number":3139,"context_line":"        self.conf([])"},{"line_number":3140,"context_line":"        self.assertEqual(1, self.conf.foo)"}],"source_content_type":"text/x-python","patch_set":7,"id":"dfeb2761_1339f7a2","line":3137,"range":{"start_line":3137,"start_character":13,"end_line":3137,"end_character":19},"updated":"2017-04-04 16:02:56.000000000","message":"*enforce","commit_id":"a15cb1ec999e9daee396f3148a4453d5e36bc349"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"3fd50f1898c7e8bb6aeb4ec4ef99f5f7cd60e426","unresolved":false,"context_lines":[{"line_number":3134,"context_line":"        self.conf.clear_default(\u0027foo\u0027)"},{"line_number":3135,"context_line":"        self.assertEqual(\u0027foo\u0027, self.conf.foo)"},{"line_number":3136,"context_line":""},{"line_number":3137,"context_line":"    def test_enfore_type_wrong_type_default(self):"},{"line_number":3138,"context_line":"        self.conf.register_opt(cfg.IntOpt(\u0027foo\u0027, default\u003d1))"},{"line_number":3139,"context_line":"        self.conf([])"},{"line_number":3140,"context_line":"        self.assertEqual(1, self.conf.foo)"}],"source_content_type":"text/x-python","patch_set":7,"id":"dfeb2761_507bde79","line":3137,"range":{"start_line":3137,"start_character":13,"end_line":3137,"end_character":19},"in_reply_to":"dfeb2761_1339f7a2","updated":"2017-04-05 06:29:47.000000000","message":"Done","commit_id":"a15cb1ec999e9daee396f3148a4453d5e36bc349"}],"oslo_config/tests/test_generator.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"1fe17ab7eea7781096c5f2a40b4684c0dd796861","unresolved":false,"context_lines":[{"line_number":1164,"context_line":"        fake_ep \u003d FakeEP()"},{"line_number":1165,"context_line":"        self.conf \u003d cfg.ConfigOpts()"},{"line_number":1166,"context_line":"        self.conf.register_opts(generator._generator_opts)"},{"line_number":1167,"context_line":"        self.conf.set_default(\u0027namespace\u0027, [fake_ep.name])"},{"line_number":1168,"context_line":"        fake_eps \u003d mock.Mock(return_value\u003d[fake_ep])"},{"line_number":1169,"context_line":"        with mock.patch(\u0027pkg_resources.iter_entry_points\u0027, fake_eps):"},{"line_number":1170,"context_line":"            self.assertRaises(FakeException, generator.generate, self.conf)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_2292d1f7","line":1167,"range":{"start_line":1167,"start_character":43,"end_line":1167,"end_character":58},"updated":"2017-03-31 11:47:41.000000000","message":"I don\u0027t get the link between this and the change","commit_id":"b93f5c21d4bf513b38c588382837a8a4df14fea0"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"d2622fbe835b4026f7d0d6dfc860af70c3d956e4","unresolved":false,"context_lines":[{"line_number":1164,"context_line":"        fake_ep \u003d FakeEP()"},{"line_number":1165,"context_line":"        self.conf \u003d cfg.ConfigOpts()"},{"line_number":1166,"context_line":"        self.conf.register_opts(generator._generator_opts)"},{"line_number":1167,"context_line":"        self.conf.set_default(\u0027namespace\u0027, [fake_ep.name])"},{"line_number":1168,"context_line":"        fake_eps \u003d mock.Mock(return_value\u003d[fake_ep])"},{"line_number":1169,"context_line":"        with mock.patch(\u0027pkg_resources.iter_entry_points\u0027, fake_eps):"},{"line_number":1170,"context_line":"            self.assertRaises(FakeException, generator.generate, self.conf)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_3dbc3304","line":1167,"range":{"start_line":1167,"start_character":43,"end_line":1167,"end_character":58},"in_reply_to":"dfeb2761_2292d1f7","updated":"2017-03-31 12:31:09.000000000","message":"When we set enforce_type\u003d True, this will raise ValueError , namespace is MultiStrOpt see\nhttps://github.com/openstack/oslo.config/blob/master/oslo_config/generator.py#L50\n\nWill update commit message to reflect this change","commit_id":"b93f5c21d4bf513b38c588382837a8a4df14fea0"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"2202e54cb39e56160d477b28dc7d16ef94d52141","unresolved":false,"context_lines":[{"line_number":1164,"context_line":"        fake_ep \u003d FakeEP()"},{"line_number":1165,"context_line":"        self.conf \u003d cfg.ConfigOpts()"},{"line_number":1166,"context_line":"        self.conf.register_opts(generator._generator_opts)"},{"line_number":1167,"context_line":"        self.conf.set_default(\u0027namespace\u0027, [fake_ep.name])"},{"line_number":1168,"context_line":"        fake_eps \u003d mock.Mock(return_value\u003d[fake_ep])"},{"line_number":1169,"context_line":"        with mock.patch(\u0027pkg_resources.iter_entry_points\u0027, fake_eps):"},{"line_number":1170,"context_line":"            self.assertRaises(FakeException, generator.generate, self.conf)"}],"source_content_type":"text/x-python","patch_set":7,"id":"dfeb2761_1307b7cc","line":1167,"updated":"2017-04-04 16:02:56.000000000","message":"Ha!  So even we were guilty of this. :-)","commit_id":"a15cb1ec999e9daee396f3148a4453d5e36bc349"}]}
