)]}'
{"oslo_log/log.py":[{"author":{"_account_id":11650,"name":"Tom Cammann","email":"tom.cammann@hpe.com","username":"cammann"},"change_message_id":"f50ad87486c7145581f54a3c16f3331ffcf3965f","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    except (moves.configparser.Error, KeyError) as exc:"},{"line_number":219,"context_line":"        raise LogConfigError(log_config_append, six.text_type(exc))"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"def notify_oslo_config_reload(conf):"},{"line_number":223,"context_line":"    \"\"\"Services must call this after oslo.config/mutate_config_files."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    Note this is the oslo config not the logging config."}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_c5d53b1c","line":222,"range":{"start_line":221,"start_character":0,"end_line":222,"end_character":19},"updated":"2016-01-05 12:04:05.000000000","message":"Each service will have to implement a \"notify\" method and oslo configor calling service will have to know where this method is to reload its settings. Is there a more generic way we can handle this? Perhaps an oslo config decorator which would register the method to be called on reload.","commit_id":"7e87ef79a7de1f2aeccce9b771c6f035bb933d25"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"b0f312eb5d6c2fd1e8234b1eb5ebd9ee7d5b75e8","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    except (moves.configparser.Error, KeyError) as exc:"},{"line_number":219,"context_line":"        raise LogConfigError(log_config_append, six.text_type(exc))"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"def notify_oslo_config_reload(conf):"},{"line_number":223,"context_line":"    \"\"\"Services must call this after oslo.config/mutate_config_files."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    Note this is the oslo config not the logging config."}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_ffdec70f","line":222,"range":{"start_line":221,"start_character":0,"end_line":222,"end_character":19},"in_reply_to":"fa69d971_b4bcf7dc","updated":"2016-01-06 15:27:31.000000000","message":"Doug said \"Personally, I would prefer to not have callbacks embedded in oslo.config at all. The application is telling oslo.config to reload the data. The required logic to deal with that reload should all be handled in the same place, without callbacks, when the reload is successful. I thought that\u0027s what we agreed to do at the summit.\"\n\nhttps://review.openstack.org/#/c/251422/2//COMMIT_MSG","commit_id":"7e87ef79a7de1f2aeccce9b771c6f035bb933d25"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"69ab2095aaf02a3c1b4efa96df49378a069a87ec","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    except (moves.configparser.Error, KeyError) as exc:"},{"line_number":219,"context_line":"        raise LogConfigError(log_config_append, six.text_type(exc))"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"def notify_oslo_config_reload(conf):"},{"line_number":223,"context_line":"    \"\"\"Services must call this after oslo.config/mutate_config_files."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    Note this is the oslo config not the logging config."}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_b4bcf7dc","line":222,"range":{"start_line":221,"start_character":0,"end_line":222,"end_character":19},"in_reply_to":"fa69d971_c5d53b1c","updated":"2016-01-05 13:48:16.000000000","message":"Assuming you meant \"oslo config or calling service\", where the answer is the calling service - yes.\n\nUsing a decorator sounds like another way to register a callback and Doug doesn\u0027t want to do that. As-is though we\u0027d have to patch every service which includes oslo.foo when we enable mutation of the first oslo.foo option. I\u0027ll try and grab him.","commit_id":"7e87ef79a7de1f2aeccce9b771c6f035bb933d25"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2576fecac00a0505f08677d886ac6bca82a5f486","unresolved":false,"context_lines":[{"line_number":312,"context_line":"    return getattr(syslog, facility)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"def refresh_root_level(debug, verbose):"},{"line_number":316,"context_line":"    log_root \u003d getLogger(None).logger"},{"line_number":317,"context_line":"    if debug:"},{"line_number":318,"context_line":"        log_root.setLevel(logging.DEBUG)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bae84128_0cee2d8b","line":315,"updated":"2016-02-19 15:06:34.000000000","message":"This could use a docstring. It\u0027s also currently declared as a public function, do we want it to be?","commit_id":"22cd7d51785ce7ae2b8787533717b6f82e85262c"},{"author":{"_account_id":16051,"name":"Ronald Bradford","email":"ronald.bradford@gmail.com","username":"ronaldbradford"},"change_message_id":"b83b4451e64c15581b71765c6a0a074856dd68b6","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    \"\"\"Reconfigures oslo.log according to the mutated options.\"\"\""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    # verbose is deprecated, so I didn\u0027t make it mutable, so there\u0027s no need to"},{"line_number":226,"context_line":"    # test for it here."},{"line_number":227,"context_line":"    if (None, \u0027debug\u0027) in fresh:"},{"line_number":228,"context_line":"        _refresh_root_level(conf.debug, conf.verbose)"},{"line_number":229,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bae84128_e669538d","line":226,"updated":"2016-02-19 21:00:35.000000000","message":"a comment for a future review.  (because thinking ahead of this being a roadmap of other projects adoption)\n\nWe check here for groupname, optname tuples that have mutated in our configuration and apply applicable actions.\n\n\nI\u0027d consider renaming fresh, you use it because it\u0027s from oslo.config. No immediate thoughts of what is better.","commit_id":"3fc72d1ceb1fdc42f24938f914d7bbe103168e3a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"f4e0a5ef39f68f53951ce272b5697bb36a472135","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    \"\"\"Reconfigures oslo.log according to the mutated options.\"\"\""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    # verbose is deprecated, so I didn\u0027t make it mutable, so there\u0027s no need to"},{"line_number":226,"context_line":"    # test for it here."},{"line_number":227,"context_line":"    if (None, \u0027debug\u0027) in fresh:"},{"line_number":228,"context_line":"        _refresh_root_level(conf.debug, conf.verbose)"},{"line_number":229,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bae84128_7b4e3c70","line":226,"in_reply_to":"bae84128_e669538d","updated":"2016-02-22 11:14:40.000000000","message":"Yeah fresh isn\u0027t quite right any more as it contains both the old and new values. \u0027conf_diff\u0027 would be better, I\u0027ll rename if I need to resubmit.","commit_id":"3fc72d1ceb1fdc42f24938f914d7bbe103168e3a"}],"oslo_log/tests/unit/test_log.py":[{"author":{"_account_id":16051,"name":"Ronald Bradford","email":"ronald.bradford@gmail.com","username":"ronaldbradford"},"change_message_id":"b83b4451e64c15581b71765c6a0a074856dd68b6","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"        self.assertEqual(conf.debug, True)"},{"line_number":842,"context_line":"        self.assertEqual(conf.verbose, True)"},{"line_number":843,"context_line":"        self.assertEqual(log.DEBUG, log_root.getEffectiveLevel())"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"class LogConfigOptsTestCase(BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bae84128_86b4c7f2","line":843,"updated":"2016-02-19 21:00:35.000000000","message":"ideally in future I\u0027d like to see some additional testing and verification of attempt to change an immutable option, and the nil effect it has.","commit_id":"3fc72d1ceb1fdc42f24938f914d7bbe103168e3a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"f4e0a5ef39f68f53951ce272b5697bb36a472135","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"        self.assertEqual(conf.debug, True)"},{"line_number":842,"context_line":"        self.assertEqual(conf.verbose, True)"},{"line_number":843,"context_line":"        self.assertEqual(log.DEBUG, log_root.getEffectiveLevel())"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"class LogConfigOptsTestCase(BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bae84128_5bd41846","line":843,"in_reply_to":"bae84128_86b4c7f2","updated":"2016-02-22 11:14:40.000000000","message":"Ensuring immutable options don\u0027t change is tested in oslo.config. oslo.log should assume o.c has been tested and only test its use of o.c.","commit_id":"3fc72d1ceb1fdc42f24938f914d7bbe103168e3a"}]}
