)]}'
{"oslo_config/sources/_etcd.py":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"4024582b7224bc2b634193d342a9dd35113e961d","unresolved":true,"context_lines":[{"line_number":176,"context_line":"        if meta is None:"},{"line_number":177,"context_line":"            return (sources._NoValue, None)"},{"line_number":178,"context_line":"        loc \u003d cfg.LocationInfo(cfg.Locations.environment, key)"},{"line_number":179,"context_line":"        if opt.multi:"},{"line_number":180,"context_line":"            # TODO: handle multi"},{"line_number":181,"context_line":"            pass"},{"line_number":182,"context_line":"        return (val, loc)"}],"source_content_type":"text/x-python","patch_set":1,"id":"c19d525d_e853b044","line":181,"range":{"start_line":179,"start_character":0,"end_line":181,"end_character":16},"updated":"2021-04-06 15:51:50.000000000","message":"From the etcd storage POV we could probably do this with a set. When set encountered write multistropt.","commit_id":"c8a25a8b5cc0eebbc86dbcd9676351f303743c6f"}],"oslo_config/sources/_etcd3gw.py":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"a4fb3cede45a12aa9cfc97efb5e6da3e71230c7b","unresolved":true,"context_lines":[{"line_number":158,"context_line":"        key \u003d [group_name, option_name]"},{"line_number":159,"context_line":"        if self._base_key:"},{"line_number":160,"context_line":"            key.insert(0, self._base_key)"},{"line_number":161,"context_line":"        data \u003d self._client.get(\u0027/\u0027.join(key))"},{"line_number":162,"context_line":"        if len(data) \u003d\u003d 0:"},{"line_number":163,"context_line":"            return (sources._NoValue, None)"},{"line_number":164,"context_line":"        loc \u003d cfg.LocationInfo(cfg.Locations.environment, key)"}],"source_content_type":"text/x-python","patch_set":4,"id":"e91cdf1e_a82b90a6","line":161,"range":{"start_line":161,"start_character":15,"end_line":161,"end_character":46},"updated":"2021-04-08 20:42:53.000000000","message":"So there\u0027s a problem here when using etcd3gw in that it uses requests. Since requests uses logging, when this attempt to output a log during the initial configuration, we attempt to read DEFAULT/logging_default_format_string. It ends up in a recursive failure because oslo_log wants this value but it needs to be read from a configuration file so we loop infinitely. The workaround I figured out was to raise the log level for requests/urllib3 but that\u0027s not ideal.","commit_id":"633be1358c0fa3332c301a3977eb40dc6cb040f1"}]}
